extern-inline: work around bug in Sun c99
[gnulib.git] / ChangeLog
1 2013-04-28  Paul Eggert  <eggert@cs.ucla.edu>
2
3         extern-inline: work around bug in Sun c99
4         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
5         Work around bug in Sun C 5.12 c99's implementation of 'inline'.
6
7 2013-04-27  Paul Eggert  <eggert@cs.ucla.edu>
8
9         qacl: new module, broken out from the acl module
10         This is for GNU Emacs, which wants the acl functions but does
11         not want 'error' invoked when they fail.
12         * lib/acl-internal.h: Do not include error.h, quote.h.
13         (ENOSYS, ENOTSUP): Remove; no longer needed.
14         (ACL_NOT_WELL_SUPPORTED): Remove; replaced by acl_errno_valid.
15         * lib/acl.h: Include <stdbool.h>.
16         (acl_errno_valid): New function.
17         * lib/copy-acl.c, lib/set-acl.c: Include errno,h, not acl-internal.h.
18         * lib/copy-acl.c (qcopy_acl): Move to lib/qcopy-acl.c.
19         * lib/set-acl.c: Rename from lib/set-mode-acl.c.
20         (chmod_or_fchmod, qset_acl): Move to lib/qset-acl.c.
21         (ACL_INTERNAL_INLINE): Remove; no longer needed.
22         * lib/file-has-acl.c (file_has_acl):
23         * lib/qcopy-acl.c (qcopy_acl):
24         * lib/qset-acl.c (qset_acl):
25         Use acl_errno_valid instead of ACL_NOT_WELL_SUPPORTED.
26         * modules/acl (Files): Move lib/acl.h, lib/acl-internal.h,
27         lib/acl_entries.c, lib/set-mode-acl.c (renamed to lib/set-acl.c),
28         lib/file-has-acl.c, m4/acl.m4 to qacl module.
29         Add lib/set-acl.c.
30         (Depends-on): Move extern-inline, fstat, sys_stat to qacl module.
31         Add qacl.
32         (configure.ac): Move gl_FUNC_ACL to qacl module.
33         (lib_SOURCES): Remove file-has-acl.c (moved to qacl module).
34         Rename set-mode-acl.c to set-acl.c.
35         * lib/acl-errno-valid.c: New file.
36         * lib/qcopy-acl.c: New file, moved from the old lib/copy-acl.c; the
37         copy_acl function remains in copy-acl.c.
38         * lib/qcopy-acl.c, lib/qset-acl.c: Do not include gettext.h.
39         (_): Remove; not needed.
40         * lib/qset-acl.c: New file, moved from the old lib/set-mode-acl.c; the
41         set_acl function remains in set-acl.c (renamed from set-mode-acl.c).
42         * modules/qacl: New file, moved from the old modules/acl.
43         (Files, lib_SOURCES): Add acl-errno-valid.c, qcopy-acl.c, qset-acl.c.
44         Remove set-mode-acl.c, copy-acl.c.
45         (Depends-on): Remove error, gettext-h, quote.  Add stdbool.
46
47         alignof, intprops, malloca: port better to IBM's C compiler
48         * lib/alignof.h (alignof_type) [__IBM_ALIGNOF__]: Use __alignof__.
49         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__IBM_TYPEOF__]: Now 1.
50         * lib/malloca.h (sa_alignof): [__IBM_ALIGNOF__]: Use __alignof__.
51
52 2013-04-25  Daiki Ueno  <ueno@gnu.org>
53
54         wctype-h: fix gettext link error on mingw
55         Reported by Josue Andrade Gomes and Takayuki Tsunakawa in
56         <https://lists.gnu.org/archive/html/bug-gettext/2013-03/msg00086.html>.
57         * lib/wctype.in.h [__MINGW32__]: Include <ctype.h> before defining
58         rpl_towupper and rpl_towupper.
59
60 2013-04-11  Dmitry V. Levin  <ldv@altlinux.org>
61
62         regex-tests, regex: allow glibc re_search behavior
63         * tests/test-regex.c (main): In test for glibc bug 15078, reformat
64         re_search input data to make the multi-character collating element
65         in it clearly visible, and treat re_search return code 0 as valid.
66         * m4/regex.m4 (gl_REGEX): Likewise.
67
68 2013-03-30  Paul Eggert  <eggert@cs.ucla.edu>
69
70         stdalign: doc fix
71         * doc/posix-headers/stdalign.texi (stdalign.h):
72         Gnulib doesn't support '_Alignof expr'.
73
74 2013-03-29  Paul Eggert  <eggert@cs.ucla.edu>
75
76         stdalign: port to stricter ISO C11
77         ISO C11 says that _Alignof's operand must be a parenthesized type.
78         Problem reported by Eli Zaretskii in
79         <http://lists.gnu.org/archive/html/emacs-devel/2013-03/msg00960.html>.
80         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
81         * m4/stdalign.m4 (gl_STDALIGN_H): Don't use _Alignof (expr).
82
83 2013-03-21  Paul Eggert  <eggert@cs.ucla.edu>
84
85         sys_select, sys_time: port 2013-01-30 Solaris 2.6 fix to Cygwin
86         Problem reported by Marco Atzeri in
87         <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00000.html>.
88         * lib/sys_select.in.h [HAVE_SYS_SELECT_H && _CYGWIN_SYS_TIME_H]:
89         Simply delegate to the system <sys/select.h> in this case too.
90         Also, pay attention to _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H only
91         if OSF/1, since otherwise Cygwin breaks, and it doesn't seem to
92         be needed on Solaris either.
93         * lib/sys_time.in.h [_CYGWIN_SYS_TIME_H]:
94         Simply delgate to the system <sys/time.h> in this case.
95
96 2013-03-19  Karl Berry  <karl@gnu.org>
97
98         * build-aux/gnupload: check for erroneous (with gnupload) use of
99         ftp-upload.gnu.org, tweak help.
100
101 2013-03-19  Paul Eggert  <eggert@cs.ucla.edu>
102
103         copy-file, rpmatch: fix problems found by cppcheck
104         Reported by Arno Onken in
105         <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00069.html>.
106         * lib/rpmatch.c (try): Fix memory leak.
107         * lib/copy-file.c: Include "ignore-value.h".
108         (qcopy_file_preserving): Ignore chown value.
109         * modules/copy-file (Depends-on): Add ignore-value.
110
111 2013-01-27  Jim Meyering  <jim@meyering.net>
112
113         prefix-gnulib-mk: give better diagnostics
114         * build-aux/prefix-gnulib-mk: Don't just "die".
115         Give better diagnostics upon failure.
116
117 2013-03-13  Paul Eggert  <eggert@cs.ucla.edu>
118
119         putenv: port to Solaris 10
120         * lib/putenv.c (_unsetenv, putenv): Use HAVE_DECL__PUTENV, not
121         HAVE__PUTENV.  Solaris 10 has a _putenv that's not declared and
122         is not what is wanted here.
123         * m4/putenv.m4 (gl_PREREQ_PUTENV): Check for _putenv's
124         declaration, not for its existence.
125
126 2013-03-12  Paul Eggert  <eggert@cs.ucla.edu>
127
128         mktime: fix configure typo
129         * m4/mktime.m4 (gl_FUNC_MKTIME): Fix typo in previous change.
130
131 2013-03-12  Eric Blake  <eblake@redhat.com>
132
133         regex-tests: skip UTF-8 test on mingw
134         * modules/regex-tests (Depends-on): Add localcharset.
135         * tests/test-regex.c (main): Use it to skip test on mingw.
136
137 2013-03-11  Eric Blake  <eblake@redhat.com>
138
139         tests: make it easier to bypass alarm time in debugger
140         * tests/test-file-has-acl.c (main): Allow gdb to override alarm.
141         * tests/test-memmem.c (main): Likewise.
142         * tests/test-passfd.c (main): Likewise.
143         * tests/test-ptsname.c (main): Likewise.
144         * tests/test-ptsname_r.c (main): Likewise.
145         * tests/test-strcasestr.c (main): Likewise.
146         * tests/test-strstr.c (main): Likewise.
147
148         regex: port to mingw's recent addition of undeclared alarm
149         * doc/posix-functions/alarm.texi (alarm): Document that alarm
150         exists but still doesn't work in newer mingw.
151         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm declaration,
152         not existence.  Ensure SIGALRM is not trapped.
153         * m4/mktime.m4 (gl_FUNC_MKTIME): Likewise.
154         * m4/regex.m4 (gl_REGEX): Likewise.
155         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): Likewise.
156         * tests/test-regex.c (main): Use correct probe for alarm.
157
158         putenv: avoid compilation warning on mingw
159         * lib/putenv.c (_unsetenv): Protect variable declaration.
160         (putenv): Fix indentation.
161
162 2013-03-11  Gary V. Vaughan  <gary@gnu.org>
163
164         unistd: don't prevent Tru64 Unix from using gnulib strtod.
165         * lib/unistd.in.h: be careful not to include un-needed system
166         stdlib.h from here, because that prevents gnulib stdlib.h from
167         defining rpl_strtod correctly.
168
169 2013-03-09  Gary V. Vaughan  <gary@gnu.org>
170
171         vasprintf-posix-tests: allow rounding 1.51 to 1, per the previous
172         changesets, but for the 'precision 0' test.
173         * tests/test-vasprintf-posix.c (test_function): Don't insist on
174         round-to-even, since POSIX says rounding is implementation-defined
175         and OS X 10.8.2 rounds 1.51 to 1 here.
176
177         vasprintf-posix-tests: allow rounding 1.5 to 1, per the previous
178         changeset.
179         * tests/test-vasprintf-posix.c (test_function): Don't insist on
180         round-to-even, since POSIX says rounding is implementation-defined
181         and OS X 10.8.2 rounds 1.5 to 1 here.
182
183 2013-03-08  Paul Eggert  <eggert@cs.ucla.edu>
184
185         vasnprintf-posix-tests: allow rounding 1.5 to 1
186         * tests/test-vasnprintf-posix.c (test_function): Don't insist on
187         round-to-even, since POSIX says rounding is implementation-defined
188         and OS X 10.8.2 rounds 1.5 to 1 here.  Reported by Gary V. Vaughan in
189         <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00019.html>.
190
191         bootstrap: port to FreeBSD
192         * build-aux/bootstrap (bootstrap_sync): Port sh -c usage to shells
193         that treat '--' differently.  Reported by Mats Erik Andersson in
194         <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00012.html>.
195
196 2013-03-08  Gary V. Vaughan  <gary@gnu.org>
197
198         regex: rename remaining __attribute calls to __attribute__.
199         2012-02-25 changed definition of __attribute, but left some uses
200         unchanged, preventing compilation of regex module on most non-gcc
201         environments.
202         * lib/regcomp.c (re_set_fastmap, seek_collating_symbol_entry)
203         (lookup_collation_sequence_value, build_range_exp)
204         (build_collating_symbol): Set attributes with newly renamed
205         __attribute__ decorator.
206         * lib/regex_internal.c (re_string_peek_byte_case)
207         (re_node_set_compare, re_node_set_contains): Likewise.
208         * lib/regexec.c (acquire_init_state_context): Likewise.
209
210 2013-03-06  Bruno Haible  <bruno@clisp.org>
211
212         execute: Revert last change, but use a different condition.
213         * lib/execute.c (nonintr_close, nonintr_open): Reintroduce, but only
214         on Windows.
215
216 2013-03-05  Eric Blake  <eblake@redhat.com>
217
218         execute: drop dead code
219         * lib/execute.c (nonintr_close, nonintr_open): Delete.
220
221 2013-03-04  Paul Eggert  <eggert@cs.ucla.edu>
222
223         non-recursive-gnulib-prefix-hack: port coreutils 8.21 to HP NonStop
224         * m4/non-recursive-gnulib-prefix-hack.m4
225         (gl_NON_RECURSIVE_GNULIB_PREFIX_HACK): Don't mess with ALLOCA.
226         Problem reported for HP NonStop + coreutils 8.21 by Joachim Schmitz in
227         <http://bugs.gnu.org/10305#237>.
228
229 2013-03-04  Eric Blake  <eblake@redhat.com>
230
231         test-getsockopt: avoid compiler warning
232         * tests/test-getsockopt.c (includes): Ensure close is declared.
233
234 2013-03-02  Bruno Haible  <bruno@clisp.org>
235
236         sys_types: Avoid autoconf warning about gl_SYS_TYPES_H.
237         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Define through AC_DEFUN_ONCE.
238
239 2013-03-02  Bruno Haible  <bruno@clisp.org>
240
241         gettext: Update to version 0.18.2.
242         * m4/intl.m4, m4/po.m4: Update from gettext-0.18.2. In particular:
243         2012-12-07  Stefano Lattarini  <stefano.lattarini@gmailcom>
244                 * intl.m4, po.m4: Bump requirement in AC_PREREQ to 2.60.
245
246 2013-02-25  Paul Eggert  <eggert@cs.ucla.edu>
247
248         regex: merge patches from libc
249
250         2013-02-26  Siddhesh Poyarekar  <siddhesh@redhat.com>
251         * lib/regex_internal.h (__attribute__): Rename from __attribute.
252         All uses changed.
253         (bitset_not, bitset_merge, bitset_mask, re_string_char_size_at)
254         (re_string_wchar_at, re_string_elem_size_at):
255         Mark function as possibly unused.
256
257         2013-02-12  Andreas Schwab  <schwab@suse.de>  [BZ #11561]
258         * lib/regcomp.c (parse_bracket_exp) [_LIBC]: When looking up collating
259         elements compare against the byte sequence of it, not its name.
260
261 2013-02-21  Paul Eggert  <eggert@cs.ucla.edu>
262
263         putenv: port better to native Windows
264         * lib/putenv.c [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
265         Define WIN32_LEAN_AND_MEAN and include <windows.h>.
266         (_unsetenv): Use _putenv if available.
267         (putenv): Temporarily set NAME=' ' rather than NAME='x' as that's
268         a bit less likely to cause damage.
269         (putenv) [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
270         Fix the wrong value with SetEnvironmentVariable.
271         (putenv) [!HAVE__PUTENV]: Simplify and match the HAVE__PUTENV
272         code better.
273
274 2013-02-20  Paul Eggert  <eggert@cs.ucla.edu>
275
276         regex: ignore old-style-definition warnings
277         * lib/regex.c: Add pragma to ignore these warnings.
278         Problem reported for GNU tar by Pavel Raiskup.
279
280 2013-02-19  Paul Eggert  <eggert@cs.ucla.edu>
281
282         getcwd: support coreutils better
283         Like strtod, getcwd incorrectly referred to HAVE_RAW_DECL_GETCWD,
284         but this might not be correct in coreutils, which disables
285         the raw decl checks.  Problem reported by Nagendra in
286         <http://bugs.gnu.org/10305#192>.
287         * lib/getcwd.c (__getcwd): Do not depend on HAVE_RAW_DECL_GETCWD.
288         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
289         Test the getcwd function, not any macro, since getcwd.c wants the
290         function.
291         * m4/getcwd.m4 (gl_FUNC_GETCWD):
292         Don't define HAVE_MINIMALLY_WORKING_GETCWD if the code doesn't
293         compile, as might happen if there's a macro but no function.
294
295         strtod: support coreutils better
296         * lib/strtod.c (underlying_strtod): Just invoke the underlying strtod.
297         HAVE_RAW_DECL_STRTOD might not be correct in coreutils, which
298         disables the raw decl checks.  This assumes there is an underlying
299         strtod, but that's a safe assumption these days.
300         (HAVE_RAW_DECL_STRTOD): Remove; no longer used.
301
302         mountlist: port to HP NonStop
303         Reported by Joachim Schmitz in
304         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00084.html>.
305         * lib/mountlist.c (hasmntopt) [!HAVE_HASMNTOPT]: New function.
306         (MNT_IGNORE) [MNTOPT_IGNORE]: Use it.
307
308 2013-02-18  Paul Eggert  <eggert@cs.ucla.edu>
309
310         extern-inline: avoid compilation error with HP-UX cc
311         Reported by Richard Lloyd in
312         <http://lists.gnu.org/archive/html/bug-texinfo/2013-02/msg00030.html>.
313         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
314         Suppress extern inline with HP-UX cc.  This should be safe,
315         though it may hurt performance.  Perhaps someone with some HP-UX
316         experience can come up with a higher-performance fix.
317
318 2013-02-14  Paul Eggert  <eggert@cs.ucla.edu>
319
320         putenv: fix heap corruption with mixed putenv/_putenv
321         Problem reported by Michael Goffioul in
322         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00061.html>.
323         * lib/putenv.c (putenv) [HAVE__PUTENV]:
324         Rely on _putenv to allocate the new environment.
325         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
326         * modules/putenv (configure.ac): Use it.
327
328 2013-02-11  Paul Eggert  <eggert@cs.ucla.edu>
329
330         unsetenv etc.: port to Solaris 11 + GNU Emacs
331         * lib/canonicalize-lgpl.c, lib/getaddrinfo.c, lib/getdelim.c:
332         * lib/glob.c, lib/random_r.c, lib/setenv.c, lib/tsearch.c:
333         * lib/unsetenv.c (_GL_ARG_NONNULL): Define before including <config.h>.
334         GNU Emacs's <config.h> includes <stdlib.h> (which is not a great
335         idea but is too painful to fix right now), and without this gnulib
336         change <stdlib.h> was defining _GL_ARG_NONNULL incorrectly when
337         compiling unsetenv.c on Solaris 11.  Fix the problem for
338         unsetenv.c, and fix other similar occurrences.
339
340 2013-02-09  Paul Eggert  <eggert@cs.ucla.edu>
341
342         secure_getenv: fix C++ declaration typo
343         * lib/stdlib.in.h (secure_getenv): Fix typo with return type
344         in _GL_CXXALIAS_SYS macro.  Reported by John W. Eaton in
345         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00057.html>.
346
347 2013-02-08  Paul Eggert  <eggert@cs.ucla.edu>
348
349         careadlinkat: stop exporting careadlinkatcwd
350         Only Emacs used it directly, and Emacs no longer needs it.
351         * NEWS: Document this simplification.
352         * lib/areadlink.c (careadlinkatcwd): Move here from careadlinkat.c,
353         and make it static.  Include <stdlib.h>, for abort, and unistd.h,
354         for readlink.
355         * lib/careadlinkat.c (careadlinkatcwd): Move to areadlink.c.
356         Don't include stdlib.h; no longer needed.
357         * lib/careadlinkat.h (careadlinkatcwd): Remove decl.
358         * lib/relocwrapper.c: Adjust comment to match new dependencies.
359         * modules/areadlink (Depends-on): Add readlink.
360         (Maintainer): Add self.
361         * modules/careadlinkat (Depends-on): Remove readlink.
362
363         extensions: port better to HP-UX
364         This is merged from git Autoconf.
365         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
366         On hosts that need _XOPEN_SOURCE, define it when configuring, too,
367         so that it's compatible with the value used when compiling.
368
369         openpty: fix bug where HAVE_OPENPTY is mistakenly 1
370         Problem reported by Mats Erik Andersson in
371         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00051.html>.
372         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
373         openpty function exists, not merely when we intend to replace it.
374         This corrects the 2013-01-31 patch, which mistakenly defined
375         HAVE_OPENPTY even on hosts that lacked it.
376
377 2013-02-07  Paul Eggert  <eggert@cs.ucla.edu>
378
379         secure_getenv: fix include typo
380         * lib/secure_getenv.c: Include config.h.  Somehow I forgot!
381
382         secure_getenv: port better to FreeBSD and Solaris
383         * lib/secure_getenv.c [!HAVE___SECURE_GETENV]:
384         Include unistd.h if HAVE_ISSETUGID, otherwise define a dummy issetugid.
385         (secure_getenv) [!HAVE___SECURE_GETENV]: Use getenv if not issetugid.
386         This works better on BSDish platforms.
387         * m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV):
388         Test for issetugid if __secure_getenv is missing.
389
390 2013-02-06  Paul Eggert  <eggert@cs.ucla.edu>
391
392         extensions: port better to MINIX 3, HP-UX, autoheader 2.62
393         Some of these changes are merged in from git Autoconf.
394         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
395         When deciding whether to define _XOPEN_SOURCE, inspect the
396         preprocessor macro __hpux instead of the more-heavyweight
397         operation of requiring AC_CANONICAL_HOST.  Define _NETBSD_HOST on
398         MINIX, for MINIX 3.  Use USE_SYSTEM_EXTENSIONS, not __EXTENSIONS__,
399         as the key for __EXTENSIONS__.
400
401         unistd: avoid namespace pollution on non-glibc systems
402         * lib/unistd.in.h: #define __need_getopt before including <getopt.h>.
403         This avoids namespace pollution on non-glibc systems, by causing
404         gnulib unistd.h to behave more like glibc unistd.h.  I also hope
405         that this fixes a bug on FreeBSD, reported by Mats Erik Andersson in
406         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00027.html>.
407
408 2013-02-04  Paul Eggert  <eggert@cs.ucla.edu>
409
410         tmpdir: use secure_getenv
411         * lib/tmpdir.c (__secure_getenv) [!LIBC]:
412         Define to secure_getenv, not getenv.
413         * m4/tmpdir.m4 (gt_TMPDIR): Don't check for __secure_getenv,
414         as that's now secure_getenv's job.
415         * modules/tmpdir (Depends-on): Add secure_getenv.
416
417         tempname: use secure_getenv
418         * lib/tempname.c (__secure_getenv) [!_LIBC]:
419         Define to secure_getenv, not getenv.
420         * modules/tempname (Depends-on):
421         Add secure_getenv.
422
423         secure_getenv: new module
424         * MODULES.html.sh (Extra functions based on ANSI C 89):
425         Add secure_getenv.
426         * doc/glibc-functions/secure_getenv.texi: New file.
427         * doc/gnulib.texi: Include it.
428         * lib/secure_getenv.c, m4/secure_getenv.m4, modules/secure_getenv:
429         New files.
430         * lib/stdlib.in.h (secure_getenv): New decl.
431         * m4/stdlib_h.m4 (gl_STDLIB_H, gl_STDLIB_H_DEFAULTS):
432         * modules/stdlib (stdlib.h):
433         Add secure_getenv checks.
434
435 2013-02-03  Paul Eggert  <eggert@cs.ucla.edu>
436
437         getcwd: break fdopendir + save_cwd recursive loop (Bug#13516)
438         Reported for OS X 10.8.2 by Assaf Gordon in
439         <http://bugs.gnu.org/13516>.
440         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Do not define if
441         !HAVE_OPENAT && !HAVE_FDOPENDIR.
442         * m4/getcwd-abort-bug.m4: Reformat to match test-getcwd.c
443         so that they can be kept in sync more easily.  Avoid PATH_MAX
444         test on the Hurd.  Sync from test-getcwd.c for errno tests after
445         mkdir or chdir failure.
446         * tests/test-getcwd.c (HAVE_OPENAT_SUPPORT): New macro, from
447         lib/getcwd.c.
448         (test_abort_bug): Do not test for the deep directory bug unless we
449         have openat support.  Avoid PATH_MAX test on the Hurd.
450
451         regex-tests, regex: fix bug: memset undeclared
452         * tests/test-regex.c: Don't include regex.h twice.  Include
453         string.h, to declare memset.  Christensen's report also mentioned
454         this issue.
455         * m4/regex.m4 (gl_REGEX): Keep test program more in sync with
456         test-regex.c, to avoid future problems like this.  Remove
457         AC_INCLUDES_DEFAULT.  Include <string.h>.  Don't include <regex.h>
458         twice.
459
460         regex-tests: fix link errors on older Solaris
461         These need to link with @LIBINTL@ to get libintl_gettext.
462         Problem reported by Tom G. Christensen in
463         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00003.html>.
464         * modules/regex-tests (test_regex_LDADD): New macro.
465
466 2013-01-31  Paul Eggert  <eggert@cs.ucla.edu>
467
468         regex-tests: new module
469         * modules/regex-tests, tests/test-regex.c: New files.
470
471         regex: fix off-by-one error in configure test
472         * m4/regex.m4 (gl_REGEX): Test should return 21, not 20.
473
474 2013-01-31  Eric Blake  <eblake@redhat.com>
475
476         regex: avoid infinite configure test
477         * m4/regex.m4 (gl_REGEX): Add an alarm escape hatch.
478
479 2013-01-31  Reuben Thomas  <rrt@sc3d.org>
480
481         openpty: fix bug where HAVE_OPENPTY wasn't defined
482         See the thread starting at:
483         http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00185.html
484         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
485         openpty function exists, not merely when we intend to replace it.
486
487 2013-01-30  Paul Eggert  <eggert@cs.ucla.edu>
488
489         sys_time: port to Solaris 2.6
490         There is a circularity problem on Solaris 2.6, where <time.h> includes
491         <sys/time.h> for struct timespec.  The include nesting is gnulib
492         <time.h>, system <time.h>, gnulib <sys/time.h>, system
493         <sys/time.h>, gnulib <sys/types.h>, system <sys/types.h>, gnulib
494         <sys/select.h>, gnulib <signal.h>, system <sys/signal.h>, system
495         <sys/siginfo.h>; the last, innermost file needs struct
496         timestruc_t, which is defined in <sys/time.h>, which has not been
497         fully parsed.  Problem reported by Tom G. Christensen in
498         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00113.html>.
499         * lib/sys_select.in.h: Treat Solaris 2.6's problem with
500         <sys/time.h> and <sys/types.h> like OSF/1's similar problem.
501         * lib/sys_time.in.h: Redo to resemble sys_select.in.h, which
502         uses split double-inclusion guards.
503
504 2013-01-29  Paul Eggert  <eggert@cs.ucla.edu>
505
506         regex: test for buffer overrun
507         * m4/regex.m4 (gl_REGEX): Add test case, by Andreas Schwab,
508         for the just-fixed regex bug.
509
510 2013-01-29  Andreas Schwab  <schwab@suse.de>
511
512         regex: fix buffer overrun in regexp matcher [BZ #15078]
513         * lib/regexec.c (extend_buffers): Add parameter min_len.
514         (check_matching): Pass minimum needed length.
515         (clean_state_log_if_needed): Likewise.
516         (get_subexp): Likewise.
517
518 2013-01-28  Pádraig Brady  <P@draigBrady.com>
519
520         mountlist: don't consider "devtmpfs" as dummy
521         * lib/mountlist.c (ME_DUMMY_0): Remove "devtmpfs"
522         as there is storage associcated with it.
523
524 2013-01-27  Paul Eggert  <eggert@cs.ucla.edu>
525
526         futimens-tests, utimens-tests: Depend on gettext.
527         This works around a problem introduced in my 2013-01-12 patch,
528         which added @LIBINTL@ to these modules.
529         * modules/futimens-tests (Depends-on):
530         * modules/utimens-tests (Depends-on): Add gettext.
531
532 2013-01-26  Eric Blake  <eblake@redhat.com>
533
534         test-getpeername: fix typo
535         * tests/test-getpeername.c: Fix typo introduced in fd cleanup.
536
537 2013-01-20  Bernhard Voelker  <mail@bernhard-voelker.de>
538
539         bootstrap: remove the need for a sorted .gitignore file
540         * build-aux/bootstrap (insert_sorted_if_absent): Adjust and
541         rename to insert_if_absent(), so that we don't need or generate
542         a sorted .gitignore file.  We do require a .gitignore with no
543         existing duplicate entries and enforce that.
544         (sort_patterns): Remove this function as we now use the simpler
545         technigue of inserting blacklist entries at the top of the file,
546         assuming gnulib won't be inserting !whitelist entries.
547
548 2013-01-23  Paul Eggert  <eggert@cs.ucla.edu>
549
550         readlinkat: don't depend on gl_FUNC_OPENAT
551         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Don't require gl_FUNC_OPENAT.
552         Perhaps a similar change needs to be made for linkat.m4, mkfifoat.m4,
553         renameat.m4, symlinkat.m4; but one thing at a time.
554
555         statat: new module, split out from fstatat
556         GNU Emacs needs the POSIX-specified fstatat, but not the
557         gnulib-specified statat and lstat.  Split the latter two into a
558         new module 'statat'.
559         * lib/openat.h: Depend on GNULIB_STATAT, not GNULIB_FSTATAT.
560         * lib/openat.h, lib/statat.c (STATAT_INLINE):
561         Rename from FSTATAT_INLINE. All uses changed.
562         * modules/fstatat (Files): Remove lib/statat.c.
563         (gl_MODULE_INDICATOR([fstatat])): Remove.
564         (lib_SOURCES): Remove.
565         (Maintainer): Add self.
566         * modules/statat, modules/statat-tests, tests/test-statat.c: New files.
567         * tests/test-fstatat.c (BASE): Don't define if already defined.
568         (do_stat, do_lstat) [!TEST_STATAT]: Test fstatat instead.
569
570 2013-01-22  Paul Eggert  <eggert@cs.ucla.edu>
571
572         tests: don't assume fd 99 is closed
573         * tests/test-accept.c, tests/test-accept4.c, tests/test-bind.c:
574         * tests/test-close.c, tests/test-connect.c, tests/test-dprintf.c:
575         * tests/test-dup.c, tests/test-dup2.c, tests/test-faccessat.c:
576         * tests/test-fchdir.c, tests/test-fchmod.c, tests/test-fchmodat.c:
577         * tests/test-fchown.c, tests/test-fchownat.c, tests/test-fclose.c:
578         * tests/test-fdatasync.c, tests/test-fdopen.c, tests/test-fdopendir.c:
579         * tests/test-fflush.c, tests/test-fgetc.c, tests/test-fputc.c:
580         * tests/test-fread.c, tests/test-freopen.c, tests/test-fseeko4.c:
581         * tests/test-fstat.c, tests/test-fstatat.c, tests/test-fsync.c:
582         * tests/test-ftello4.c, tests/test-ftruncate.c, tests/test-futimens.h:
583         * tests/test-fwrite.c, tests/test-getpeername.c:
584         * tests/test-getsockname.c, tests/test-getsockopt.c:
585         * tests/test-grantpt.c, tests/test-ioctl.c, tests/test-isatty.c:
586         * tests/test-linkat.c, tests/test-listen.c, tests/test-lseek.c:
587         * tests/test-mkdirat.c, tests/test-mkfifoat.c, tests/test-openat.c:
588         * tests/test-pread.c, tests/test-pwrite.c, tests/test-read.c:
589         * tests/test-readlinkat.c, tests/test-recv.c, tests/test-recvfrom.c:
590         * tests/test-renameat.c, tests/test-select.h, tests/test-send.c:
591         * tests/test-sendto.c, tests/test-setsockopt.c, tests/test-shutdown.c:
592         * tests/test-symlinkat.c, tests/test-ttyname_r.c:
593         * tests/test-unlinkat.c, tests/test-unlockpt.c:
594         * tests/test-utimensat.c, tests/test-vdprintf.c, tests/test-write.c:
595         Close file descriptor 99, instead of assuming it's already closed.
596
597 2013-01-21  Paul Eggert  <eggert@cs.ucla.edu>
598
599         stpncpy: port to OS X 10.8
600         * lib/stpncpy.c (__stpncpy): Parenthesize name when defining function.
601         Problem reported by Assaf Gordon in <http://bugs.gnu.org/13495>.
602
603 2013-01-16  Paul Eggert  <eggert@cs.ucla.edu>
604
605         unistd: port to recent mingw
606         * lib/unistd.in.h: Remove special invocation convention for mingw,
607         which breaks for the latest mingw version.  See John W. Eaton in
608         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00100.html>.
609
610         largefile: port better to Mac OS X 10.5
611         This patch is backported from Autoconf git.
612         * m4/largefile.m4 (AC_SYS_LARGEFILE): Use AC_DEFINE, not
613         AH_VERBATIM, to define _DARWIN_USE_64_BIT_INODE, to avoid problems
614         with ino_t size being different for configuration time versus
615         build/run time.  Problem reported by PHO in
616         <http://lists.gnu.org/archive/html/bug-autoconf/2013-01/msg00040.html>.
617
618 2013-01-15  Paul Eggert  <eggert@cs.ucla.edu>
619
620         doc: clarify -Werror
621         * doc/warnings.texi (warnings): -Werror is not always a bad idea;
622         clarify that it's intended for developers, not for ordinary builds,
623         and mention --enable-gcc-warnings as one possible use.
624
625 2013-01-15  Andoni Morales Alastruey  <ylatuya@gmail.com>  (tiny change)
626
627         stdint: fix build with Android's Bionic fox x86
628         * lib/stdint.in.h: fix check to test if included-fixed/sys/types.h
629         was already included as _SSIZE_T_DEFINED_ might also be defined
630         in include/machine/_types.h, which is included by stdio.h
631
632 2013-01-13  Paul Eggert  <eggert@cs.ucla.edu>
633
634         net_if-tests: port to Solaris 7 + GCC 3.4.6
635         Problem reported by Tom G. Christensen in
636         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00091.html>.
637         * tests/test-net_if.c (ni): Move to next the code that uses it,
638         so that it's declared only if needed.
639
640 2013-01-12  Paul Eggert  <eggert@cs.ucla.edu>
641
642         net_if-tests: port to older Solaris
643         Problem reported by Tom G. Christensen in
644         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
645         * modules/net_if-tests (NET_IF_LIB): New substitution.
646         (test_net_if_LDADD): New makefile macro, which uses NET_IF_LIB.
647         (HAVE_IF_NAMEINDEX): New C macro.
648         * tests/test-net_if.c: Bypass most of the test if !HAVE_IF_NAMEINDEX.
649
650         system-quote-tests: port to older Solaris
651         Problem reported by Tom G. Christensen in
652         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
653         * tests/test-system-quote-child.c (fopen, fread): Undef.
654
655         c-xvasprintf etc.: fix link errors on older Solaris
656         These need to link with @LIBINTL@ to get libintl_gettext.
657         Problem reported by Tom G. Christensen in
658         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
659         * modules/c-xvasprintf-tests (test_c_xvasprintf_LDADD):
660         * modules/readtokens-tests (test_readtokens_LDADD): New macros.
661         * modules/futimens-tests (test_futimens_LDADD):
662         * modules/utimens-tests (test_utimens_LDADD): Add @LIBINTL@.
663
664 2013-01-10  Paul Eggert  <eggert@cs.ucla.edu>
665
666         locale: port to Solaris 2.6 and 7 + GNU gettext
667         * lib/locale.in.h: Just include_next <locale.h> when
668         being invoked recursively.  This prevents problems on Solaris 2.6 and 7
669         when combining the localename module with GNU gettext 0.18.2.
670         Problem reported by Tom G. Christensen in
671         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00084.html>.
672
673 2013-01-09  Paul Eggert  <eggert@cs.ucla.edu>
674
675         stdlib: port to Solaris 2.6
676         Also, the code worked on Solaris 7 through 9 only by accident.
677         Problem reported by Tom G. Christensen in
678         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00059.html>.
679         * lib/stdlib.in.h: If __need_system_stdlib_h is defined,
680         simply include the system stdlib.h.
681         * lib/getopt.in.h (__need_system_stdlib_h):
682         * lib/pthread.in.h (__need_system_stdlib_h):
683         * lib/unistd.in.h (__need_system_stdlib_h) [!__GLIBC__]:
684         Define when including <stdlib.h>, to avoid problems at least for
685         the pthread case on Solaris 2.6 and 7.  These .h files can get by
686         with the system stdlib.h.
687
688 2013-01-06  Paul Eggert  <eggert@cs.ucla.edu>
689
690         doc: update main copyright year
691         * doc/gnulib.texi: Update copyright date.
692
693         doc: improve ISO 8601 discussion
694         * doc/parse-datetime.texi (Combined date and time of day items):
695         Specify more carefully what formats are supported and what is
696         done with excess precision.
697
698 2013-01-05  Paul Eggert  <eggert@cs.ucla.edu>
699
700         doc: avoid small caps
701         * doc/parse-datetime.texi, doc/regex.texi: Don't use small caps;
702         they're more trouble than they're worth.  Suggested by Karl Berry
703         in <http://bugs.gnu.org/13360>.
704
705         regex: conform to strict C
706         * lib/regcomp.c (parse_bracket_exp): Add cast to conform to strict C.
707         From Aharon Robbins.
708
709         gnulib-tool: fix incompatibility with autopoint 0.18.2
710         * gnulib-tool: Don't indent AM_GNU_GETTEXT_VERSION line.
711         Problem reported by Tom G. Christensen in
712         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00053.html>.
713
714 2013-01-04  Paul Eggert  <eggert@cs.ucla.edu>
715
716         fprintftime: bring back and reword fwrite comment
717         * lib/strftime.c (cpy) [FPRINTFTIME]: Re-add reworded comment.
718
719         stdio: remove now-unnecessary stdio.c
720         Since stdio.in.h no longer uses inline functions, we no longer
721         need to compile the extern versions.
722         * lib/stdio.c: Remove.
723         * modules/stdio (Files): Remove lib/stdio.c.
724         (lib_SOURCES): Remove.
725
726         unicodeio: depend on stdio, not ignore-value
727         * lib/unicodeio.c: Do not include ignore-value.h.
728         (fwrite_success_callback): Use plain fwrite, not ignore_value + fwrite.
729         * modules/unicodeio (Depends-on): Depend on stdio, not ignore-value.
730
731         fprintftime: depend on stdio, not ignore-value
732         * lib/strftime.c [FPRINTFTIME]: Do not include ignore-value.h.
733         (cpy) [FPRINTFTIME]: Use plain fwrite, not ignore_value of fwrite,
734         since the stdio module arranges to silence that warning now.
735         * modules/fprintftime (Depends-on): Depend on stdio, not ignore-value.
736
737 2012-10-04  Simon Josefsson  <simon@josefsson.org>
738
739         stdint-tests: Fix expanded-before-required-warning.
740         * modules/stdint-tests (Depends-on): Use AC_REQUIRE.
741
742 2013-01-03  Paul Eggert  <eggert@cs.ucla.edu>
743
744         fwrite: silence __wur only for older glibc versions
745         * lib/stdio.in.h (fwrite): Limit workaround to glibc 2.4 through 2.15.
746         This will help us remove this workaround some time in the far future.
747
748 2013-01-03  Eric Blake  <eblake@redhat.com>
749
750         fwrite: silence __wur without using inline
751         * lib/stdio.in.h (fwrite): Limit warn_unused_result workaround to
752         just gcc, and in a way that avoids inline issues.
753         * modules/stdio (Depends-on): Drop extern-inline.
754
755 2013-01-03  Jim Meyering  <jim@meyering.net>
756
757         update-copyright: avoid copyright notice date corruption
758         Given a sequence of copyright year numbers in which the final
759         one was a two-digit number that happened to be a substring of
760         a preceding four-digit year number, we would mistakenly update
761         the substring (from two- to four-digit) rather than the two-digit
762         number at the end, which, combined with the addition of the current
763         4-digit year number would yield two 5-digit year numbers, e.g.,
764         here, it would convert the first "99" to "1999, 2013" rather than
765         the final one:
766           1991, 99
767           11999, 20131, 1999
768         * build-aux/update-copyright: Tighten a regexp.
769         * tests/test-update-copyright.sh: Add a test case to trigger the bug.
770         Reported by Joseph Myers in
771         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/32281
772
773 2013-01-01  Paul Eggert  <eggert@cs.ucla.edu>
774
775         regex: omit needless signed-pointer casts
776         * lib/regcomp.c (build_charclass, build_charclass_op):
777         Use char *, not unsigned char *, for class name and extra.
778         The char values are always nonnegative so there's no need to
779         insist on unsigned char * here, and using char * removes the need
780         for casts.  Reported by Aharon Robbins in
781         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
782
783         regex: support Gawk, which never uses alloca
784         * lib/regex_internal.h [!_LIBC && !HAVE_ALLOCA]:
785         Do not include in this case.  Gawk doesn't supply a substitute
786         alloca.h and doesn't need one.
787
788         regex: port __libc_lock_define usage to C89
789         * lib/regex_internal.h (__libc_lock_define) [!_LIBC]: Remove.
790         (struct re_dfa_t): Use #ifdef instead.  '__libc_lock_define (, lock)'
791         does not conform to C89, as it has an empty macro argument.
792         Reported by Aharon Robbins in
793         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
794
795 2013-01-01  Eric Blake  <eblake@redhat.com>
796
797         maint: update all copyright year number ranges
798         Run "make update-copyright".
799
800         version-etc: bump copyright year reported in --version
801         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2013.
802
803 2012-12-31  Eric Blake  <eblake@redhat.com>
804
805         sigprocmask-tests: skip test if pid is unexpectedly large
806         * tests/test-sigprocmask.c (main): Add range check.
807
808         git-version-gen: avoid test -z portability glitch
809         * build-aux/git-version-gen: Prefer portable test spelling, since
810         git-version-gen is run on more than just developer machines.
811
812 2012-12-31  Peter Rosin  <peda@lysator.liu.se>  (tiny change)
813
814         git-version-gen: add --fallback option to use if git is not present
815         * build-aux/git-version-gen: Add support for the new option --fallback,
816         which comes into play when there is no $tarball_version_file and
817         git is not working.
818         (scriptversion): Update.
819
820         maint.mk: handle missing git with more grace
821         * top/maint.mk (no-submodule-changes, public-submodule-commit):
822         Quietly proceed if git is not present.
823
824 2012-12-31  Eric Blake  <eblake@redhat.com>
825
826         dup2: work around cygwin bug
827         * m4/dup2.m4 (gl_FUNC_DUP2): Flush out cygwin core dump.
828         * lib/dup2.c (rpl_dup2): Work around it.
829         * doc/posix-functions/dup2.texi (dup2): Document it.
830
831 2012-12-30  Paul Eggert  <eggert@cs.ucla.edu>
832
833         regex: remove unnecessary dependency on localcharset.h
834         * lib/regex_internal.h [!_LIBC]: Don't include localcharset.h;
835         hasn't been needed for years.
836         * modules/regex (Depends-on): Remove localcharset.
837
838         regex: revert single-byte change
839         * lib/regexec.c (check_node_accept_bytes): Revert previous change
840         to this function.  This was alredy fixed in a different way, at
841         bdb56bacd57070eced9998569ffe3f3c37ef5964 in the glibc git; see
842         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=510219> and
843         <http://sourceware.org/bugzilla/show_bug.cgi?id=9697>.
844
845         regex: simplify based on Gawk version
846         * lib/regex_internal.c (re_dfa_add_node): Simplify.
847         Reported by Aharon Robbins in
848         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
849
850 2012-12-29  Paul Eggert  <eggert@cs.ucla.edu>
851
852         regex: check that pattern char is single-byte
853         Reported by Aharon Robbins in
854         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
855         * lib/regexec.c (check_node_accept_bytes):
856         Return 0 if the pattern string has a multibyte character here.
857
858         regex: implement rational ranges
859         Reported by Aharon Robbins in
860         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
861         * lib/regcomp.c (build_range_exp) [!_LIBC]:
862         * lib/regexec.c (check_node_accept_bytes) [!_LIBC]:
863         Implement rational ranges.
864
865         regex: avoid redefining __wctype
866         Reported by Aharon Robbins in
867         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
868         * lib/regex_internal.h (__wctype, __iswctype) [!_LIBC]:
869         #undef before defining.
870
871         regex: port to hosts where malloc (0) == NULL
872         Reported by Aharon Robbins in
873         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
874         * lib/regex_internal.c (re_node_set_alloc):
875         Don't assume that malloc (0) yields nonnull.
876         * lib/regex_internal.h (MALLOC_0_IS_NONNULL): New macro.
877         * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_EEMALLOC.
878         * modules/regex (Files): Add m4/eealloc.m4.
879
880         regex: port to C89
881         Reported by Aharon Robbins in
882         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
883         * lib/regcomp.c (init_word_char): Declaration before statement.
884
885         regex: merge glibc changes
886         Also, copy the license wording from glibc.  This simplifies
887         merging changes.  gnulib-tool will change the wording to GPL as
888         appropriate, when importing it to other packages.  The only
889         glibc change made since the last merge, which needs merging, is:
890         2012-05-24 Andreas Schwab <schwab@linux-m68k.org>
891         * lib/regex_internal.h (gettext): Remove use of INTUSE.
892
893         * users.txt: Add Emacs.
894
895         doc: omit mention of version when not needed
896         * doc/gnulib-intro.texi (Portability and Application Code):
897         * doc/gnulib.texi (Brief Overview, Legacy Function Substitutes):
898         Don't mention particular dates or versions when not necessary, so
899         that the documentation won't go out of date so quickly.
900
901         * doc/intprops.texi (Integer Properties): Fix Texinfo typo.
902
903 2012-12-28  Akim Demaille  <akim@lrde.epita.fr>
904
905         bootstrap: pass --force to autoreconf.
906         * build-aux/bootstrap (AUTORECONFFLAGS): New.
907         Add "--force" so that Automake's ylwrap and other such tools
908         be updated at each bootstrap invocation.
909         Use it.
910
911 2012-12-27  Paul Eggert  <eggert@cs.ucla.edu>
912
913         argp: fix port of port new 'inline' approach to Sun C 5.12 + Solaris 10
914         The earlier patch forgot to update one of the #if conditions, causing
915         a problem on Debian testing i386 reported by Mats Erik Andersson
916         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00124.html>.
917         * lib/argp-fmtstream.h (__argp_fmtstream_putc, argp_fmtstream_putc)
918         (__argp_fmtstream_puts, argp_fmtstream_puts)
919         (__argp_fmtstream_write, argp_fmtstream_write)
920         [!_LIBC && !__OPTIMIZE__]: Declare as ARGP_FS_EI, not as extern.
921
922         * doc/gnulib-readme.texi: Minor fixups.
923         (Portability guidelines): Modernize URLs.  Remove some repetition.
924         (Indent with spaces not TABs): Reword to avoid too-long lines.
925         Remove some '@ifset standalone' stuff that isn't used.
926
927         * doc/gnulib-readme.texi (Portability guidelines):
928         ctype.h, not ctime.h.
929
930         Correct name of POSIX.1-2001.
931         * doc/posix-functions/fgetc.texi (fgetc):
932         * doc/posix-functions/fgets.texi (fgets):
933         * doc/posix-functions/fread.texi (fread):
934         * doc/posix-functions/fscanf.texi (fscanf):
935         * doc/posix-functions/getc.texi (getc):
936         * doc/posix-functions/getchar.texi (getchar):
937         * doc/posix-functions/scanf.texi (scanf):
938         POSIX.1-2001, not POSIX-2001.
939
940         doc: move README into manual
941         * README: Move contents to new file doc/gnulib-readme.texi.
942         Replace with a one-line summary.
943         * doc/gnulib.texi (Brief Overview): New section,
944         with old intro preface.  Include gnulib-readme.texi for contents.
945         (Philosophy): Rename from "Introduction", since this
946         section no longer introduces the rest.  Write a new preface.
947         * doc/gnulib-readme.texi: New file, with the old contents of
948         README texinfo-ized.  This way, the README info appears
949         in the online and printed manual.
950
951 2012-12-25  Ben Pfaff  <blp@cs.stanford.edu>
952
953         c-xvasprintf: Fix "implicit declaration of function" GCC warning.
954         * lib/c-xvasprintf.c: Add missing #include "c-vasprintf.h", for
955         c_vasprintf() prototype.
956
957 2012-12-24  Ben Pfaff  <blp@cs.stanford.edu>
958
959         c-vasprintf: Fix "empty declaration" warning reported by GCC.
960         * lib/c-vasprintf.h: Remove stray semicolon.
961
962 2012-12-23  Paul Eggert  <eggert@cs.ucla.edu>
963
964         gettext: avoid obsolete macro AM_PROG_MKDIR_P
965         It is obsolete and is planned to be removed from Automake 1.14; see
966         <http://lists.gnu.org/archive/html/automake/2012-12/msg00029.html>.
967         * build-aux/po/Makefile.in.in (install-data, install-data-yes)
968         (installdirs-data, installdirs-data-yes):
969         Use $(MKDIR_P), not $(mkdir_p).
970         * m4/intl.m4 (AM_INTL_SUBDIR):
971         * m4/po.m4 (AM_PO_SUBDIRS):
972         Require AC_PROG_MKDIR_P, not AM_PROG_MKDIR_P.
973
974 2012-12-22  Paul Eggert  <eggert@cs.ucla.edu>
975
976         argp: port new 'inline' approach to Sun C 5.12 + Solaris 10
977         On this platform, we are not optimizing but we are using
978         the substitute for extern inlines, so compile as if
979         C99-style extern inline, or a substitute, is available.
980         * lib/argp-fmtstream.h (argp_fmtstream_set_lmargin)
981         (__argp_fmtstream_set_lmargin, argp_fmtstream_set_rmargin)
982         (__argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin)
983         (__argp_fmtstream_set_wmargin, argp_fmtstream_point)
984         (__argp_fmtstream_point) [!_LIBC && !__OPTIMIZE__]:
985         Declare as ARGP_FS_EI, not as extern.
986         * lib/argp.h (argp_usage, __argp_usage, _option_is_short)
987         (__option_is_short, _option_is_end, __option_is_end)
988         [!_LIBC && __USE_EXTERN_INLINES]:
989         Declare as ARGP_EI, not as extern.
990
991 2012-12-21  Paul Eggert  <eggert@cs.ucla.edu>
992
993         AC_PROG_MKDIR_P: port workaround to pre-2.62 Autoconf
994         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P, AC_C_RESTRICT):
995         Use m4_ifndef([AC_AUTOCONF_VERSION], ...), not
996         m4_if(m4_version_compare(m4_defn([AC_AUTOCONF_VERSION]),[2.62]),[-1],
997         ...), as the latter is fatal with older Autoconfs.
998         Problem reported and fix suggested by Eric Blake in thread starting at
999         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00097.html>.
1000
1001 2012-12-20  Paul Eggert  <eggert@cs.ucla.edu>
1002
1003         AC_PROG_MKDIR_P: don't workaround if not buggy
1004         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P):
1005         Define only for Autoconf versions before 2.62.
1006         (AC_C_RESTRICT): Use documented AC_AUTOCONF_VERSION, not
1007         undocumented m4_PACKAGE_VERSION, for consistency with the
1008         abovementioned change to AC_PROG_MKDIR_P.  This should suffice
1009         since we're checking for 2.62 or later, and AC_AUTOCONF_VERSION
1010         was introduced in 2.62.
1011
1012 2012-12-15  Ben Pfaff  <blp@cs.stanford.edu>
1013
1014         New 'c-*printf' modules for formatted output in C locale.
1015
1016         New module 'c-vasnprintf'.
1017         * modules/c-vasnprintf: New file.
1018         * lib/c-vasnprintf.c: New file.
1019         * lib/c-vasnprintf.h: New file.
1020
1021         New module 'c-snprintf'.
1022         * modules/c-snprintf: New file.
1023         * modules/c-snprintf-tests: New file.
1024         * lib/c-snprintf.c: New file.
1025         * lib/c-snprintf.h: New file.
1026         * tests/test-c-snprintf.c: New file.
1027         * tests/test-c-snprintf.sh: New file.
1028
1029         New module 'c-vsnprintf'.
1030         * modules/c-vsnprintf: New file.
1031         * modules/c-vsnprintf-tests: New file.
1032         * lib/c-vsnprintf.c: New file.
1033         * lib/c-vsnprintf.h: New file.
1034         * tests/test-c-vsnprintf.c: New file.
1035         * tests/test-c-vsnprintf.sh: New file.
1036
1037         New module 'c-vasprintf'.
1038         * modules/c-vasprintf: New file.
1039         * modules/c-vasprintf-tests: New file.
1040         * lib/c-asprintf.c: New file.
1041         * lib/c-vasprintf.c: New file.
1042         * lib/c-vasprintf.h: New file.
1043         * tests/test-c-vasprintf.c  +: New file.
1044         * tests/test-c-vasprintf.sh: New file.
1045
1046         New module 'c-xvasprintf'.
1047         * modules/c-xvasprintf: New file.
1048         * modules/c-xvasprintf-tests: New file.
1049         * lib/c-xasprintf.c: New file.
1050         * lib/c-xvasprintf.c: New file.
1051         * lib/c-xvasprintf.h: New file.
1052         * tests/test-c-xvasprintf.c: New file.
1053         * tests/test-c-xvasprintf.sh: New file.
1054
1055 2012-12-18  Paul Eggert  <eggert@cs.ucla.edu>
1056
1057         argp: better 'inline'
1058         Use extern-inline module to declare extern inline functions.
1059         This avoids some bogus warning diagnostics.  Problem discovered
1060         when modifying GNU tar to use the manywarnings module.
1061         * lib/argp.h, lib/argp-xinl.c (ARGP_EI) [!_LIBC]:
1062         * lib/argp-fmtstream.h, lib/argp-fs-xinl.c (ARGP_FS_EI) [!_LIBC]:
1063         Define based on extern-inline.
1064         * modules/argp (Depends-on): Add extern-inline.
1065
1066 2012-12-17  Paul Eggert  <eggert@cs.ucla.edu>
1067
1068         filemode, sys_stat: Handle MPX files a la AIX.
1069         * lib/filemode.c (ftypelet): Report 'm' for MPX files.
1070         * lib/sys_stat.in.h (S_ISMPX): New macro.
1071         * tests/test-sys_stat.c: Add tests for MPX files.
1072
1073 2012-12-16  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
1074
1075         x-to-1: honor $PERL
1076         * build-aux/x-to-1.in: Run $HELP2MAN via $PERL so that the user gets
1077         a chance to use his preferred version of Perl.  This is typically
1078         required by Darwin users whose default /usr/bin/perl does not have all
1079         the libraries required by help2man, and who need to use their MacPorts
1080         installation of Perl instead.
1081
1082 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
1083
1084         gnu-web-doc-update: add all the new files, even in new directories
1085         See http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00057.html
1086         * build-aux/gnu-web-doc-update (--dry-run, $dryrun): New.
1087         Use it.
1088         (main): Don't use cvsutils to get the list of unknown files,
1089         just add all the existing files and directories.
1090
1091 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
1092
1093         gnu-web-doc-update: improve --help
1094         * build-aux/gnu-web-doc-update: Move comments into --help.
1095
1096 2012-12-07  Eric Wong  <normalperson@yhbt.net>
1097
1098         mountlist: recognize more "dummy" file systems
1099         * lib/mountlist.c (ME_DUMMY_0):
1100         Add these dummy FS names to the list:
1101         - "debugfs" virtual filesystem for kernel debugging
1102         - "devpts" PTY slave filesystem
1103         - "devtmpfs" device filesystem on top of tmpfs/ramfs
1104         - "fusectl" control filesystem for FUSE
1105         - "mqueue" enumerates POSIX message queues
1106         - "rpc_pipefs" kernel <-> userspace bridge for NFS
1107         - "sysfs" is for exporting kernel objects
1108         - "devfs" device filesystem for Linux 2.4 and FreeBSD
1109
1110 2012-12-11  Paul Eggert  <eggert@cs.ucla.edu>
1111
1112         extern-inline: avoid incompatibility with Darwin Libc
1113         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE): Do not use
1114         extern inline if __APPLE__.  Use _GL_UNUSED in the non-inline branch.
1115         Problem reported by Akim Demaille in
1116         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html>.
1117
1118 2012-12-11  Simon Josefsson  <simon@josefsson.org>
1119
1120         gnupload: Work with GnuPG using gpg-agent (for smartcards).
1121         * build-aux/gnupload: If GnuPG is configured to use gpg-agent,
1122         let it handle password prompting.
1123
1124 2012-12-10  Eli Zaretskii  <eliz@gnu.org>
1125
1126         canonicalize, canonicalize-lgpl: Microsoft Windows prefix fixes
1127         * lib/canonicalize.c (canonicalize_filename_mode):
1128         * lib/canonicalize-lgpl.c (__realpath): Recompute prefix_len after
1129         fetching the current directory.  Don't overrun the beginning of
1130         rpath if there's no slashes after the MS-Windows drive letter.
1131
1132 2012-12-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
1133
1134         maint.mk: avoid extra forks
1135         * top/maint.mk (_cfg_mk): The GNU make manual documents that
1136         "$(wildcard FILE)" expands to empty if FILE doesn't exist.
1137         So use that instead of "$(shell test -f FILE && echo FILE)".
1138
1139 2012-12-07  Paul Eggert  <eggert@cs.ucla.edu>
1140
1141         vasnprintf: fix ASCII_ONLY typo
1142         * lib/unistdio/u8-vasnprintf.c (FCHAR_T_ONLY_ASCII):
1143         * lib/unistdio/u16-vasnprintf.c (FCHAR_T_ONLY_ASCII):
1144         * lib/unistdio/u32-vasnprintf.c (FCHAR_T_ONLY_ASCII):
1145         New macro, replacing ASCII_ONLY.  This fixes a typo.  See thread at
1146         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00021.html>.
1147
1148 2012-12-05  Paul Eggert  <eggert@cs.ucla.edu>
1149
1150         list, oset, xlist, xoset: fix extern inline issue with C99
1151         This was introduced by my recent changes for 'inline'.
1152         Problem reported for gettext by Daiki Ueno in
1153         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00000.html>.
1154         * lib/gl_list.h (gl_list_nx_create_empty, gl_list_create)
1155         (gl_list_nx_create, gl_list_size, gl_list_node_value)
1156         (gl_list_node_set_value, gl_list_node_nx_set_value, gl_list_next_node)
1157         (gl_list_previous_node, gl_list_get_at)
1158         (gl_list_nx_set_at, gl_list_search, gl_list_search_from)
1159         (gl_list_search_from_to, gl_list_indexof, gl_list_indexof_from)
1160         (gl_list_indexof_from_to, gl_list_nx_add_first, gl_list_nx_add_last)
1161         (gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at)
1162         (gl_list_remove_node, gl_list_remove_at, gl_list_remove, gl_list_free)
1163         (gl_list_iterator, gl_list_iterator_from_to, gl_list_iterator_next)
1164         (gl_list_iterator_free, gl_sortedlist_search)
1165         (gl_sortedlist_search_from_to, gl_sortedlist_indexof)
1166         (gl_sortedlist_indexof_from_to, gl_sortedlist_add, gl_sortedlist_nx_add)
1167         (gl_sortedlist_remove):
1168         * lib/gl_oset.h (go_oset_nx_create_empty, gl_oset_size, gl_oset_search)
1169         (gl_oset_search_atleast, gl_oset_nx_add, gl_oset_remove, gl_oset_free)
1170         (gl_oset_iterator, gl_oset_iterator_next, gl_oset_iterator_free):
1171         * lib/gl_xlist.h (gl_list_create_empty, gl_list_create)
1172         (gl_list_node_set_value, gl_list_set_at, gl_list_add_first)
1173         (gl_list_add_last, gl_list_add_before, gl_list_add_after)
1174         (gl_list_add_at, gl_sortedlist_add):
1175         * lib/gl_xoset.h (gl_oset_create_empty, gl_oset_add):
1176         Wrap these extern decls inside "#if 0", because they are implemented
1177         as inline functions, and extern inline is not what's wanted here.
1178         It would simplify these .h files to remove the extern decls entirely,
1179         although a downside would be less-clear separation between
1180         specification and implementation.
1181
1182 2012-11-29  Paul Eggert  <eggert@cs.ucla.edu>
1183
1184         sys_stat: no 'static inline'
1185         * lib/sys_stat.in.h (rpl_mkdir): Now static, not static inline.
1186         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Do not require AC_C_INLINE.
1187
1188         extern-inline: no 'static inline'
1189         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
1190         Do not require AC_C_INLINE.
1191         (_GL_INLINE, _GL_EXTERN_INLINE): Define as 'static', not as
1192         'static inline', for older compilers.
1193
1194         snippet/warn-on-use: no 'static inline'
1195         * build-aux/snippet/warn-on-use.h:
1196         Remove unnecessary 'inline' in comment.
1197
1198         rbtree-list, rbtreehash-list: no 'static inline'
1199         * lib/gl_anyrbtree_list2.h (rotate_left, rotate_right):
1200         * lib/gl_anytree_list2.h (node_at):
1201         * lib/gl_anytreehash_list1.h (hash_resize_after_add)
1202         (gl_oset_first, add_nodes_to_buckets):
1203         Now static, not static inline.
1204
1205         regex: no 'static inline'
1206         * lib/regex_internal.c (calc_state_hash):
1207         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain)
1208         (bitset_empty, bitset_set_all, bitset_copy, bitset_not, bitset_merge)
1209         (bitset_mask, re_string_char_size_at, re_string_wchar_at):
1210         Now static, not static inline.
1211         (inline) [__GNUC__ < 3 && _LIBC]:
1212         Remove macro; no longer needed.
1213
1214         xvasprintf: no 'static inline'
1215         * lib/xvasprintf.c (xstrcat):
1216         Now static, not static inline.
1217         * m4/xvasprintf.m4 (gl_XVASPRINTF):
1218         Do not require AC_C_INLINE.
1219
1220         parse-datetime, parse-duration: no 'static inline'
1221         * lib/parse-datetime.y (to_uchar):
1222         * lib/parse-duration.c (str_const_to_ul, str_const_to_l)
1223         (scale_n_add):
1224         Now static, not static inline.
1225         * m4/parse-datetime.m4 (gl_PARSE_DATETIME):
1226         * modules/parse-duration (configure.ac):
1227         Do not require AC_C_INLINE.
1228
1229         getaddrinfo: no 'static inline'
1230         * lib/getaddrinfo.c (validate_family):
1231         Now static, not static inline.
1232         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO):
1233         Do not require AC_C_INLINE.
1234
1235         ftruncate, fts, lstat, openat, raise: no 'static inline'
1236         * lib/ftruncate.c (chsize_nothrow):
1237         * lib/fts.c (opendirat, diropen):
1238         * lib/lstat.c (orig_lstat):
1239         * lib/openat.c (orig_openat):
1240         * lib/raise.c (raise_nothrow):
1241         Now static, not static inline.
1242         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE):
1243         * m4/fts.m4 (gl_FUNC_FTS_CORE):
1244         * m4/lstat.m4 (gl_PREREQ_LSTAT):
1245         * m4/openat.m4 (gl_PREREQ_OPENAT):
1246         * m4/raise.m4 (gl_PREREQ_RAISE):
1247         Do not require AC_C_INLINE.
1248
1249         fflush, stat: no 'static inline'
1250         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
1251         (clear_ungetc_buffer, disable_seek_optimization)
1252         (restore_seek_optimization, update_fpos_cache):
1253         * lib/stat.c (orig_stat):
1254         Now static, not static inline.
1255         * lib/fflush.c (disable_seek_optimization, restore_seek_optimization)
1256         (update_fpos_cache):
1257         Define only if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1).
1258         * m4/fflush.m4 (gl_PREREQ_FFLUSH):
1259         * m4/stat.m4 (gl_PREREQ_STAT):
1260         Do not require AC_C_INLINE.
1261
1262         error, filevercmp: no 'static inline'
1263         * lib/error.c (is_open, flush_stdout):
1264         * lib/filevercmp.c (order):
1265         Now static, not static inline.
1266         * m4/error.m4 (gl_PREREQ_ERROR):
1267         * modules/filevercmp (configure.ac):
1268         Do not require AC_C_INLINE.
1269
1270         dup, execute, fatal-signal, etc.: no 'static inline'
1271         * lib/dup.c (dup_nothrow):
1272         * lib/execute.c (nonintr_close, nonintr_open):
1273         * lib/fatal-signal.c (uninstall_handlers, install_handlers):
1274         * lib/fopen.c (orig_fopen):
1275         * lib/freadseek.c (freadptrinc):
1276         * lib/freopen.c (orig_freopen):
1277         * lib/fstat.c (orig_fstat, fstat_nothrow):
1278         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit)
1279         (get_rusage_as_via_iterator):
1280         * lib/get-rusage-data.c (get_rusage_data_via_setrlimit):
1281         * lib/getdtablesize.c (_setmaxstdio_nothrow):
1282         * lib/isatty.c (_isatty_nothrow):
1283         * lib/open.c (orig_open):
1284         * lib/read.c (read_nothrow):
1285         * lib/sigprocmask.c (signal_nothrow):
1286         * lib/spawn-pipe.c (nonintr_close, nonintr_open):
1287         * lib/vasnprintf.c (MAX_ROOM_NEEDED):
1288         * lib/wait-process.c (unregister_slave_subprocess):
1289         * lib/write.c (write_nothrow):
1290         Now static, not static inline.
1291         * lib/spawn-pipe.c (nonintr_open): Define only if
1292         (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__.
1293         * m4/dup.m4 (gl_PREREQ_DUP):
1294         * m4/execute.m4 (gl_EXECUTE):
1295         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL):
1296         * m4/fopen.m4 (gl_PREREQ_FOPEN):
1297         * m4/freadseek.m4 (gl_FUNC_FREADSEEK):
1298         * m4/freopen.m4 (gl_PREREQ_FREOPEN):
1299         * m4/fstat.m4 (gl_PREREQ_FSTAT):
1300         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE):
1301         * m4/isatty.m4 (gl_PREREQ_ISATTY):
1302         * m4/open.m4 (gl_PREREQ_OPEN):
1303         * m4/read.m4 (gl_PREREQ_READ):
1304         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK):
1305         * m4/spawn-pipe.m4 (gl_SPAWN_PIPE):
1306         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF):
1307         * m4/wait-process.m4 (gl_WAIT_PROCESS):
1308         * m4/write.m4 (gl_PREREQ_WRITE):
1309         * modules/get-rusage-as, modules/get-rusage-data (configure.ac):
1310         Do not require AC_C_INLINE.
1311
1312         c-strtod, memcoll, readutmp: no 'static inline'
1313         * lib/c-strtod.c (c_locale):
1314         * lib/memcoll.c (strcoll_loop):
1315         * lib/readutmp.c (desirable_utmp_entry):
1316         Now static, not static inline.
1317         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD):
1318         * m4/memcoll.m4 (gl_MEMCOLL):
1319         * m4/readutmp.m4 (gl_READUTMP):
1320         Do not require AC_C_INLINE.
1321
1322         arctwo, md4, md5, sha1, sha256, sha512: no 'static inline'
1323         * lib/arctwo.c (to_uchar):
1324         * lib/md4.c (set_uint32):
1325         * lib/md5.c (set_uint32):
1326         * lib/sha1.c (set_uint32):
1327         * lib/sha256.c (set_uint32):
1328         * lib/sha512.c (set_uint64):
1329         Now static, not static inline.  This is a bit simpler, and doesn't
1330         affect performance with GCC and default optimization.
1331         * m4/arctwo.m4 (gl_ARCTWO):
1332         * m4/md4.m4 (gl_MD4):
1333         * m4/md5.m4 (gl_MD5):
1334         * m4/sha1.m4 (gl_SHA1):
1335         * m4/sha256.m4 (gl_SHA256):
1336         * m4/sha512.m4 (gl_SHA512):
1337         Do not require AC_C_INLINE.
1338
1339         cond, lock, thread: better 'inline'
1340         * lib/glthread/cond.c, lib/glthread/cond.h (_GLTHREAD_COND_INLINE):
1341         * lib/glthread/thread.c, lib/glthread/thread.h (_GLTHREAD_THREAD_INLINE):
1342         New macros.  Use them instead of static inline, for header functions.
1343         * lib/glthread/cond.c (gl_waitqueue_init, gl_waitqueue_remove)
1344         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
1345         * lib/glthread/lock.c (gl_waitqueue_init)
1346         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
1347         * lib/glthread/thread.c (get_current_thread_handle):
1348         Change 'static inline' to 'inline'.
1349         * lib/glthread/cond.h, lib/glthread/thread.h:
1350         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1351         * m4/cond.m4 (gl_COND):
1352         * m4/lock.m4 (gl_PREREQ_LOCK):
1353         * m4/thread.m4 (gl_THREAD):
1354         Do not require AC_C_INLINE.
1355         * modules/cond, modules/thread (Depends-on): Add extern-inline.
1356
1357         chdir-long, cycle-check, savewd: better 'inline'
1358         * lib/chdir-long.c (cdb_init, cdb_fchdir, cdb_free)
1359         (find_non_slash):
1360         * lib/cycle-check.c (is_zero_or_power_of_two):
1361         * lib/savewd.c (savewd_delegating):
1362         Change 'static inline' to 'inline'.
1363         * lib/savewd.c, lib/savewd.h (SAVEWD_INLINE): New macro.
1364         Replace all remaining uses of 'static inline' with it.
1365         * lib/savewd.h:
1366         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1367         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG):
1368         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
1369         * m4/savewd.m4 (gl_SAVEWD):
1370         Do not require AC_C_INLINE.
1371         * modules/savewd (Depends-on): Add extern-inline.
1372
1373         base32, base64: no need for 'inline'
1374         * lib/base32.c (to_uchar, get_8, decode_8):
1375         * lib/base64.c (to_uchar, get_4, decode_4):
1376         Change 'static inline' to 'inline'.
1377         * m4/base32.m4 (gl_PREREQ_BASE32):
1378         * m4/base64.m4 (gl_PREREQ_BASE64):
1379         Do not require AC_C_INLINE.
1380
1381         array-oset, linkedhash-list, rbtree-oset: no need for 'inline'
1382         * lib/gl_array_oset.c (gl_array_nx_add_at):
1383         (gl_array_remove_at):
1384         * lib/gl_linkedhash_list.c (hash_resize_after_add)
1385         (add_to_bucket, remove_from_bucket):
1386         * lib/gl_rbtree_oset.c (rotate_left, rotate_right):
1387         Change 'static inline' to 'static', as it's simpler to omit
1388         'inline' unless there's a significant performance advantage.
1389
1390         list, oset, xlist, xoset, xsublist: simplify via extern inline
1391         * lib/gl_list.h, lib/gl_list.c (GL_LIST_INLINE):
1392         * lib/gl_oset.c, lib/gl_oset.h (GL_OSET_INLINE):
1393         * lib/gl_xlist.c, lib/gl_xlist.h (GL_XLIST_INLINE):
1394         * lib/gl_xoset.c, lib/gl_xoset.h (GL_XOSET_INLINE):
1395         * lib/gl_xsublist.c, lib/gl_xsublist.h (GL_XSUBLIST_INLINE):
1396         New macro.  Replace all uses of 'static inline' with it.
1397         [HAVE_INLINE]: Implement functions as *_INLINE functions,
1398         instead of as macros FOO that are defined to static inline
1399         functions FOO_inline.
1400         * lib/gl_list.c, lib/gl_oset.c, lib/gl_xlist.c, lib/gl_xoset.c:
1401         * lib/gl_xsublist.c:
1402         Reimplement from scratch, by defining the corresponding *_INLINE
1403         macro and including the corresponding .h file.  This is simpler.
1404         * modules/list, modules/oset, modules/xlist, modules/xoset:
1405         (Files): Remove m4/gl_list.m4.
1406         (configure.ac): Remove gl_LIST.
1407         * m4/gl_list.m4: Remove.
1408         * modules/list, modules/oset, modules/xlist, modules/xoset:
1409         * modules/xsublist:
1410         (Depends-on): Depend on extern-inline, not inline.
1411
1412         xalloc: better 'inline'
1413         * lib/xmalloc.c, lib/xalloc.h (XALLOC_INLINE):
1414         New macro.  Replace all uses of 'static inline' with it.
1415         (static_inline): Remove.
1416         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
1417         Let 'extern inline' do the work automatically, instead of doing
1418         it by hand.
1419         * m4/xalloc.m4 (gl_PREREQ_XALLOC, gl_PREREQ_XMALLOC):
1420         Remove.  All uses removed.
1421         * modules/xalloc (Depends-on): Remove 'inline'.  Add 'extern-inline'.
1422
1423         gethrxtime: better 'inline'
1424         * lib/xtime.c: New file.
1425         * lib/gethrxtime.c, lib/gethrxtime.h (GETHRXTIME_INLINE):
1426         * lib/xtime.h (XTIME_INCLUDE):
1427         New macros.  Replace all uses of 'static inline' with them.
1428         * lib/gethrxtime.c (gethrxtime): Define only if
1429         ! (HAVE_ARITHMETIC_HRTIME_T && HAVE_DECL_GETHRTIME), since
1430         this source file is now always compiled, because of the extern inline.
1431         * lib/gethrxtime.h, lib/xtime.h:
1432         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1433         * m4/gethrxtime.m4 (gl_GETHRXTIME): Do not check for clock macros
1434         if gethrtime works, as they're not needed in that case.
1435         (gl_XTIME): Do not require AC_C_INLINE.
1436         (gl_PREREQ_GETHRXTIME): Remove; all uses removed, as it's always
1437         compiled now.  Move the check into gl_GETHRXTIME.
1438         * modules/gethrxtime (Files, lib_SOURCES): Add lib/xtime.c.
1439         (Depends-on): Add extern-inline.
1440         (configure.ac): gethrxtime is always compiled now.
1441         (lib_SOURCES): Add gethrxtime.c.
1442
1443         wctype-h: better 'inline'
1444         * lib/wctype-h.c: New file.
1445         * lib/wctype.in.h (_GL_WCTYPE_INLINE):
1446         New macro.  Replace all uses of 'static inline' with it.
1447         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1448         * m4/wctype_h.m4 (gl_WCTYPE_H): Do not require AC_C_INLINE.
1449         * modules/wctype-h (Files, lib_SOURCES): Add lib/wctype-h.c.
1450         (Depends-on): Add extern-inline.
1451
1452         unistd: better 'inline'
1453         * lib/unistd.c: New file.
1454         * lib/unistd.in.h (_GL_UNISTD_INLINE):
1455         New macro.  Replace all uses of 'static inline' with it.
1456         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1457         * m4/unistd_h.m4 (gl_UNISTD_H): Do not require AC_C_INLINE.
1458         * modules/unistd (Files, lib_SOURCES): Add lib/unistd.c.
1459         (Depends-on): Add extern-inline.
1460
1461         sys_socket: better 'inline'
1462         * lib/sys_socket.c: New file.
1463         * lib/sys_socket.in.h (_GL_SYS_SOCKET_INLINE):
1464         New macro.  Replace all uses of 'static inline' with it.
1465         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1466         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Do not require AC_C_INLINE.
1467         * modules/sys_socket (Files, lib_SOURCES): Add lib/sys_socket.c.
1468         (Depends-on): Add extern-inline.
1469
1470         stdio: better 'inline'
1471         * lib/stdio.c: New file.
1472         * lib/stdio.in.h (_GL_STDIO_INLINE):
1473         New macro.  Replace all uses of 'static inline' with it.
1474         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1475         * m4/stdio_h.m4 (gl_STDIO_H): Do not require AC_C_INLINE.
1476         * modules/stdio (Files, lib_SOURCES): Add lib/stdio.c.
1477         (Depends-on): Add extern-inline.
1478
1479         sigaction: better 'inline'
1480         * lib/sig-handler.c: New file.
1481         * lib/sig-handler.h (SIG_HANDLER_INLINE):
1482         New macro.  Replace all uses of 'static inline' with it.
1483         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1484         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): Do not require AC_C_INLINE.
1485         * modules/sigaction (Files, lib_SOURCES): Add lib/sig-handler.c.
1486         (Depends-on): Add extern-inline.
1487
1488         selinux-h: better 'inline'
1489         * lib/se-context.c, lib/se-selinux.c: New files.
1490         * lib/getfilecon.c (map_to_failure): Omit 'inline' for static function.
1491         * lib/se-context.in.h (SE_CONTEXT_INLINE):
1492         New macro.  Replace all uses of 'static inline' with it.
1493         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1494         * lib/se-selinux.in.h (SE_SELINUX_INLINE):
1495         New macro.  Replace all uses of 'static inline' with it.
1496         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1497         * modules/selinux-h (Files, lib_SOURCES):
1498         Add lib/se-context.c, lib/se-selinux.c.
1499         (Depends-on): Add extern-inline.
1500         (configure.ac): Do not require AC_C_INLINE.
1501
1502         pthread: better 'inline'
1503         * lib/pthread.c: New file.
1504         * lib/pthread.in.h (_GL_PTHREAD_INLINE):
1505         New macro.  Replace all uses of 'static inline' with it.
1506         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1507         * m4/pthread.m4 (gl_PTHREAD_CHECK):
1508         Add AC_LIBOBJ([pthread]).  Do not require AC_C_INLINE.
1509         * modules/pthread (Files): Add lib/pthread.c.
1510         (Depends-on): Add extern-inline.
1511
1512         math: better 'inline'
1513         * lib/math.c: New file.
1514         * lib/math.in.h (_GL_MATH_INLINE):
1515         New macro.  Replace all uses of 'static inline' with it.
1516         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1517         * m4/math_h.m4 (gl_MATH_H):
1518         Do not require AC_C_INLINE.
1519         * modules/math (Files, lib_SOURCES):
1520         Add lib/math.c.
1521         (Depends-on): Add extern-inline.
1522
1523         count-one-bits: better 'inline'
1524         * lib/count-one-bits.c: New file.
1525         * lib/count-one-bits.h (COUNT_ONE_BITS_INLINE):
1526         New macro.  Replace all uses of 'static inline' with it.
1527         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1528         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS):
1529         Do not require AC_C_INLINE.
1530         * modules/count-one-bits (Files, lib_SOURCES):
1531         Add lib/count-one-bits.c.
1532         (Depends-on): Add extern-inline.
1533
1534         count-leading-zeros: better 'inline'
1535         * lib/count-leading-zeros.c: New file.
1536         * lib/count-leading-zeros.h (COUNT_LEADING_ZEROS_INLINE):
1537         New macro.  Replace all uses of 'static inline' with it.
1538         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1539         * m4/count-leading-zeros.m4 (gl_COUNT_LEADING_ZEROS):
1540         Do not require AC_C_INLINE.
1541         * modules/count-leading-zeros (Files, lib_SOURCES):
1542         Add lib/count-leading-zeros.c.
1543         (Depends-on): Add extern-inline.
1544
1545         bitrotate: better 'inline'
1546         * lib/bitrotate.c: New file.
1547         * lib/bitrotate.h (BITROTATE_INLINE):
1548         New macros.
1549         Replace all uses of 'static inline' with them.
1550         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1551         * modules/bitrotate (Files, lib_SOURCES): Add lib/bitrotate.c.
1552         (Depends-on): Add extern-inline.
1553         (configure.ac): Do not require AC_C_INLINE.
1554
1555 2012-11-20  Theophile Ranquet <ranquet@lrde.epita.fr>
1556
1557         maint.mk: avoid gratuitous failure
1558         Reported by Stefano Lattarini in
1559         <http://lists.gnu.org/archive/html/bug-bison/2012-11/msg00022.html>
1560         * top/maint.mk (public-submodule-commit): Quote more safely.
1561
1562 2012-11-20  Eli Zaretskii  <eliz@gnu.org>
1563
1564         canonicalize, canonicalize-lgpl: support MS-Windows file names
1565         See <http://lists.gnu.org/archive/html/bug-gnulib/2012-11/msg00074.html>
1566         for test cases, which it'd be nice to add at some point.
1567         * lib/canonicalize.c, lib/canonicalize-lgpl.c: Include dosname.h.
1568         * lib/canonicalize.c (canonicalize_filename_mode):
1569         * lib/canonicalize-lgpl.c (__realpath):
1570         Use FILE_SYSTEM_PREFIX_LEN instead of assuming that the first
1571         slash is at the beginning of the file name.  Use ISSLASH, instead
1572         of a literal '/'.  Use IS_ABSOLUTE_FILE_NAME instead of comparing
1573         the first character with '/'.  Test for
1574         DOUBLE_SLASH_IS_DISTINCT_ROOT only if the file name does not begin
1575         with a drive letter.
1576         * lib/canonicalize.c (SLASHES): New macro.
1577         (canonicalize_filename_mode): Use SLASHES instead of a literal "/".
1578
1579 2012-11-17  Dmitry V. Levin  <ldv@altlinux.org>
1580
1581         fts: introduce FTS_VERBATIM
1582         * lib/fts_.h (FTS_VERBATIM): New bit flag.
1583         (FTS_OPTIONMASK, FTS_NAMEONLY, FTS_STOP): Adjust.
1584         * lib/fts.c (fts_open): Honor it.
1585
1586 2012-11-09  Pádraig Brady  <P@draigBrady.com>
1587
1588         getlogin-tests: allow errno == ENXIO
1589         * tests/test-getlogin.c (main): Skip tests if getlogin fails
1590         with errno == ENXIO (No controlling tty).
1591         getlogin_r-tests: Likewise. Also allow errno == ENOENT
1592         * tests/test-getlogin_r.c (main): Skip tests if getlogin_r fails
1593         with errno == ENOENT.  This was reported to happen in various
1594         situations on GNU/Linux.
1595
1596 2012-11-09  Paul Eggert  <eggert@cs.ucla.edu>
1597
1598         getlogin-tests: allow errno == ENOENT
1599         * tests/test-getlogin.c (main): Skip tests if getlogin fails
1600         with errno == ENOENT.  This happened to me on Ubuntu 12.04.1 x86,
1601         when running a test in an Emacs shell buffer.
1602
1603 2012-11-08  Jim Meyering  <jim@meyering.net>
1604
1605         tests/nap.h: avoid warning about unused variable
1606         * tests/nap.h (nap_works): Remove now-unused declaration of "result".
1607
1608         prefix-gnulib-mk: avoid overzealous "lib/"-prefix addition
1609         * build-aux/prefix-gnulib-mk (prefix): Tighten a regexp to require
1610         white space before each of the special-cased file names, to avoid
1611         adding "lib/" after $(libdir)/.  Reported by Matias A. fonzo
1612         in http://bugs.gnu.org/12830.
1613
1614 2012-11-08  Paul Eggert  <eggert@cs.ucla.edu>
1615
1616         fcntl-h: default O_SEARCH, O_EXEC back to O_RDONLY
1617         O_PATH doesn't work with Linux kernel 3.6.5, as fchmod (fd, ...)
1618         fails with errno == EBADF when fd is opened with O_PATH.
1619         Reported by Jim Meyering in
1620         <http://lists.gnu.org/archive/html/bug-gnulib/2012-11/msg00026.html>.
1621         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
1622         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default back to O_RDONLY.
1623
1624 2012-11-07  Paul Eggert  <eggert@cs.ucla.edu>
1625
1626         test-utimens: speed up by taking shorter naps
1627         * tests/nap.h (lt_mtime, get_mtime, nap_works, guess_delay):
1628         New functions.
1629         (nap): Use them, to do a better job of guessing the delay.
1630         On Fedora 17 with ext4 atop md atop hard disks, this made
1631         test-utimens run 10x faster, because the test napped for
1632         1 ms at a time rather than 20 ms.  Reported by Stefano Lattarini in
1633         <http://bugs.gnu.org/12820#11>.
1634
1635 2012-11-07  Jim Meyering  <jim@meyering.net>
1636
1637         mountlist.c: fix a compilation failure
1638         * lib/mountlist.c (read_file_system_list): Fix a compilation failure
1639         I introduced while transforming commit v0.0-7683-g613bcb6
1640
1641 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
1642
1643         errno: port to LynxOS 178 2.2.2
1644         Problem reported by Joel Brobecker in
1645         <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00088.html>.
1646         * doc/posix-headers/errno.texi (errno.h): Document this.
1647         * lib/errno.in.h (EILSEQ, GNULIB_defined_EILSEQ) [!EILSEQ]: New macros.
1648         * lib/strerror-override.c, lib/strerror-override.h (strerror_override):
1649         Supply a string for EILSEQ.
1650         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Check for EILSEQ.
1651
1652 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
1653
1654         fcntl-h: default O_SEARCH, O_EXEC to O_PATH if available
1655         Linux kernel 2.6.39 introduced O_PATH (see
1656         <http://lwn.net/Articles/433854/>) and this is a better fallback
1657         for O_SEARCH and O_EXEC than O_RDONLY, if O_PATH is available.
1658         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
1659         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default to O_PATH.
1660         * lib/fcntl.in.h (O_ACCMODE):
1661         * tests/test-fcntl-h.c (main):
1662         Do not reject O_ACCMODE merely because it has more than the
1663         minimal number of bits, as POSIX allows extensions here.
1664
1665 2012-11-04  Andrew Warshall  <warshall@99main.com>  (tiny change)
1666
1667         mountlist: do not classify a bind-mounted dir entry as "dummy"
1668         * lib/mountlist.c (ME_DUMMY_0): Rename from ME_DUMMY, but omit
1669         the "none"-testing clause.
1670         (ME_DUMMY) [MOUNTED_GETMNTENT1]: New macro to encapsulate the
1671         exception for bind-mounted directories.
1672
1673 2012-11-01  Akim Demaille  <akim@lrde.epita.fr>
1674
1675         quote: provide a means to escape strings with nul characters
1676         * lib/quote.h, lib/quotearg.c (quote_mem, quote_n_mem): New functions.
1677         (quote, quote_n): Rename formal arguments for consistency with
1678         quotearg.
1679
1680 2012-10-30  Paul Eggert  <eggert@cs.ucla.edu>
1681
1682         test-raise: don't assume 199 is an invalid signal
1683         * tests/test-raise.c (main): Don't assume 199 is not a signal number.
1684
1685         sh-quote-tests: port to Solaris 9
1686         * modules/sh-quote-tests (test_sh_quote_LDADD): Add @LIBINTL@.
1687         Problem reported by Dagobert Michelsen in
1688         <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00114.html>.
1689
1690 2012-10-28  Jim Meyering  <jim@meyering.net>
1691
1692         maint.mk: rename a new configurable variable
1693         * top/maint.mk (_gl_translatable_string_re): Rename from
1694         translation-markers: _gl_ prefix to insulate from user Makefile code,
1695         and the _re suffix to inform that it's a regular expression.
1696
1697 2012-10-26  Eric Blake  <eblake@redhat.com>
1698
1699         maint.mk: let packages tweak sc_po_check pattern
1700         * top/maint.mk (sc_po_check): Add translation-markers, to allow
1701         finding files with other translation markers.
1702
1703 2012-10-16  Paul Eggert  <eggert@cs.ucla.edu>
1704
1705         euidaccess: speed up 'configure' on GNU hosts
1706         * m4/euidaccess.m4 (gl_FUNC_NONREENTRANT_EUIDACCESS):
1707         Check for setregid here, not in gl_PREREQ_EUIDACCESS, since
1708         it's needed only in this case.  Use AC_CHECK_DECLS, not
1709         AC_CHECK_DECLS_ONCE.
1710         (gl_PREREQ_EUIDACCESS): Do not use AC_CHECK_HEADERS_ONCE libgen.h
1711         or AC_REQUIRE for AC_FUNC_GETGROUPS.
1712
1713         * lib/regexec.c (re_search_internal): Fix grammar in comment.
1714
1715 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
1716
1717         fchmodat, fchownat, fstatat: port to non-inlining compilers
1718         Problem reported for FreeBSD 9 by Jim Meyering in
1719         <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00070.html>.
1720         * lib/chmodat.c, lib/chownat.c, lib/statat.c:
1721         New files, which define FCHMODAT_INLINE etc.
1722         * lib/fchmodat.c (FCHMODAT_INLINE):
1723         * lib/fchownat.c (FCHOWNAT_INLINE):
1724         * lib/fstatat.c (FSTATAT_INLINE):
1725         Remove, as chmodat.c etc. now do this.
1726         * modules/fchmodat (Files): Add lib/chmodat.c.
1727         * modules/fchownat (Files): Add lib/chownat.c.
1728         * modules/fstatat (Files): Add lib/statat.c.
1729
1730 2012-10-15  Jim Meyering  <jim@meyering.net>
1731
1732         fchmodat.c, fchownat.c: compile-impeding typos
1733         * lib/fchmodat.c (FCHMODAT_INLINE): Fix typo: s/#include/#define/
1734         * lib/fchownat.c (FCHOWNAT_INLINE): Likewise.
1735         Introduced in commit v0.0-7636-gd202279.
1736
1737 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
1738
1739         fcntl-h: support GNU flags like O_IGNORE_CTTY
1740         * doc/posix-headers/fcntl.texi (fcntl.h): Support O_IGNORE_CTTY,
1741         O_NOLINK, and O_NOTRANS.  These flags are nonzero on GNU/Hurd
1742         systems.  Discovered when using fcntl-h with GNU Emacs, which uses
1743         O_IGNORE_CTTY.  Fix misspelling of F_SETLKW.
1744         * lib/fcntl.in.h (O_IGNORE_CTTY, O_NOLINK, O_NOTRANS):
1745         Define to 0 if not already defined.
1746         * tests/test-fcntl-h.c: Test these new flags.
1747
1748 2012-10-14  Paul Eggert  <eggert@cs.ucla.edu>
1749
1750         faccessat, etc.: support AT_FDCWD-only use
1751         * lib/at-func.c: If GNULIB_SUPPORT_ONLY_AT_FDCWD, then support
1752         this function only if its first argument is AT_FDCWD.
1753         Emacs wants faccessat for AT_EACCESS but not for any first-arg
1754         values other than AT_FDCWD, so it doesn't want all the openat
1755         machinery with fchdir etc.
1756         * modules/faccessat, modules/fchmodat, modules/fchownat (Files):
1757         * modules/fstatat, modules/mkdirat, modules/openat (Files):
1758         * modules/unlinkat (Files):
1759         Remove lib/openat-priv.h, as at-internal supplies this file.
1760         Removing this file here allows us to support programs like Emacs
1761         that avoid at-internal.
1762
1763         faccessat: speed up 'configure' on mainstream hosts
1764         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT):
1765         Use AT_CHECK_FUNCS for 'access', not AC_CHECK_FUNCS_ONCE,
1766         since it's only on unusual platforms that we need to check for
1767         'access', and it's better not to slow 'configure' down on all
1768         platforms.
1769
1770         faccessat: port to Solaris 10
1771         * lib/faccessat.c: Include <fcntl.h>, for AT_EACCESS.
1772         Needed on Solaris 10, which doesn't have AT_EACCESS,
1773         so we need the Gnulib fcntl.h, which defines it.
1774
1775 2012-10-14  Pádraig Brady  <P@draigBrady.com>
1776         canonicalize: fix C89 compilation
1777         * lib/canonicalize.c (canonicalize_filename_mode): Swap order of
1778         declarations so C89 is supported.  Also remove the comment
1779         referencing memorty allocation as the suggested feature could
1780         not be implemented as suggested.
1781         Reported by Michael Goffioul.
1782
1783 2012-10-12  Paul Eggert  <eggert@cs.ucla.edu>
1784
1785         group-member: omit unnecessary dependencies
1786         This is for Emacs, which has its own allocator and where we
1787         don't want to use xalloc.
1788         * lib/group-member.c: Include xalloc-oversized.h, not xalloc.h,
1789         since we no longer use xmalloc.  Do not include stdbool.h, since
1790         the changes below happen to remove the only use of bool.
1791         (GROUPBUF_SIZE): New constant.
1792         (struct group_info): Remove n_groups member.  Add groupbuf member.
1793         This lets us get the groups without using malloc, usually.
1794         (free_group_info, get_group_info): Adjust to this.
1795         (get_group_info): Return the number of groups found, or -1 on error.
1796         Use plain malloc not xmalloc, and treat its failure as if there
1797         are no groups, as the user already loses in case of error.
1798         (group_member): Simplify, based on changes to get_group_info.
1799         * modules/group-member (Depends-on): Remove dependencies on
1800         xalloc and stdbool.  Add dependency on xalloc-oversized.
1801
1802 2012-10-08  Alexandre Duret-Lutz  <adl@lrde.epita.fr>  (tiny change)
1803
1804         gethrxtime: port to C++
1805         * lib/gethrxtime.h, lib/xtime.h [__cplusplus]: Add extern "C".
1806
1807 2012-10-04  Paul Eggert  <eggert@cs.ucla.edu>
1808
1809         ptsname: fix macro-name typo
1810         * lib/stdlib.in.h (ptsname): Fix misspelling of GNULIB_NAMESPACE.
1811
1812 2012-10-03  Simon Josefsson  <simon@josefsson.org>
1813
1814         inttostr: Relax license.
1815         * modules/inttostr (License): Change from LGPL to LGPLv2+.
1816
1817 2012-10-03  Eric Blake  <eblake@redhat.com>
1818
1819         ptsname_r: support ptys returned by FreeBSD posix_openpt
1820         * lib/ptsname_r.c (__ptsname_r): Don't munge name if it already
1821         lives in /dev/pts/.
1822
1823 2012-10-02  Eric Blake  <eblake@redhat.com>
1824
1825         pselect: reject invalid file descriptors
1826         * m4/pselect.m4 (gl_FUNC_PSELECT): Probe for FreeBSD bug.
1827         * lib/pselect.c (rpl_pselect) [!win32]: Work around it.
1828         * modules/pselect (Depends-on): Add dup2.
1829         * doc/posix-functions/pselect.texi (pselect): Document this.
1830
1831         select: reject invalid file descriptors
1832         * m4/select.m4 (gl_FUNC_SELECT): Probe for FreeBSD bug.
1833         * lib/select.c (rpl_select) [!win32]: Work around it.
1834         * modules/select (Depends-on): Add dup2.
1835         * doc/posix-functions/select.texi (select): Document this.
1836
1837         select: enhance test
1838         * tests/test-select.h (do_select_bad_nfd_nowait, test_bad_nfd):
1839         New functions.
1840         (test_function): Enhance test.
1841         (do_select_bad_fd): Avoid any stale errno values.
1842
1843         ptsname: reject invalid file descriptors
1844         http://www.austingroupbugs.net/view.php?id=503
1845         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Probe for FreeBSD bug.
1846         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add new witness.
1847         * modules/stdlib (Makefile.am): Replace witness.
1848         * lib/stdlib.in.h (ptsname): Allow for replacement.
1849         * modules/ptsname (configure.ac): Trigger replacement.
1850         * doc/posix-functions/ptsname.texi (ptsname): Document this.
1851
1852 2012-10-02:  Nikos Mavrogiannopoulos  <nmav@gnutls.org>  (tiny change)
1853
1854         hash-pjw-bare: new module
1855         * lib/hash-pjw-bare.c: New file, very much like hash-pjw.c.
1856         * lib/hash-pjw-bare.h: Likewise.
1857         * modules/hash-pjw-bare: New file.
1858         * MODULES.html.sh (Misc): Add it.
1859
1860 2012-10-02  Eric Blake  <eblake@redhat.com>
1861
1862         manywarnings: cater to more gcc infelicities
1863         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add test for
1864         -Wuninitialized without -O.
1865
1866 2012-10-01  Ed Maste  <emaste@freebsd.org>  (tiny change)
1867
1868         select, poll tests: Make setsockopt invocation effective.
1869         * tests/test-poll.c (open_server_socket): Move setsockopt() call before
1870         the bind() call.
1871         * tests/test-select.h (open_server_socket): Likewise.
1872
1873 2012-09-30  Paul Eggert  <eggert@cs.ucla.edu>
1874
1875         sockets, sys_stat: restore AC_C_INLINE
1876         This undoes the 2012-09-22 patch.
1877         * m4/sockets.m4 (gl_SOCKETS):
1878         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
1879         Restore AC_C_INLINE, since MSVC requires __inline or _inline
1880         and does not support plain 'inline'.  Reported by Bruno Haible in
1881         <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00183.html>.
1882
1883 2012-09-30  Bruno Haible  <bruno@clisp.org>
1884
1885         localeconv tests: Avoid test failure on OpenIndiana.
1886         * tests/test-localeconv.c (main): On OpenIndiana (a Solaris 11 variant)
1887         skip the 'grouping' and 'mon_grouping' tests.
1888         Reported by Jim Meyering.
1889
1890 2012-09-30  Bruno Haible  <bruno@clisp.org>
1891
1892         havelib: Follow libtool developments.
1893         * m4/lib-ld.m4: Rebase on libtool.m4 from libtool-2.4.
1894         Suggested by Simon Josefsson.
1895
1896 2012-09-29  Jim Meyering  <meyering@redhat.com>
1897
1898         fstatat.c: fix a compile-impeding typo
1899         * lib/fstatat.c (FSTATAT_INLINE): Fix typo: s/#include/#define/
1900         Introduced in commit v0.0-7636-gd202279.
1901         Mats Erik Andersson reported the resulting OpenBSD compilation failure.
1902
1903 2012-09-28  Akim Demaille  <akim@lrde.epita.fr>
1904
1905         extern-inline: provide a -Wundef safe config.h
1906         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Protect
1907         "#if __GNUC_STDC_INLINE__" with "defined __GNUC_STDC_INLINE__"
1908         to produce a -Wundef warning free config.h.
1909
1910 2012-09-26  Paul Eggert  <eggert@cs.ucla.edu>
1911
1912         hash-pjw: relax license to LGPLv2+
1913         * modules/hash-pjw (License): Relax, with consent of author.
1914
1915 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
1916
1917         maint.mk: fix strict vs. lazy variable issues with RELEASE
1918         * top/maint.mk (_equal): New function.
1919         (member_check): Strip the result to avoid spurious spaces.
1920         (url_dir_list): Do not use ifeq, which is strict, as it will
1921         require RELEASE_TYPE to be defined.
1922         (announcement_Cc_, announcement_mail_headers_): Likewise: instead
1923         of relying on ifeq, use $(release_type) to dispatch (lazily) onto...
1924         (announcement_Cc_alpha,announcement_mail_headers_alpha)
1925         (announcement_Cc_beta,announcement_mail_headers_beta)
1926         (announcement_Cc_stable,announcement_mail_headers_stable): these.
1927         (release): Do not depend on $(release-type), as it forces its
1928         evaluation.  Bounce to it.
1929
1930 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
1931
1932         maint.mk: formatting changes
1933         * top/maint.mk: Indent bodies of if's.
1934
1935 2012-09-21  Akim Demaille  <akim@lrde.epita.fr>
1936
1937         maint.mk: factor the validation of RELEASE_TYPE
1938         With help from Jim Meyering.
1939         http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00132.html
1940         * top/maint.mk (_empty, _sp): Move their definition earlier.
1941         (member-check, release-type): New.
1942         Use the latter instead of $(RELEASE_TYPE).
1943         Remove now useless local checks.
1944
1945 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
1946
1947         maint.mk: provide "make upload" to ease uploading
1948         See
1949         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00028.html>.
1950         Do not depend simply on the current $(VERSION), as there may have been
1951         new commits since the tarball generation.  Rather, rely on $(RELEASE),
1952         as "make release-commit" already does.
1953
1954         For consistency, add "make release RELEASE='X.Y TYPE'" as an alias for
1955         "make TYPE".
1956
1957         * top/maint.mk (upload_command, upload, release): New.
1958         (RELEASE_TYPE): If undefined, default to the second word of $(RELEASE).
1959         (VERSION): first word of $(RELEASE) is always right.
1960         (emit_upload_commands): Adjust.
1961         * top/README-release: Update.
1962
1963 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
1964
1965         maint.mk: silent rules
1966         With help from Stefano Lattarini.
1967         * top/maint.mk (writable-files): Use $(AM_V_GEN).
1968         (announcement): Use $(AM_V_at).
1969
1970 2012-09-24  Paul Eggert  <eggert@cs.ucla.edu>
1971
1972         localename: port gl_locale_name_thread_unsafe to FreeBSD
1973         * lib/localename.c (gl_locale_name_thread_unsafe): Port to FreeBSD,
1974         and use the simpler FreeBSD implementation on Mac OS X as well.
1975         Original idea suggested by Ed Maste in
1976         <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00094.html>.
1977
1978 2012-09-22  Paul Eggert  <eggert@cs.ucla.edu>
1979
1980         binary-io, eealloc, mbfile, mbiter, mbutil, xsize: better 'inline'
1981         * lib/binary-io.c, lib/eealloc.c, lib/mbfile.c, lib/mbiter.c:
1982         * lib/mbuiter.c, lib/xsize.c: New files.
1983         * lib/binary-io.h (BINARY_IO_INLINE):
1984         * lib/eealloc.h (EEALLOC_INLINE):
1985         * lib/mbfile.h (MBFILE_INLINE):
1986         * lib/mbiter.h (MBITER_INLINE):
1987         * lib/mbuiter.h (MBUITER_INLINE):
1988         * lib/xsize.h (XSIZE_INLINE):
1989         New macros.
1990         Replace all uses of 'static inline' with them.
1991         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1992         * m4/eealloc.m4 (gl_EEALLOC):
1993         * m4/mbfile.m4 (gl_MBFILE):
1994         * m4/mbiter.m4 (gl_MBITER):
1995         * m4/xsize.m4 (gl_XSIZE):
1996         Do not require AC_C_INLINE.
1997         * modules/binary-io (Files, lib_SOURCES): Add lib/binary-io.c
1998         * modules/eealloc (Files, lib_SOURCES): Add lib/eealloc.c.
1999         * modules/mbfile (Files, lib_SOURCES): Add lib/mbfile.c.
2000         * modules/mbiter (Files, lib_SOURCES): Add lib/mbiter.c.
2001         * modules/mbuiter (Files, lib_SOURCES): Add lib/mbuiter.c.
2002         * modules/xsize (Files, lib_SOURCES): Add lib/xsize.c.
2003         * modules/binary-io, modules/eealloc, modules/mbfile:
2004         * modules/mbiter, modules/mbuiter:
2005         (Depends-on): Add extern-inline.
2006
2007         pipe-filter-gi, pipe-filter-ii: better use of 'inline'
2008         * lib/pipe-filter-aux.c: New file.
2009         * lib/pipe-filter-aux.h (PIPE_FILTER_AUX_INLINE): New macro.
2010         Replace all uses of 'static inline' with it.
2011         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2012         * lib/pipe-filter-gi.c (filter_init, filter_cleanup)
2013         (filter_retcode): No real need for inline here.
2014         * modules/pipe-filter-gi, modules/pipe-filter-ii:
2015         (Files): Add lib/pipe-filter-aux.c.
2016         (Depends-on): Add extern-inline.
2017         (configure.ac): Do not require AC_C_INLINE.
2018         (lib_SOURCES): Add pipe-filter-aux.c.
2019
2020         fdutimensat: omit unnecessary AC_C_INLINE
2021         * modules/fdutimensat (configure.ac): Remove AC_C_INLINE.
2022
2023         fchmodat, fchownat, fstatat: use extern-inline
2024         * lib/fchmodat.c, lib/openat.h (FCHMODAT_INLINE):
2025         * lib/fchownat.c, lib/openat.h (FCHOWNAT_INLINE):
2026         * lib/fstatat.c, lib/openat.h (FSTATAT_INLINE):
2027         New macros.
2028         * lib/openat.h:
2029         Replace all uses of 'static inline' with them.
2030         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2031         * modules/fchmodat, modules/fchownat, modules/fstatat:
2032         * modules/openat-h:
2033         (Depends-on):
2034         Add extern-inline.
2035         (configure.ac): Remove AC_C_INLINE.
2036
2037         acl, mbchar, priv-set: use extern-inline
2038         * lib/set-mode-acl.c, lib/acl-internal.h (ACL_INTERNAL_INLINE):
2039         * lib/mbchar.c, lib/mbchar.h (MBCHAR_INLINE):
2040         * lib/priv-set.c, lib/priv-set.h (PRIV_SET_INLINE):
2041         New macros.
2042         * lib/acl-internal.h, lib/mbchar.h, lib/priv-set.h:
2043         Replace all uses of 'static inline' with it.
2044         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2045         * m4/acl.m4 (gl_FUNC_ACL):
2046         * m4/mbchar.m4 (gl_MBCHAR):
2047         * m4/priv-set.m4 (gl_PRIV_SET):
2048         Remove AC_C_INLINE, since 'inline' is no longer used directly.
2049         * modules/acl, modules/mbchar, modules/priv-set (Depends-on):
2050         Add extern-inline.
2051
2052         sockets, sys_stat: remove AC_C_INLINE in MSVC-only cases
2053         * m4/sockets.m4 (gl_SOCKETS):
2054         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
2055         Remove AC_C_INLINE.  Here, 'inline' is used only in MSVC
2056         environments where it's already guaranteed to work, so we needn't
2057         check for it at 'configure'-time.
2058
2059         tls-tests: omit unnecessary 'inline'
2060         * tests/test-tls.c (perhaps_yield): No longer inline.
2061         Simplicity and portability trump efficiency in test cases.
2062
2063         utimens-tests: avoid unnecessary 'inline'
2064         * modules/fdutimensat-tests (configure.ac):
2065         * modules/futimens-tests (configure.ac):
2066         * modules/utimens-tests (configure.ac):
2067         * modules/utimensat-tests (configure.ac):
2068         Remove AC_C_INLINE.
2069         * tests/test-utimens-common.h (ctime_compare):
2070         No longer inline.  Simplicity and portability trump efficiency here.
2071
2072         misc: don't limit commentary to inline functions
2073         * lib/binary-io.h, lib/malloca.h, lib/safe-alloc.c:
2074         * lib/xalloc-oversized.h, lib/xsize.h:
2075         Contrast macros to functions in general, not just to inline functions,
2076         when the commentary does not apply only to inline functions.
2077
2078 2012-09-20  Jim Meyering  <meyering@redhat.com>
2079
2080         non-recursive-gnulib-prefix-hack: new module
2081         * build-aux/prefix-gnulib-mk: Copied from coreutils, derived from
2082         the file that originated in Bison.
2083         * m4/non-recursive-gnulib-prefix-hack.m4: Likewise, this code is
2084         largely copied from a snippet that resided in bison's configure.ac.
2085         * modules/non-recursive-gnulib-prefix-hack: New file.
2086         * MODULES.html.sh (Support for maintaining and releasing projects):
2087         Add it.
2088
2089 2012-09-18  Jim Meyering  <meyering@redhat.com>
2090
2091         maint.mk: generalize _gl_tight_scope for non-recursive make
2092         * top/maint.mk (_gl_tight_scope): Remove a hard-coded assumption
2093         that *.h would describe additional .h files in the directory
2094         specified by $(_gl_TS_dir).  I.e., add this...
2095         (_gl_TS_other_headers): New variable.
2096
2097         maint.mk: exempt trailing blanks found in "binary" files
2098         * top/maint.mk (sc_trailing_blank): Filter out any matches found in
2099         "binary" files, as reported by grep.  Suggested by Richard W.M. Jones
2100         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
2101
2102 2012-09-17  Jim Meyering  <meyering@redhat.com>
2103
2104         maint.mk: sc_prohibit_path_max_allocation: don't FP for UNIX_PATH_MAX
2105         * top/maint.mk (sc_prohibit_path_max_allocation): Avoid false-positive
2106         match for symbols like UNIX_PATH_MAX. Reported by Richard W.M. Jones
2107         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
2108
2109 2012-09-17  Jim Meyering  <meyering@redhat.com>
2110
2111         maint.mk: teach sc_prohibit_magic_number_exit to accept 77
2112         * top/maint.mk (sc_prohibit_magic_number_exit): Do not complain about
2113         uses like "exit (77)".  "77" is automake's "skip this test" exit code.
2114         It is not in the same category as "exit (0)" or "exit (1)", and
2115         besides, I know of no symbolic name for that 77.  Reported by
2116         Richard W.M. Jones in
2117         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
2118
2119 2012-09-17  Jim Meyering  <meyering@redhat.com>
2120
2121         maint.mk: relax sc_prohibit_strcmp, to avoid a false positive
2122         * top/maint.mk (sc_prohibit_strcmp): Relax regexp, so as to match
2123         all uses of #define, not just those that start in column 1.
2124         Richard W.M. Jones reported a false positive in
2125         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
2126
2127 2012-09-16  Paul Eggert  <eggert@cs.ucla.edu>
2128
2129         localcharset: work around Mac OS X bug with UTF-8 and MB_CUR_MAX
2130         * lib/localcharset.c (locale_charset) [DARWIN7]:
2131         Return "ASCII" if the system reports "UTF-8" and MB_CUR_MAX <= 1,
2132         as these two values are incompatible.  Problem reported by Max Horn.
2133         For more discussion, please see
2134         <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00061.html>.
2135
2136         doc: document sticky-EOF issue
2137         * doc/posix-functions/fgetc.texi (fgetc):
2138         * doc/posix-functions/fgets.texi (fgets):
2139         * doc/posix-functions/fread.texi (fread):
2140         * doc/posix-functions/fscanf.texi (fscanf):
2141         * doc/posix-functions/getc.texi (getc):
2142         * doc/posix-functions/getchar.texi (getchar):
2143         * doc/posix-functions/scanf.texi (scanf):
2144         Mention that glibc and default Solaris do not conform to
2145         C99 and POSIX-2001 or later, with respect to how getchar
2146         etc. behave when feof reports nonzero.
2147
2148 2012-09-13  Joachim Schmitz <jojo@schmitz-digital.de>  (tiny change)
2149
2150         poll: fix poll(0, NULL, msec)
2151         * lib/poll.c: don't exit early if NULL is the 1st arg to poll(),
2152         but nfd is 0.  In that case poll should behave like select.
2153
2154 2012-09-13  Joachim Schmitz <jojo@schmitz-digital.de>  (tiny change)
2155             Paolo Bonzini <bonzini@gnu.org>
2156
2157         poll: fix for systems that can't recv() on a non-socket
2158         * lib/poll.c: if recv returns ENOTSOCK, assume the descriptor
2159         is readable.  In this case POLLHUP will not be supported.
2160         * doc/posix-functions/poll.texi: Document this.
2161
2162 2012-09-13  Paolo Bonzini  <bonzini@gnu.org>
2163
2164         poll/select: document portability problems not fixed by Gnulib.
2165         * doc/posix-functions/poll.texi: poll does not work well on
2166         pipes under Windows.  It has the same limitations as select on
2167         BeOS.
2168         * doc/posix-functions/select.texi: select does not work well
2169         on pipes under Windows.
2170
2171 2012-09-10  Paul Eggert  <eggert@cs.ucla.edu>
2172
2173         fcntl-h: check for AIX 7.1 bug with O_NOFOLLOW and O_CREAT
2174         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Check for AIX 7.1 bug
2175         that caused a GNU tar test failure.  Problem reported by Jez Wain; see
2176         <http://lists.gnu.org/archive/html/bug-tar/2012-07/msg00018.html>.
2177
2178 2012-09-06  Eric Blake  <eblake@redhat.com>
2179
2180         net_if: give more details about the bug being fixed
2181         * doc/posix-headers/net_if.texi: Add clarification.
2182
2183 2012-09-05  Eric Blake  <eblake@redhat.com>
2184
2185         net_if: new module
2186         * modules/net_if: New module, borrowing ideas from netinet_in.
2187         * m4/net_if_h.m4: New file.
2188         * lib/net_if.in.h: Likewise.
2189         * doc/posix-headers/net_if.texi (net/if.h): Document it.
2190         * MODULES.html.sh (lacking POSIX:2008): Likewise.
2191         * tests/test-net_if.c: Make function checks conditional.
2192         Reported by Jasper Lievisse Adriaanse <jasper@humppa.nl>.
2193
2194 2012-09-05  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
2195
2196         readutmp: fix non-portable UT_PID use
2197         * lib/readutmp.c (desirable_utmp_entry) <READ_UTMP_CHECK_PIDS>:
2198         Use `UT_PID (u) > 0' as absolute condition.
2199
2200 2012-09-04  Jim Meyering  <meyering@redhat.com>
2201
2202         fts: reduce two or more trailing spaces to just one, usually
2203         * lib/fts.c (fts_open): Upon initialization, if a name ends in two
2204         or more slashes, trim all but the final one.  But if a name consists
2205         solely of two slashes, don't modify it.  If it consists solely of
2206         three or more slashes, strip all but one.
2207
2208         This is part of the solution to a minor problem with rm:
2209         it would print a bogus ELOOP diagnostic when failing to remove
2210         the slash-decorated name of a symlink-to-directory:
2211
2212             $ mkdir d && ln -s d s && env rm -r s/
2213             rm: cannot remove 's': Too many levels of symbolic links
2214
2215         With the change below and a trivial don't-trim-trailing-slashes
2216         adjustment to remove.c, it does this:
2217
2218             $ env rm -r s/
2219             rm: cannot remove 's/': Not a directory
2220
2221         Improved by: Eric Blake
2222
2223         fts: when there is no risk of overlap, use memcpy, not memmove
2224         * lib/fts.c (fts_alloc): Fix unjustified memcopy: s/memmove/memcpy/
2225
2226 2012-08-29  Paul Eggert  <eggert@cs.ucla.edu>
2227
2228         stdbool: be more compatible with mixed C/C++ compiles
2229         * lib/stdbool.in.h (_Bool, true, false) [__cplusplus]:
2230         Define to bool, true, false, respectively, as GCC's builtin
2231         stdbool.h does.  Problem reported by Michael Goffioul in
2232         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00143.html>.
2233
2234 2012-08-28  Jim Meyering  <meyering@redhat.com>
2235
2236         revert last change: it was not needed
2237         * tests/test-vc-list-files-git.sh: There's already a test for
2238         a working git, just below.
2239
2240 2012-08-28  Jim Meyering  <meyering@redhat.com>
2241
2242         tests: test-vc-list-files-git.sh: skip if git is not available
2243         * tests/test-vc-list-files-git.sh: Skip this test when git is
2244         not available.
2245
2246 2012-08-26  Bruno Haible  <bruno@clisp.org>
2247
2248         gnulib-tool: Remove no-op option --no-changelog.
2249         * gnulib-tool (func_usage): Don't mention --no-changelog.
2250         (do_changelog): Remove variable.
2251         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
2252
2253 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
2254
2255         doc: remove fdl-1.2.texi
2256         It is no longer used or maintained, and its use of @acronym
2257         is problematic.  See the thread containing
2258         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00134.html>.
2259         * config/srclist.txt: Remove doc/old-licenses/fdl-1.2.texi.
2260         * doc/old-licenses/fdl-1.2.texi: Remove.
2261
2262         execinfo: port to FreeBSD
2263         * m4/execinfo.m4 (gl_EXECINFO_H): Set LIB_EXECINFO to -lexecinfo
2264         if needed, as in FreeBSD.  Reported by Bastien Roucariès in
2265         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00113.html>.
2266         * modules/execinfo (Link): Add $(LIB_EXECINFO).
2267
2268 2012-08-23  Jim Meyering  <meyering@redhat.com>
2269
2270         xstrtol.h: avoid "_Noreturn is not at beginning of declaration" warning
2271         * lib/xstrtol.h: Put "_Noreturn" before "void" in declaration,
2272         to placate gcc's -Wold-style-declaration.
2273
2274 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
2275
2276         doc: do not use @acronym
2277         * doc/inet_ntoa.texi (inet_ntoa):
2278         * doc/parse-datetime.texi (Seconds since the Epoch)
2279         (Specifying time zone rules):
2280         * doc/posix-functions/inet_ntoa.texi (inet_ntoa):
2281         Don't use @acronym.  Problem reported by John Darlington in
2282         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00124.html>.
2283
2284 2012-08-23  Paul Eggert  <eggert@cs.ucla.edu>
2285
2286         stdnoreturn: port to newer GCCs
2287         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): Avoid problems with
2288         bleeding-edge GCC that complains about 'int _Noreturn foo (void);'.
2289         Problem reported by Jim Meyering in
2290         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00121.html>.
2291         Also, rename the 'test' function to a void a clash with the
2292         already-supplied 'main' function; this fixes a bug that incorrectly
2293         rejected GCC 4.7.1's <stdnoreturn.h>.
2294         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
2295         Document GCC problem.
2296
2297 2012-08-22  Reuben Thomas  <rrt@sc3d.org>
2298
2299         pipe-filter: fix comment typo
2300         * lib/pipe-filter.h: Mention correct function.
2301
2302 2012-08-22  Paul Eggert  <eggert@cs.ucla.edu>
2303
2304         execinfo: new module
2305         This is for Emacs.  Currently, it provides a no-effect stub
2306         on all platforms where it does not already work.
2307         It already works on glibc-based systems, and on Solaris 11.
2308         * lib/execinfo.c, lib/execinfo.in.h, m4/execinfo.m4, modules/execinfo:
2309         New files.
2310         * doc/glibc-headers/execinfo.texi (execinfo.h):
2311         * MODULES.html.sh (Misc): Document it.
2312
2313 2012-08-20  Paul Eggert  <eggert@cs.ucla.edu>
2314
2315         extern-inline: support old GCC 'inline'
2316         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Use pre-C99 GCC 'inline'
2317         if available.  This applies to GCC versions 2.7 through 4.2, or
2318         when newer GCC is using -fgnu89-inline.  The goal is to address
2319         some of the performance issues mentioned by Bruno Haible in
2320         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00097.html>.
2321
2322 2012-08-20  Eric Blake  <eblake@redhat.com>
2323
2324         maint.mk: avoid redundant file name in message
2325         * top/maint.mk (sc_prohibit_strcmp, sc_unmarked_diagnostics)
2326         (sc_prohibit_defined_have_decl_tests, sc_const_long_option)
2327         (sc_makefile_path_separator_check): Remove bogus $(ME).
2328
2329 2012-08-20  Mike Frysinger <vapier@gentoo.org>
2330
2331         timer-time: fix link order when static linking on glibc
2332         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
2333         _after_ -lrt so that it's significant.
2334
2335 2012-08-19  Paul Eggert  <eggert@cs.ucla.edu>
2336
2337         timespec: omit unnecessary AC_C_INLINE
2338         * m4/timespec.m4 (gl_TIMESPEC): Do not require AC_C_INLINE.
2339
2340         stat-time: omit unnecessary AC_C_INLINE
2341         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
2342         Do not require AC_C_INLINE.
2343
2344         ignore-value: omit unnecessary AC_C_INLINE
2345         * modules/ignore-value (configure.ac): Do not require AC_C_INLINE.
2346
2347         sys_select: avoid 'static inline'
2348         * lib/sys_select.in.h (rpl_fd_isset): Now static, not static inline.
2349
2350         mktime: avoid 'static inline'
2351         * lib/mktime.c (leapyear, ydhms_diff): Now static, not static inline.
2352         * m4/mktime.m4 (gl_PREREQ_MKTIME): Do not require AC_C_INLINE.
2353
2354 2012-08-19  Bruno Haible  <bruno@clisp.org>
2355
2356         gnulib-tool: Improve coding style.
2357         * gnulib-tool (func_emit_tests_Makefile_am): Set perhapsLT, like in
2358         func_emit_lib_Makefile_am.
2359         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
2360
2361 2012-08-19  Bruno Haible  <bruno@clisp.org>
2362
2363         gnulib-tool: Fix indentation.
2364         * gnulib-tool (func_import): Fix indentation.
2365
2366 2012-08-19  Bruno Haible  <bruno@clisp.org>
2367
2368         gnulib-tool: Remove old file names from .cvsignore, .gitignore.
2369         * gnulib-tool (func_update_ignorelist): Don't use 'join -v 1' command
2370         on the list of removed files.
2371
2372 2012-08-17  Paul Eggert  <eggert@cs.ucla.edu>
2373
2374         test-parse-datetime: avoid glibc leap-second glitch
2375         * tests/test-parse-datetime.c (main): Set TZ to US Eastern time
2376         with the 2012 rules.  Problem reported by Bruce Dubbs in
2377         <http://bugs.gnu.org/12206>.
2378
2379 2012-08-14  Bruno Haible  <bruno@clisp.org>
2380
2381         gnulib-tool: Fix indentation of generated gnulib-comp.m4 file.
2382         * gnulib-tool (func_emit_autoconf_snippet): Initialize indentation
2383         from argument.
2384         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
2385
2386 2012-08-14  Eric Blake  <eblake@redhat.com>
2387
2388         ldexp: relax license
2389         * modules/ldexp (License): Trivial relax, since the module only
2390         provides a permissively licensed m4 file.
2391
2392 2012-08-13  Bruno Haible  <bruno@clisp.org>
2393
2394         gnulib-tool: Fix persistence of --witness-c-macro option.
2395         * gnulib-tool (func_import): Fix typo in emit of gl_WITNESS_C_MACRO.
2396         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
2397
2398 2012-08-11  Eric Blake  <eblake@redhat.com>
2399
2400         count-leading-zeros: use a lookup table on non-gcc compilers
2401         * lib/count-leading-zeros.h (count_leading_zeros_32): Use an
2402         alternate implementation, suggested by Jim Meyering.
2403
2404 2012-08-10  Eric Blake  <eblake@redhat.com>
2405
2406         count-leading-zeros: new module
2407         * modules/count-leading-zeros: New module.
2408         * m4/count-leading-zeros.m4: New file.
2409         * lib/count-leading-zeros.h: Likewise.
2410         * modules/count-leading-zeros-tests: New test.
2411         * tests/test-count-leading-zeros.c: New file.
2412         * MODULES.html.sh (Integer arithmetic functions): Document it.
2413
2414 2012-08-07  Simon Josefsson  <simon@josefsson.org>
2415             Jim Meyering  <meyering@redhat.com>
2416
2417         maintainer-makefile: Fix syntax error with dash.
2418         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): Quote arguments.
2419         (sc_vulnerable_makefile_CVE-2012-3386): Likewise.
2420
2421 2012-08-05  Jim Meyering  <meyering@redhat.com>
2422
2423         extern-inline: also ignore -Wmissing-declarations
2424         * m4/extern-inline.m4: Also ignore -Wmissing-declarations,
2425         required with gcc-4.8.0-to-be.
2426
2427         maint.mk: sc_prohibit_magic_number_exit: avoid new false positives
2428         * top/maint.mk (sc_prohibit_magic_number_exit): Also filter out matches
2429         for /error ?([^,]*)/.  This avoids false-positives for strings like
2430         "Unknown error (252)", introduced via commit v0.0-7538-g92875a6.
2431
2432 2012-08-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
2433
2434         gnumakefile: better interaction with Automake-NG
2435         * modules/gnumakefile [Makefile.am]: The makefiles generated by
2436         Automake-NG always contain a definition of VPATH, even in non-VPATH
2437         builds (its value being simply '.' in that case).  So, in the
2438         'clean-GNUmakefile' rule, to determine whether running under a
2439         VPATH setup, compare '$(srcdir)' to '.' rather than checking whether
2440         '$(VPATH)' expands to the empty string.
2441
2442 2012-08-02  Carlo de Falco  <carlo.defalco@polimi.it>  (tiny change)
2443
2444         base64: Use extern C scope in header file, for C++.
2445         * lib/base64.h: Add C++ namespace protection.
2446
2447 2012-08-02  Paul Eggert  <eggert@cs.ucla.edu>
2448
2449         stat-time, timespec, u64: support naive out-of-dir builds
2450         * lib/stat-time.c, lib/timespec.c, lib/u64.c:
2451         Use '#include "foo.h"', not '#include <foo.h>', when including
2452         one's own interface.  This works better when configuring with
2453         out-of-directory builds, since packages need not add an
2454         otherwise-unnecessary -I$(topdir_src)/lib to DEFAULT_INCLUDES.
2455
2456 2012-08-01  Paul Eggert  <eggert@cs.ucla.edu>
2457
2458         utimens: use extern-inline
2459         * lib/utimens.c (_GL_UTIMENS_INLINE): Define when including utimens.h.
2460         * lib/utimens.h: Add copyright notice, since this is now large enough
2461         to copyright.  Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2462         (_GL_UTIMENS_INLINE): New macro.  Use it instead of 'static inline'.
2463         * modules/utimens (Depends-on): Add extern-inline.
2464
2465         u64: use extern-inline
2466         * lib/u64.c: New file.
2467         * lib/u64.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2468         (_GL_U64_INLINE): New macro.  Use it instead of 'static inline'.
2469         * modules/u64 (Files): Add lib/u64.c.
2470         (Depends-on): Add extern-inline.
2471         (configure.ac): No need to require AC_C_INLINE, since extern-inline
2472         does that now.
2473         (lib_SOURCES): Add u64.c.
2474
2475         timespec: use extern-inline
2476         * lib/timespec.c: New file.
2477         * lib/timespec.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2478         (_GL_TIMESPEC_INLINE): New macro.  Use it instead of 'static inline'.
2479         * modules/timespec (Files): Add lib/timespec.c.
2480         (Depends-on): Add extern-inline.
2481         (lib_SOURCES): Add timespec.c.
2482
2483         stat-time: use extern-inline
2484         * lib/stat-time.c: New file.
2485         * lib/stat-time.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2486         (_GL_STAT_TIME_INLINE): New macro.  Use it instead of 'static inline'.
2487         * modules/stat-time (Files): Add lib/stat-time.c.
2488         (Depends-on): Add extern-inline.
2489         (lib_SOURCES): Add stat-time.c.
2490
2491         extern-inline: new module
2492         * modules/extern-inline, m4/extern-inline.m4: New files.
2493         This is for better support of 'extern inline' a la ISO C99,
2494         with a portable alternative on compilers that do not support
2495         C99-style 'extern inline'.  Using 'extern inline' shrinks the size
2496         of the Emacs executable, when compiled with debugging disabled,
2497         which is a typical way that Emacs is built while developing.
2498
2499 2012-08-01  Akim Demaille  <akim@lrde.epita.fr>
2500
2501         maint.mk: a "release-commit" wrapper to do-release-commit-and-tag
2502         * build-aux/do-release-commit-and-tag: Move variable definitions
2503         together.
2504         ($branch): Instead of defaulting to "master", default to the current
2505         branch (as gnu-web-doc-update does).
2506         (help): Display the current values of the option arguments.
2507         * top/maint.mk (release-commit): New.
2508         * top/README-release: Simplify the corresponding step.
2509
2510 2012-07-30  Eric Blake  <eblake@redhat.com>
2511
2512         passfd: fix comment on recvfd
2513         * lib/passfd.c (recvfd): Fix comment.
2514         Reported by Jann Horn <jannhorn@googlemail.com>.
2515
2516 2012-07-30  Jim Meyering  <meyering@redhat.com>
2517
2518         maint.mk: avoid a sub-shell
2519         * top/maint.mk (release-prep): Remove unneeded sub-shell.
2520
2521 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
2522
2523         maint.mk: use silent-rules support from Automake
2524         * top/maint.mk (news-check, vc-diff-check, announcement)
2525         (no-submodule-changes, alpha beta stable, release-prep)
2526         (web-manual, update-copyright): Use $(AM_V_GEN) and $(AM_V_at).
2527
2528 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
2529
2530         maint.mk: provide a web-manual-update target
2531         * top/maint.mk: here.
2532         * top/README-release: Use it to simplify the web manual update step.
2533
2534 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
2535
2536         README-release: shorten the circuit to post a news
2537         * top/README-release: Point directly to the news submission form.
2538
2539 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
2540
2541         gnu-web-doc-update: fix --help
2542         * build-aux/gnu-web-doc-update: The information "top level" was written
2543         twice.
2544
2545 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
2546
2547         maint.mk: absolute VPATH issue
2548         * top/maint.mk (release-prep): Help Git find .git/.
2549         From Jim Meyering.
2550
2551 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
2552
2553         gitlog-to-changelog: fix previous change
2554         * build-aux/gitlog-to-changelog: Fix condition.
2555         Add missing ";".
2556
2557 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
2558
2559         gitlog-to-changelog: don't expect .git to be in $srcdir
2560         Reported by Bruno Haible.
2561         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00265.html>
2562         * build-aux/gitlog-to-changelog (&git_dir_option): New.
2563         Use it.
2564
2565 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
2566
2567         maint.mk: absolute VPATH build fix
2568         * top/maint.mk (gpg_key_ID): Help git find .git when, for instance,
2569         $(srcdir) is not a parent of $(builddir).
2570
2571 2012-07-28  John Darrington  <john@darrington.wattle.id.au>
2572
2573         clean-temp: Fix memory leak.
2574         * lib/clean-temp.c (cleanup_temp_dir): Free also the 'subdirs' and
2575         'files' members of tmpdir.
2576
2577 2012-07-27  Jim Meyering  <meyering@redhat.com>
2578
2579         maint.mk: new rule: refresh-gnulib-patches
2580         I noticed that 8 of coreutils' 9 gl/**/*.diff files were stale.
2581         Use this rule to refresh them.
2582         * top/maint.mk (refresh-gnulib-patches): New rule.
2583
2584 2012-07-24  Bruno Haible  <bruno@clisp.org>
2585
2586         gnulib-tool: Fix handling of inctests variable.
2587         * gnulib-tool: Canonicalize $inctests also in 'update' mode.
2588         Reported by Nick Bowler <nbowler@elliptictech.com>.
2589
2590 2012-07-22  Bruno Haible  <bruno@clisp.org>
2591
2592         getpass: Assume AC_CHECK_DECLS_ONCE invocation, like in getpass.m4.
2593         * lib/getpass.h: Assume HAVE_DECL_GETPASS is defined.
2594         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
2595         Remove exemption for getpass.h.
2596         Suggested by Eric Blake.
2597
2598 2012-07-20  Eric Blake  <eblake@redhat.com>
2599
2600         verify: document conflict with -Wnested-externs
2601         * lib/verify.h: Give hint about usage when gcc warnings are enabled.
2602
2603         maint.mk: forbid exit(-1)
2604         * top/maint.mk (sc_prohibit_magic_number_exit): Detect negatives.
2605
2606 2012-07-20  Paul Eggert  <eggert@cs.ucla.edu>
2607
2608         fsusage: port back to Solaris
2609         * lib/fsusage.c (get_fs_usage): Fix busted logic causing compile-time
2610         error (fsd not declared) on Solaris 10.  Reported privately by
2611         Andrew Borodin.
2612
2613 2012-07-19  Akim Demaille  <akim@lrde.epita.fr>
2614
2615         gnu-web-doc-update: fix error messages
2616         * build-aux/gnu-web-doc-update: Don't pass $ME to die.
2617
2618         gnu-web-doc-update: check the requirements.
2619         * build-aux/gnu-web-doc-update (find_tool): Import from bootstrap.
2620         ($CVS, $CVSU, $GIT, $RSYNC, $XARGS): New.
2621         * build-aux/bootstrap (find_tool): Comment change.
2622
2623 2012-07-17  Akim Demaille  <akim@lrde.epita.fr>
2624
2625         maint.mk: minor simplication.
2626         * top/maint.mk (_sc_excl): Use $(or...) instead of $(if...)
2627         for default values.
2628
2629 2012-07-15  Akim Demaille  <akim@lrde.epita.fr>
2630
2631         gitlog-to-changelog: VPATH build issues
2632         If builddir is not a subdirectory of srcdir, running git from it will
2633         fail.
2634         * build-aux/gitlog-to-changelog (--srcdir): New option.
2635
2636 2012-07-15  Bruno Haible  <bruno@clisp.org>
2637
2638         fpending: Assume AC_CHECK_DECLS_ONCE invocation, like in fpending.m4.
2639         * lib/fpending.h: Assume HAVE_DECL___FPENDING is defined.
2640         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests)
2641         Remove exemption for fpending.h.
2642         Suggested by Eric Blake.
2643
2644 2012-07-15  Paul Eggert  <eggert@cs.ucla.edu>
2645
2646         pthread_sigmask: fix bug on FreeBSD 9
2647         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_INEFFECTIVE]:
2648         Include string.h.
2649         (pthread_sigmask) [PTHREAD_SIGMASK_INEFFECTIVE]:
2650         When calling pthread_sigmask (1729, NEW, OLD), specify non-null NEW;
2651         this avoids a bug on FreeBSD 9, where pthread_sigmask is effective
2652         but pthread_sigmask (1729, NULL, NULL) returns zero.
2653         See <http://bugs.gnu.org/11884>.
2654         Avoid the need to call pthread_sigmask (1729, ...) in most cases,
2655         by inspecting whether the main call changed the old mask.
2656
2657 2012-07-15  Reuben Thomas  <rrt@sc3d.org>
2658
2659         README-release: make it more legible
2660         * top/README-release: Improve typography slightly.
2661
2662 2012-07-15  Jim Meyering  <meyering@redhat.com>
2663
2664         maint: require that each sc_... command start with "@"
2665         * Makefile (sc_prohibit_sc_omitted_at): New rule so that
2666         "make sc_maint" helps us avoid this nit.
2667
2668 2012-07-15  Jim Meyering  <meyering@redhat.com>
2669
2670         maint.mk: add leading "@" to quiet new "make syntax-check" rule
2671         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Add "@".
2672
2673 2012-07-13  Eric Blake  <eblake@redhat.com>
2674
2675         maint.mk: new syntax check for HAVE_DECL checks
2676         * top/maint.mk (sc_prohibit_defined_have_decl_tests): New rule.
2677         * cfg.mk
2678         (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
2679         Exempt some false positives.
2680         Based on a report by Karel Zak.
2681
2682         argp: make HAVE_DECL usage consistent
2683         * lib/argp-parse.c (__argp_parse): Check contents of HAVE_DECL
2684         macros, not whether they are defined.
2685         * m4/argp.m4 (gl_ARGP): Always define HAVE_DECL_* macros, per
2686         convention with other declaration checks.
2687         Reported by Karel Zak, with suggestions from Paul Eggert.
2688
2689         stat-time: relax license to LGPLv2+
2690         * modules/stat-time (License): Relax, with consent of all authors.
2691
2692         strndup: fix m4 usage error
2693         * m4/strndup.m4 (gl_FUNC_STRNDUP): HAVE_DECL_STRNDUP is always
2694         defined, to either 0 or 1.
2695         Reported by Karel Zak.
2696
2697 2012-07-11  Jim Meyering  <meyering@redhat.com>
2698
2699         maint: enable the sc_avoid_if_before_free syntax-check rule
2700         * cfg.mk (local-checks-to-skip): Enable sc_avoid_if_before_free.
2701         (if_before_free_offenders_): Define.
2702         (if_before_free_basename_re_): Define.
2703         Exempt current files with useless if-before-free.
2704
2705 2012-07-11  Paul Eggert  <eggert@cs.ucla.edu>
2706
2707         gettext: do not assume '#define ... defined ...' behavior
2708         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS):
2709         Do not use '#define FOO ... defined BAR ...', as the C standard says
2710         it's not portable to expect that this works after macro expansion.
2711         Problem reported for gzip by Steven M. Schweda in
2712         <http://lists.gnu.org/archive/html/bug-gzip/2012-07/msg00000.html>.
2713
2714 2012-07-10  Paul Eggert  <eggert@cs.ucla.edu>
2715
2716         getloadavg: clean out old Emacs and Autoconf cruft
2717         See Glenn Morris in <http://bugs.gnu.org/11905>.
2718         * lib/getloadavg.c: Include <config.h>, <stdbool.h> always.
2719         Include <sys/param.h> if HAVE_SYS_PARAM_H, not if unix or __unix.
2720         (LDAV_CVT): Remove no-longer-used LOAD_AVE_CVT hook.
2721         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Check for <sys/param.h>.
2722
2723 2012-07-10  Akim Demaille  <akim@lrde.epita.fr>
2724
2725         bootstrap: let warn be like tests/init.sh's warn_
2726         Reported by Jim Meyering.
2727         * build-aux/bootstrap (warn): Remove, replaced by...
2728         (warnf_, warn_): these.
2729         Adjust callers.
2730         Shorten messages that no longer fit in 80 columns.
2731
2732 2012-07-09  Bruno Haible  <bruno@clisp.org>
2733
2734         getopt: Simplify after Emacs changed.
2735         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Inline gl_GETOPT_IFELSE.
2736         (gl_GETOPT_IFELSE): Remove macro.
2737
2738 2012-07-09  Jim Meyering  <meyering@redhat.com>
2739
2740         maint.mk: add sc_vulnerable_makefile_CVE-2012-3386
2741         * top/maint.mk (sc_vulnerable_makefile_CVE-2012-3386): New rule.
2742
2743         maint.mk: _sc_search_regexp, sc_vulnerable_makefile_CVE-2009-4029: fix
2744         Bugs in both of those conspired to make the
2745         sc_vulnerable_makefile_CVE-2009-4029 rule 99% useless.
2746         _sc_search_regexp's handling of non-empty $in_files would filter
2747         out any offending file names.  sc_vulnerable_makefile_CVE-2009-4029's
2748         choice of in_files value meant there would be no match in most
2749         projects, due to the presence of two or more Makefile.in files.
2750         * top/maint.mk (_sc_search_regexp) [in_vc_files,in_files]: Clarify.
2751         Fix a bug in how a non-empty $$in_files was processed:
2752         (sc_vulnerable_makefile_CVE-2009-4029): Fix erroneous use of in_files:
2753         in spite of the name, it's a regexp, not a list of file names.
2754
2755 2012-07-09  Paul Eggert  <eggert@cs.ucla.edu>
2756
2757         getloadavg, getopt: fix commentary re configure.in
2758         Autoconf is deprecating the name 'configure.in', so change it to
2759         to the new name 'configure.ac' in a couple of places.
2760         * lib/getloadavg.c: configure.in -> configure.ac, in comment.
2761         * m4/getopt.m4 (gl_GETOPT_IFELSE, gl_GETOPT_SUBSTITUTE_HEADER)
2762         (gl_PREREQ_GETOPT): Remove obsolete commentary re Emacs configure.in.
2763         Emacs has renamed it to configure.ac, and it no longer refers
2764         to these macros anyway.
2765
2766         timespec: mark functions with const attributes
2767         * lib/timespec.h (timespec_add, timespec_sub, dtotimespec):
2768         Mark with _GL_ATTRIBUTE_CONST.
2769
2770 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
2771
2772         canonicalize[-lgpl]: handle "guessing" values when cross-building
2773         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
2774         (gl_CANONICALIZE_LGPL): Check whether $gl_cv_func_realpath_works
2775         matches "*yes" instead of just "yes".  Regression introduced in commit
2776         e0bcf6626cde8dad4bfbdc4045c744f0cd8b9e24.
2777
2778 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
2779             Bruno Haible  <bruno@clisp.org>
2780
2781         canonicalize: make the right guess when cross-compiling to GNU
2782         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Match also "gnu*" to
2783         determine whether cross-compiling to glibc systems, so as to
2784         include GNU/Hurd.
2785
2786 2012-07-06  Paul Eggert  <eggert@cs.ucla.edu>
2787
2788         timespec-sub: avoid duplicate include
2789         * lib/timespec-sub.c: Do not include <config.h> twice.
2790         Reported by Juanma Barranquero.
2791
2792 2012-07-06  Akim Demaille  <akim@lrde.epita.fr>
2793
2794         bootstrap: use a more consistent error reporting scheme
2795         * build-aux/bootstrap (warn, die): New.
2796         Use them.
2797
2798 2012-07-05  Paul Eggert  <eggert@cs.ucla.edu>
2799
2800         sys_time: allow too-wide tv_sec
2801         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Allow struct
2802         timeval even if tv_sec is wider than time_t.  This allows
2803         OpenBSD 5.1 amd64 and fixes an Emacs porting glitch with utimens.c,
2804         as without this patch gnulib replaces struct timeval
2805         and OpenBSD futimes therefore has a type mismatch.
2806         * doc/posix-headers/sys_time.texi: Mention this.
2807
2808         pthread: check for both pthread_create and pthread_join
2809         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, but
2810         alter the check so that it tests for both pthread_create and
2811         pthread_join.  This should be more portable to hosts like OSF/1 5.1.
2812         Suggested by Bruno Haible and Richard Yao in
2813         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00048.html>.
2814
2815         parse-datetime: doc tuneup
2816         * doc/parse-datetime.texi: Index "leap seconds" and fix minor
2817         spacing issues.
2818
2819 2012-07-05  Akim Demaille  <akim@lrde.epita.fr>
2820
2821         do-release-commit-and-tag: fix the previous commit
2822         * build-aux/do-release-commit-and-tag: Actually the test was right,
2823         but the comment and the error message were misleading.
2824         Fix comment, and improve error message.
2825         Perform check first, so that NEWS is not modified uselessly.
2826
2827         do-release-commit-and-tag: fix typo
2828         * build-aux/do-release-commit-and-tag: Be sure that NEWS does
2829         _not_ start with a stub.
2830
2831 2012-07-04  Paul Eggert  <eggert@cs.ucla.edu>
2832
2833         pthread: check for pthread_create, not pthread_join
2834         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_create, not
2835         pthread_join.  On FreeBSD 9, pthread_create is in libpthread but
2836         pthread_join in libc.  I hope this removes the need for all the
2837         OSF/1 5.1 pthread_join business.  Reported by Richard Yao in
2838         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00042.html>.
2839
2840 2012-07-04  Jim Meyering  <meyering@redhat.com>
2841
2842         parse-datetime: fix failure to diagnose invalid input
2843         date -d "$(printf '\xb0')" would print 00:00:00 with today's date
2844         rather than diagnosing the invalid input.  Now it reports this:
2845         date: invalid date '\260'
2846         * lib/parse-datetime.y (to_uchar): Define.
2847         (yylex): Don't sign-extend "other" bytes.
2848         * m4/parse-datetime.m4: Require AC_C_INLINE for first use of "inline".
2849         Thanks to Bruno Haible for the patch to this file.
2850         * tests/test-parse-datetime.c (main): Add a test to trigger the bug.
2851         Peter Evans reported the bug in GNU date: http://bugs.gnu.org/11843
2852
2853 2012-07-03  Jim Meyering  <meyering@redhat.com>
2854
2855         bootstrap: do not require now-removed build-aux/missing
2856         Now that build-aux/missing is, er, missing, bootstrap would
2857         silently fail.
2858         * build-aux/bootstrap (gnulib_extra_files): Remove $build_aux/missing
2859         from the list, now that (since commit v0.0-7489-gd0f486f) the file is
2860         no longer part of gnulib.
2861         Diagnose the failure.
2862
2863 2012-07-03  Paul Eggert  <eggert@cs.ucla.edu>
2864
2865         alloca: add support for HP NonStop TNS/E native
2866         * lib/alloca.in.h (alloca): Support the new host.
2867         From a suggestion by Joachim Schmitz in
2868         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00355.html>.
2869
2870 2012-07-02  Pádraig Brady  <P@draigBrady.com>
2871
2872         fsusage: remove code not needed on non GNU/Linux systems.
2873
2874         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
2875         Don't include headers no longer needed in this case.
2876         * lib/fsusage.c [STAT_STATVFS &&
2877         ! (__linux__ && (__GLIBC__||__UCLIBC__))]: Undefine
2878         STAT_STATFS2_FRSIZE to exclude code not used in this case.
2879
2880 2012-07-02  Paul Eggert  <eggert@cs.ucla.edu>
2881
2882         fsusage: include files needed for glibc 2.6 fallback
2883         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
2884         Include <sys/param.h>, <sys/mount.h>, <sys/vfs.h>
2885         as they are needed for the 2.6 < glibc/Linux < 2.6.36 fallback.
2886         Problem reported by Ludovic Courtès in
2887         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00005.html>.
2888
2889         fsusage: avoid needless check on GNU/Linux
2890         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Omit STAT_STATFS3_OSF1 check
2891         on GNU/Linux systems, since it can't possibly work.
2892
2893 2012-07-01  Bruno Haible  <bruno@clisp.org>
2894
2895         log: Fix an autoconf >= 2.64 warning.
2896         * modules/log (configure.ac): Require, not invoke, gl_FUNC_LOG.
2897         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
2898
2899 2012-06-28  Bruno Haible  <bruno@clisp.org>
2900
2901         log10f: Fix possible configuration problem.
2902         * m4/log10f.m4 (gl_FUNC_LOG10F): Augment LIBS by $LOG10F_LIBM, not
2903         $LOGF_LIBM.
2904         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
2905
2906 2012-06-28  Bruno Haible  <bruno@clisp.org>
2907
2908         remove: No longer override on all platforms. Fixes bug from 2010-03-20.
2909         * m4/remove.m4 (gl_FUNC_REMOVE): Test gl_cv_func_unlink_honors_slashes,
2910         not gl_cv_func_unlink_works.
2911         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
2912
2913 2012-06-27  Eric Blake  <eblake@redhat.com>
2914
2915         config: drop scripts that automake says are not independent
2916         * config/srclist.txt: Drop elisp-comp, missing, and ylwrap.
2917         * build-aux/elisp-comp: Delete.
2918         * build-aux/missing: Likewise.
2919         * build-aux/ylwrap: Likewise.
2920         * modules/elisp-comp: Likewise.
2921         * MODULES.html.sh: Drop mention of elisp-comp.
2922         * NEWS: Mention this.
2923
2924 2012-06-26  Paul Eggert  <eggert@cs.ucla.edu>
2925
2926         root-uid: new module
2927         This is for portability to Tandem's NonStop Kernel.
2928         * lib/root-uid.h, modules/root-uid: New files.
2929         * lib/euidaccess.c, lib/pt_chown.c, lib/unlinkdir.c:
2930         * lib/write-any-file.c, tests/test-sethostname2.c:
2931         Include "root-uid.h".
2932         * lib/euidaccess.c (euidaccess):
2933         * lib/pt_chown.c (main):
2934         * lib/unlinkdir.c (cannot_unlink_dir):
2935         * lib/write-any-file.c (can_write_any_file):
2936         * m4/mknod.m4 (gl_FUNC_MKNOD):
2937         * tests/test-sethostname2.c (geteuid, main):
2938         Don't assume ROOT_UID == 0.
2939         * modules/euidaccess (Depends-on):
2940         * modules/pt_chown (Depends-on):
2941         * modules/sethostname-tests (Depends-on):
2942         * modules/unlinkdir (Depends-on):
2943         * modules/write-any-file (Depends-on):
2944         Add root-uid.
2945
2946         regex: use locale-independent comparison for codeset name
2947         See Bruno Haible's comment in <http://bugs.gnu.org/10305#120>.
2948         * lib/regcomp.c (init_dfa): Use just ASCII case comparison
2949         for codeset name.
2950         * lib/regex_internal.h: Do not include <strings.h>, since we
2951         no longer use strcasecmp.
2952         * modules/regex (Depends-on): Remove strcase.
2953
2954 2012-06-23  Bruno Haible  <bruno@clisp.org>
2955
2956         getopt-posix: No longer guarantee that option processing is resettable.
2957         * doc/posix-functions/getopt.texi: Drop description of problem with
2958         internal state. Fix info about mingw and msvc9.
2959         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't require a resettable
2960         option processing by getopt(). Run three test programs instead of one.
2961         Simplify cross-compilation guess.
2962         * NEWS: Mention the change.
2963         Reported by Rich Felker <dalias@aerifal.cx>.
2964
2965 2012-06-26  Bruno Haible  <bruno@clisp.org>
2966
2967         argp, regex: Ensure strcasecmp gets declared.
2968         * lib/argp-help.c: Include <strings.h>.
2969         * lib/regex_internal.h: Likewise.
2970         Reported and suggested by Joachim Schmitz <jojo@schmitz-digital.de>.
2971
2972 2012-06-24  Bruno Haible  <bruno@clisp.org>
2973
2974         ptsname_r: Make it consistent with ptsname on AIX.
2975         * lib/ptsname_r.c (__ptsname_r): For AIX, use nearly the same
2976         implementation as for OSF/1.
2977         * tests/test-ptsname_r.c (main) [AIX]: Use the modern way of opening
2978         a pty master.
2979
2980         ptsname_r: Make it consistent with ptsname on OSF/1.
2981         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
2982         OSF/1.
2983
2984 2012-06-24  Bruno Haible  <bruno@clisp.org>
2985
2986         ttyname_r: Fix result on OSF/1, Solaris.
2987         * lib/ttyname_r.c (ttyname_r): Produce a NUL-terminated result.
2988
2989 2012-06-24  Bruno Haible  <bruno@clisp.org>
2990
2991         ptsname_r: Add support for Solaris.
2992         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
2993         Solaris.
2994
2995         ptsname_r: Fix test failure on native Windows.
2996         * modules/ptsname_r (Depends-on): Add isatty.
2997
2998         ptsname_r: Fix test failures on IRIX, Solaris.
2999         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Test whether isatty sets
3000         errno when it fails. Define ISATTY_FAILS_WITHOUT_SETTING_ERRNO
3001         accordingly.
3002         * lib/ptsname_r.c: Include <fcntl.h>.
3003         (__ptsname_r): When isatty returned false, then on IRIX, Solaris
3004         set errno if fd is invalid.
3005         * tests/test-isatty.c (main): Update comments.
3006
3007 2012-06-24  Bruno Haible  <bruno@clisp.org>
3008
3009         ptsname test: Extend test.
3010         * tests/test-ptsname.c: Include <errno.h>.
3011         (main): Test behaviour with invalid file descriptor.
3012
3013 2012-06-23  Paul Eggert  <eggert@cs.ucla.edu>
3014
3015         time: fix obsolete comment
3016         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Remove obsolete
3017         reference to HAVE_STRUCT_TIMESPEC in comment.
3018
3019 2012-06-23  Bruno Haible  <bruno@clisp.org>
3020
3021         getopt-gnu: Handle suboptimal getopt_long's abbreviation handling.
3022         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): If getopt_long exists but
3023         does not handle abbreviated long options with equivalent
3024         disambiguations, set gl_replace_getopt to yes.
3025         * doc/posix-functions/getopt.texi: Mention the OpenBSD 5.0 problem.
3026
3027 2012-06-22  Paul Eggert  <eggert@cs.ucla.edu>
3028
3029         time_r: fix typo that always overrode localtime_r decl
3030         * m4/time_r.m4 (gl_TIME_R): Use AC_CHECK_DECLS, not
3031         AC_CHECK_DECLS_ONCE, since localtime_r is declared in <time.h>,
3032         not in a standard include.
3033
3034 2012-06-22  Bruno Haible  <bruno@clisp.org>
3035
3036         Write "Mac OS X" instead of "MacOS X".
3037         * README: Write "Mac OS X" instead of "MacOS X".
3038         * build-aux/bootstrap: Likewise.
3039         * build-aux/install-reloc: Likewise.
3040         * lib/acl-internal.h: Likewise.
3041         * lib/acl_entries.c: Likewise.
3042         * lib/argp-ba.c: Likewise.
3043         * lib/argp-pv.c: Likewise.
3044         * lib/config.charset: Likewise.
3045         * lib/copy-acl.c: Likewise.
3046         * lib/csharpexec.c: Likewise.
3047         * lib/euidaccess.c: Likewise.
3048         * lib/fbufmode.c: Likewise.
3049         * lib/fflush.c: Likewise.
3050         * lib/file-has-acl.c: Likewise.
3051         * lib/filemode.h: Likewise.
3052         * lib/fpurge.c: Likewise.
3053         * lib/freadable.c: Likewise.
3054         * lib/freadahead.c: Likewise.
3055         * lib/freading.c: Likewise.
3056         * lib/freadptr.c: Likewise.
3057         * lib/freadseek.c: Likewise.
3058         * lib/fseeko.c: Likewise.
3059         * lib/fseterr.c: Likewise.
3060         * lib/fsusage.c: Likewise.
3061         * lib/fwritable.c: Likewise.
3062         * lib/fwriting.c: Likewise.
3063         * lib/get-rusage-as.c: Likewise.
3064         * lib/get-rusage-data.c: Likewise.
3065         * lib/getdomainname.c: Likewise.
3066         * lib/idpriv-drop.c: Likewise.
3067         * lib/idpriv-droptemp.c: Likewise.
3068         * lib/localcharset.c: Likewise.
3069         * lib/locale.in.h: Likewise.
3070         * lib/localename.c: Likewise.
3071         * lib/mbsrtowcs-state.c: Likewise.
3072         * lib/nproc.c: Likewise.
3073         * lib/passfd.c: Likewise.
3074         * lib/posix_openpt.c: Likewise.
3075         * lib/printf-parse.c: Likewise.
3076         * lib/progreloc.c: Likewise.
3077         * lib/safe-read.h: Likewise.
3078         * lib/safe-write.h: Likewise.
3079         * lib/sched.in.h: Likewise.
3080         * lib/set-mode-acl.c: Likewise.
3081         * lib/signal.in.h: Likewise.
3082         * lib/stdint.in.h: Likewise.
3083         * lib/stdio-impl.h: Likewise.
3084         * lib/stdlib.in.h: Likewise.
3085         * lib/strtod.c: Likewise.
3086         * lib/sys_select.in.h: Likewise.
3087         * lib/tcgetsid.c: Likewise.
3088         * lib/unistd.in.h: Likewise.
3089         * lib/unlockpt.c: Likewise.
3090         * lib/vasnprintf.c: Likewise.
3091         * lib/vma-iter.c: Likewise.
3092         * lib/wcsrtombs-state.c: Likewise.
3093         * m4/acl.m4: Likewise.
3094         * m4/acosl.m4: Likewise.
3095         * m4/asinl.m4: Likewise.
3096         * m4/atanl.m4: Likewise.
3097         * m4/c-stack.m4: Likewise.
3098         * m4/cosl.m4: Likewise.
3099         * m4/expl.m4: Likewise.
3100         * m4/extensions.m4: Likewise.
3101         * m4/fdatasync.m4: Likewise.
3102         * m4/fmal.m4: Likewise.
3103         * m4/frexp.m4: Likewise.
3104         * m4/frexpf.m4: Likewise.
3105         * m4/frexpl.m4: Likewise.
3106         * m4/fsusage.m4: Likewise.
3107         * m4/getdomainname.m4: Likewise.
3108         * m4/getloadavg.m4: Likewise.
3109         * m4/getopt.m4: Likewise.
3110         * m4/gettext.m4: Likewise.
3111         * m4/gnulib-common.m4: Likewise.
3112         * m4/intdiv0.m4: Likewise.
3113         * m4/intlmacosx.m4: Likewise.
3114         * m4/largefile.m4: Likewise.
3115         * m4/ldexpl.m4: Likewise.
3116         * m4/link-follow.m4: Likewise.
3117         * m4/locale-ar.m4: Likewise.
3118         * m4/locale-fr.m4: Likewise.
3119         * m4/locale-ja.m4: Likewise.
3120         * m4/locale-tr.m4: Likewise.
3121         * m4/locale-zh.m4: Likewise.
3122         * m4/locale_h.m4: Likewise.
3123         * m4/lock.m4: Likewise.
3124         * m4/logl.m4: Likewise.
3125         * m4/mathfunc.m4: Likewise.
3126         * m4/minus-zero.m4: Likewise.
3127         * m4/mktime.m4: Likewise.
3128         * m4/mmap-anon.m4: Likewise.
3129         * m4/multiarch.m4: Likewise.
3130         * m4/nanosleep.m4: Likewise.
3131         * m4/nocrash.m4: Likewise.
3132         * m4/poll.m4: Likewise.
3133         * m4/printf-frexpl.m4: Likewise.
3134         * m4/printf.m4: Likewise.
3135         * m4/signbit.m4: Likewise.
3136         * m4/sinl.m4: Likewise.
3137         * m4/sqrtl.m4: Likewise.
3138         * m4/strerror_r.m4: Likewise.
3139         * m4/tanl.m4: Likewise.
3140         * m4/threadlib.m4: Likewise.
3141         * m4/ttyname_r.m4: Likewise.
3142         * m4/unlink.m4: Likewise.
3143         * m4/visibility.m4: Likewise.
3144         * m4/wcwidth.m4: Likewise.
3145         * tests/minus-zero.h: Likewise.
3146         * tests/test-alloca-opt.c: Likewise.
3147         * tests/test-copy-acl.sh: Likewise.
3148         * tests/test-copy-file.sh: Likewise.
3149         * tests/test-fdatasync.c: Likewise.
3150         * tests/test-file-has-acl.sh: Likewise.
3151         * tests/test-flock.c: Likewise.
3152         * tests/test-fsync.c: Likewise.
3153         * tests/test-localename.c: Likewise.
3154         * tests/test-malloca.c: Likewise.
3155         * tests/test-nonblocking-pipe.h: Likewise.
3156         * tests/test-nonblocking-socket.h: Likewise.
3157         * tests/test-openpty.c: Likewise.
3158         * tests/test-posix_openpt.c: Likewise.
3159         * tests/test-ptsname.c: Likewise.
3160         * tests/test-ptsname_r.c: Likewise.
3161         * tests/test-sameacls.c: Likewise.
3162         * tests/test-select.h: Likewise.
3163         * tests/test-set-mode-acl.sh: Likewise.
3164         * tests/test-snprintf-posix.h: Likewise.
3165         * tests/test-sprintf-posix.h: Likewise.
3166         * tests/test-strtod.c: Likewise.
3167         * tests/test-time.c: Likewise.
3168         * tests/test-vasnprintf-posix.c: Likewise.
3169         * tests/test-vasprintf-posix.c: Likewise.
3170         * doc/acl-resources.txt: Likewise.
3171         * doc/**/*.texi: Likewise.
3172         Reported by Max Horn <max@quendi.de>.
3173
3174 2012-06-22  Bruno Haible  <bruno@clisp.org>
3175
3176         grantpt: Relax requirement regarding invalid file descriptors.
3177         * lib/grantpt.c: Don't include <fcntl.h>.
3178         (grantpt): Don't verify the validity of the file descriptor.
3179         * modules/grantpt (Depends-on): Remove fcntl-h.
3180         * tests/test-grantpt.c (main): Allow grantpt to succeed for invalid
3181         file descriptors.
3182         * doc/posix-functions/grantpt.texi: Document more platforms on which
3183         grantpt succeeds for invalid file descriptors.
3184         Reported by Rich Felker <dalias@aerifal.cx>.
3185
3186 2012-06-22  Bruno Haible  <bruno@clisp.org>
3187
3188         fbufmode test: Don't test unportable behaviour.
3189         * tests/test-fbufmode.c (test_mode): New function, extracted from main.
3190         (main): Invoke it three times.
3191         Reported by Szabolcs Nagy <nsz@port70.net>
3192         and Rich Felker <dalias@aerifal.cx>.
3193
3194 2012-06-21  Bruno Haible  <bruno@clisp.org>
3195
3196         gnulib-tool: Refactor inctests variable.
3197         * gnulib-tool: Normalize inctests to 'true' or 'false', not ''.
3198         (func_modules_transitive_closure,
3199         func_modules_transitive_closure_separately,
3200         func_import, func_create_testdir): Update.
3201
3202         gnulib-tool: --create-[mega]testdir, --[mega]test implies --with-tests.
3203         * gnulib-tool: Accept option --without-tests.
3204         (func_usage): Document --without-tests option. Rearrange.
3205         (inctests): Normalize according to the mode.
3206         * NEWS: Mention the change.
3207         Suggested by Simon Josefsson.
3208
3209 2012-06-21  Bruce Korb  <bkorb@gnu.org>
3210
3211         parse-duration test: Avoid spurious output.
3212         * tests/test-parse-duration.sh: Reindent with leading tabs.
3213
3214 2012-06-21  Jim Meyering  <meyering@redhat.com>
3215
3216         maint: disable the strncpy prohibition
3217         * cfg.mk: Do not prohibit strncpy here.
3218
3219 2012-06-21  Bruno Haible  <bruno@clisp.org>
3220
3221         nonblocking: Avoid compilation error on mingw64.
3222         * m4/stdio_h.m4 (gl_STDIO_H): Invoke gl_MODULE_INDICATOR for scanf,
3223         fscanf.
3224         * modules/vscanf (configure.ac): Invoke gl_MODULE_INDICATOR.
3225         * modules/vfscanf (configure.ac): Likewise.
3226         * lib/stdio-read.c (scanf, fscanf, vscanf, vfscanf): Enable function
3227         definition only if stdio.h has prepared it.
3228         Reported by Daniel P. Berrange <berrange@redhat.com>.
3229
3230 2012-06-20  Bernd Jendrissek  <bernd.jendrissek@gmail.com>  (tiny change)
3231
3232         gnulib-tool: Use readlink if it is available.
3233         * gnulib-tool (func_readlink): Choose function more appropriately.
3234
3235 2012-06-21  Paul Eggert  <eggert@cs.ucla.edu>
3236
3237         posixtm-tests: port to buggy compiler
3238         Problem reported by Simon Josefsson in
3239         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00246.html>.
3240         * modules/posixtm-tests (Depends-on): Add stdint.
3241         * tests/test-posixtm.c (struct posixtm_test.t_expected):
3242         Now of type int_least64_t, not int64_t, both because that's
3243         what INT64_C returns and because int_least64_t works even
3244         on 72-bit hosts.
3245         (T): Use INT64_C on constants outside the traditional int range,
3246         to work around compiler bug noted by Simon.
3247
3248         mktime: fix integer overflow in 'configure'-time test
3249         * m4/mktime.m4 (gl_FUNC_MKTIME): Do not rely on undefined behavior
3250         after integer overflow.  Problem reported by Rich Felker in
3251         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00257.html>.
3252         Also, don't look for further instances of a bug if we've already
3253         found one instance; this helps 'configure' run faster.
3254
3255 2012-06-20  John Darrington  <john@darrington.wattle.id.au>  (tiny change)
3256
3257         tmpfile, clean-temp: Fix invocation of GetVersionEx.
3258         * lib/tmpfile.c (supports_delete_on_close): Initialize parameter for
3259         GetVersionEx correctly.
3260         * lib/clean-temp.c (supports_delete_on_close): Likewise.
3261
3262 2012-06-20  Bruno Haible  <bruno@clisp.org>
3263
3264         fdopen: Allow implementations that don't reject invalid fd arguments.
3265         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Let the test pass if fdopen(-1,...)
3266         succeeds.
3267         Reported by Rich Felker <dalias@aerifal.cx>.
3268
3269 2012-06-20  Simon Josefsson  <simon@josefsson.org>
3270
3271         * modules/parse-duration-tests (test_parse_duration_LDADD): Don't
3272         bring in LIBINTL.
3273
3274 2012-06-20  Paul Eggert  <eggert@cs.ucla.edu>
3275
3276         init.sh: do not rely on autoupated PWD
3277         This addresses symptoms of the problem reported by Nelson H.F. Beebe in
3278         <http://lists.gnu.org/archive/html/bug-gzip/2012-06/msg00008.html>.
3279         Although Nelson's bug was not necessarily fixed by this patch,
3280         it seems wise to make the change for safety.
3281         * tests/init.sh (path_prepend_): Do not rely on PWD updating
3282         automagically after 'cd'; this is not reliable on older shells.
3283         (setup_): Fail if we cannot cd to temporary directory.
3284
3285 2012-06-19  Bruno Haible  <bruno@clisp.org>
3286
3287         stat, fstat: Avoid warnings on mingw64.
3288         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Undefine before
3289         redefining.
3290         * lib/fstat.c (stat, fstat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Likewise.
3291         Reported by Daniel P. Berrange <berrange@redhat.com>.
3292
3293 2012-06-19  Bruno Haible  <bruno@clisp.org>
3294
3295         stdioext: Add support for musl libc.
3296
3297         * m4/fbufmode.m4 (gl_FUNC_FBUFMODE): Test whether __fbufsize exists.
3298         * lib/fbufmode.c (fbufmode): Add conditional code for musl.
3299
3300         * m4/fseterr.m4: New file.
3301         * lib/fseterr.h (fseterr): Define as an alias of __fseterr if that
3302         function exists.
3303         * modules/fseterr (Files): Add m4/fseterr.m4.
3304         (configure.ac): Invoke gl_FUNC_FSETERR. Compile fseterr.c if
3305         __fseterr does not exist.
3306         (Makefile.am): Remove fseterr.c from lib_SOURCES.
3307
3308         * lib/freadable.h: Update comment.
3309
3310         * lib/fwritable.h: Update comment.
3311
3312         * lib/freading.h: Update comment.
3313
3314         * lib/fwriting.h: Update comment.
3315
3316         * m4/freadahead.m4: New file.
3317         * lib/freadahead.h (freadahead): Define as an alias of __freadahead if
3318         that function exists.
3319         * modules/freadahead (Files): Add m4/freadahead.m4.
3320         (configure.ac): Invoke gl_FUNC_FREADAHEAD. Compile freadahead.c if
3321         __freadahead does not exist.
3322         (Makefile.am): Remove freadahead.c from lib_SOURCES.
3323
3324         * m4/freadptr.m4: New file.
3325         * lib/freadptr.h (freadptr): Define as an alias of __freadptr if that
3326         function exists.
3327         * modules/freadptr (Files): Add m4/freadptr.m4.
3328         (configure.ac): Invoke gl_FUNC_FREADPTR. Compile freadptr.c if
3329         __freadptr does not exist.
3330         (Makefile.am): Remove freadptr.c from lib_SOURCES.
3331
3332         * m4/freadseek.m4: New file.
3333         * lib/freadseek.c (freadptrinc): Use __freadptrinc if that function
3334         exists.
3335         * modules/freadseek (Files): Add m4/freadseek.m4.
3336         (configure.ac): Invoke gl_FUNC_FREADSEEK.
3337
3338         * lib/fpurge.c (fpurge): Update comment.
3339
3340         Reported by and with help from Rich Felker <dalias@aerifal.cx>.
3341
3342 2012-06-19  Bruno Haible  <bruno@clisp.org>
3343
3344         *printf-posix: Put more info into config.log.
3345         * m4/printf.m4 (gl_PRINTF_ENOMEM): Emit conftest's error output and
3346         exit code into config.log.
3347
3348 2012-06-19  Bruno Haible  <bruno@clisp.org>
3349
3350         getopt-gnu: Fix exit code overflow in autoconf test.
3351         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Squash exit code values,
3352         to keep them below < 128.
3353
3354 2012-06-17  Jim Meyering  <meyering@redhat.com>
3355
3356         maint.mk: fix typo in code to derive GPG key at release time
3357         * top/maint.mk (gpg_key_ID): Fix typo: $3 -> $$3
3358
3359 2012-06-17  Paul Eggert  <eggert@cs.ucla.edu>
3360
3361         regex: avoid warning when pointers are not long
3362         * lib/regcomp.c (parse_dup_op, mark_opt_subexp): Cast between void *
3363         and uintptr_t, not long, for portability to hosts where pointers and
3364         long have different sizes.  Issue noted by Daniel P. Berrange in
3365         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00122.html>
3366         and fix suggested by Bruno Haible in
3367         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00128.html>.
3368
3369 2012-06-17  Bruno Haible  <bruno@clisp.org>
3370
3371         dummy: Relicense into the public domain.
3372         * modules/dummy (License): Set to "public domain".
3373         Suggested by Reuben Thomas.
3374
3375 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
3376
3377         announce-gen: VPATH issues
3378         * build-aux/announce-gen (--srcdir): New option, used to trim the
3379         $srcdir part of the path from $builddir to NEWS.
3380         * top/maint.mk (announcement): Adjust.
3381
3382 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
3383
3384         gnu-web-doc-update: VPATH builds
3385         * build-aux/gnu-web-doc-update (--builddir): New option.
3386         Revamp the handling of options.
3387         Prefer $(...) to `...`.
3388         Don't pass --tmpdir=. to mktemp, it is useless given that we specify
3389         the template, and it is GNU mktemp specific.
3390         Prefer set -e to long series of &&.
3391         Restore the initial git branch, not "master".
3392         Properly initialize submodules (don't rely only on bootstrap).
3393         Do not reconfigure blindly, use config.status.
3394         * top/README-release: Update instructions for gnu-web-doc-update.
3395
3396 2012-06-11  Jim Meyering  <meyering@redhat.com>
3397
3398         maint.mk: revert most of the previous change re "all these"
3399         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Remove that pair.
3400         For rationale, see the discussion at
3401         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30912
3402
3403 2012-06-10  Karl Berry  <karl@gnu.org>
3404
3405         * build-aux/gnupload: with --dry-run, do not ask for gpg pw.
3406
3407         * build-aux/gnupload: implement --replace, ftp-upload protocol v1.2.
3408
3409 2012-06-10  Bruce Korb  <bkorb@gnu.org>
3410
3411         parse-duration: Relicense under LGPLv2+.
3412         * modules/parse-duration (License): Change to LGPLv2+.
3413
3414 2012-06-10  Jim Meyering  <meyering@redhat.com>
3415
3416         maint.mk: prohibit common grammar error: "all these"
3417         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Add "all these" to
3418         the list of prohibited word sequences.  It should be "all of these".
3419         * lib/tempname.c (__gen_tempname): Fix one of them.
3420
3421 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
3422
3423         do-release-commit-and-tag: support VPATH builds
3424         * build-aux/do-release-commit-and-tag: Prefer $(...) to `...`.
3425         (noteworthy): Defined earlier to factor its value.
3426         (noteworthy_stub): New.
3427         Use it to factor.
3428         (help_version): Split into...
3429         (help, version): these.
3430         Adjust the option processing part.
3431         Support "--option=value" in addition to "--option value".
3432         (builddir): New.
3433         (--builddir): New option.
3434         * top/README-release: Document this.
3435         Reword slightly so that the reader cannot understand that he
3436         has to do these steps before calling do-release-commit-and-tag.
3437
3438 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
3439
3440         readme-release: also require announce-gen and maintainer-makefile
3441         * modules/readme-release (Depends-on): here.
3442         * modules/announce-gen, modules/do-release-commit-and-tag,
3443         modules/gnu-web-doc-update, modules/maintainer-makefile
3444         (Description): Point to readme-release.
3445
3446 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
3447
3448         maint.mk: fix VPATH issues.
3449         * top/maint.mk (news-check): GNU Make understand $< very well.
3450         (release-prep): NEWS is in $(srcdir).
3451
3452 2012-06-05  Akim Demaille  <akim@lrde.epita.fr>
3453
3454         readme-release: require the promoted modules.
3455         * modules/readme-release (Depends-on): Add
3456         do-release-commit-and-tag, gnupload, and gnu-web-doc-update, used
3457         in this text.
3458
3459 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
3460             Bruno Haible  <bruno@clisp.org>
3461
3462         error, strerror-override: Support mingw64 from Fedora 17.
3463         * lib/errno.in.h (GNULIB_defined_ESTREAMS): Use a different indicator
3464         for ETXTBSY, ENODATA, ENOSR, ENOSTR, ETIME, EOTHER, compared to
3465         EINPROGRESS.
3466         * lib/strerror-override.h (strerror_override): Test it.
3467         * lib/strerror-override.c (strerror_override): Likewise.
3468         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also ETXTBSY.
3469
3470 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
3471             Bruno Haible  <bruno@clisp.org>
3472
3473         error, strerror-override: Support mingw64 from Fedora 17.
3474         * lib/errno.in.h (GNULIB_defined_ENOTRECOVERABLE): Use a different
3475         indicator for ENOTRECOVERABLE, compared to EOWNERDEAD.
3476         * lib/strerror-override.h (strerror_override): Test it.
3477         * lib/strerror-override.c (strerror_override): Likewise.
3478
3479 2012-06-03  Bruno Haible  <bruno@clisp.org>
3480
3481         error, strerror-override: Support new errno values from POSIX:2008.
3482         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also EOWNERDEAD and
3483         ENOTRECOVERABLE.
3484         * lib/errno.in.h (EOWNERDEAD, ENOTRECOVERABLE): Define on all
3485         platforms.
3486         * lib/strerror-override.c (strerror_override): Conditionalize the
3487         EOWNERDEAD, ENOTRECOVERABLE handling on GNULIB_defined_EOWNERDEAD.
3488         * lib/strerror-override.h (strerror_override): Declare also if
3489         GNULIB_defined_EOWNERDEAD is defined.
3490         * tests/test-errno.c (e130, e131): New variables.
3491         * doc/posix-headers/errno.texi: Mention the status for EOWNERDEAD,
3492         ENOTRECOVERABLE.
3493         Reported by Paolo Bonzini.
3494
3495 2012-05-31  Jim Meyering  <meyering@redhat.com>
3496
3497         savewd: add missing dependency on sys_wait module
3498         * modules/savewd (Depends-on): Add sys_wait, needed at least
3499         for MSVC.  Report and suggested change by Michael Goffioul.
3500
3501 2012-05-29  Paul Eggert  <eggert@cs.ucla.edu>
3502
3503         system-quote-tests: port to CentOS 5
3504         Problem reported by Tom G. Christensen in
3505         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00255.html>.
3506         * tests/test-system-quote-child.c (fclose, fprintf): Undef.
3507
3508 2012-05-29  Jim Meyering  <meyering@redhat.com>
3509
3510         maint: fix typos in comments and ChangeLog
3511         Culprits identified and fixed mostly automatically using these commands:
3512         git ls-files | misspellings -f - |grep -v '^ERROR:' |perl -pe \
3513         's/^(.*?)\[(\d+)\]: (\w+) -> "(.*?)"$/sed -i '\''${2}s!$3!$4!'\'' $1/'
3514         using http://github.com/lyda/misspell-check
3515         * ChangeLog: Fix typos.
3516         * doc/solaris-versions: Likewise.
3517         * lib/regexec.c (re_search_stub): Likewise.
3518         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
3519
3520 2012-05-27  Paul Eggert  <eggert@cs.ucla.edu>
3521
3522         manywarnings: remove duplicate -Wmultichar entry
3523         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove duplicate
3524         entry for -Wmultichar.  -Wno-multichar is in the GCC 4.7.0 manual,
3525         so keep the entry marked as documented.
3526
3527 2012-05-27  Karl Berry  <karl@gnu.org>
3528
3529         * config/srclist.txt (mktime.c): remove last libc sync,
3530         perhaps just temporarily.
3531
3532 2012-05-26  Paul Eggert  <eggert@cs.ucla.edu>
3533
3534         regex: don't assume uint64_t or uint32_t
3535         * lib/regcomp.c (init_word_char): Don't assume that the types
3536         uint64_t and uint32_t exist.  The C standard doesn't guarantee
3537         them, and on some 32-bit compilers there is no uint64_t.
3538         Problem reported by Gianluigi Tiesi in
3539         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00154.html>.
3540
3541 2012-05-25  Jim Meyering  <meyering@redhat.com>
3542
3543         maint.mk: add strncpy-prohibiting syntax-check rule
3544         * top/maint.mk (sc_prohibit_strncpy): New rule, from coreutils.
3545
3546 2012-05-24  Jim Meyering  <meyering@redhat.com>
3547
3548         maint.mk: compute $(gpg_key_ID) more portably
3549         * top/maint.mk (gpg_key_ID): Use awk in place of sed '{...;...;}'.
3550         That use of sed is not portable to some fringe systems.
3551         Reported by Paul Eggert in
3552         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30793/focus=30802
3553
3554 2012-05-23  Paul Eggert  <eggert@cs.ucla.edu>
3555
3556         mktime: sync from glibc
3557         * config/srclist.txt: Uncomment mktime.c.
3558         * lib/mktime.c: Sync from glibc master.  This incorporates 3 changes.
3559         First, indent with tabs, since glibc uses tabs and doesn't want to
3560         change and we'd rather be identical to glibc.  Also, two small
3561         coding changes:
3562         (isdst_differ): Use &&, not &, as && is the usual style.
3563         (__mktime_internal): Rename local var from abs_diff to approx_abs_diff
3564         for clarity.
3565
3566 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
3567
3568         announce-gen: du -h is more portable than du --human
3569         * build-aux/announce-gen (sizes): Invoke du with -h instead
3570         of --human.  Accept leading white space in its output.
3571
3572 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
3573
3574         announce-gen: Improve diagnostics.
3575         * build-aux/announce-gen: When parsing command line options,
3576         prefer "announce-gen: option --release-type requires an argument"
3577         to "Option release-type requires an argument".
3578
3579 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
3580
3581         maint.mk: gpg_key_ID: use sed more portably
3582         * top/maint.mk (gpg_key_ID): End sed block with a semicolon before
3583         the closing brace.
3584         (refresh-po): Fuse two sed invocations into one.
3585
3586 2012-05-15  Akim Demaille  <akim@lrde.epita.fr>
3587
3588         gitlog-to-changelog: support the log message format used in Bison.
3589         * build-aux/gitlog-to-changelog: Support --strip-tab and
3590         --strip-cherry-picked.
3591
3592 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
3593
3594         poll/select: prevent busy-waiting.  SwitchToThread() only gives away
3595         the rest of the current time slice to another thread in the current
3596         process. So if the thread that feeds the file decscriptor we're
3597         polling is not in the current process, we get busy-waiting.
3598         * lib/poll.c: Use SleepEx(1, TRUE) instead of SwitchToThread().
3599         Patch from Theodore Leblond.
3600         * lib/select.c: Split polling out of the loop that sets the output
3601         fd_sets.  Check for zero result and loop if the wait timeout is
3602         infinite.
3603
3604 2012-05-21  Simon Josefsson  <simon@josefsson.org>
3605
3606         select: Fix build error on IRIX 6.5.
3607         * lib/select.c: Include stddef.h for NULL.
3608
3609 2012-05-21  Simon Josefsson  <simon@josefsson.org>
3610
3611         gc: fix libgcrypt detection on older machines.
3612         * m4/gc.m4: Reject libgcrypt earlier than 1.4.4.  Collapse
3613         copyright years because the file has been distributed every year
3614         since it was created.
3615
3616 2012-05-18  Paul Eggert  <eggert@cs.ucla.edu>
3617
3618         crypto: fix bug in large buffer handling
3619         Problem reported by Serge Belyshev for glibc in
3620         <http://sourceware.org/bugzilla/show_bug.cgi?id=14090> and for gnulib in
3621         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00226.html>.
3622         * lib/md4.c (md4_process_block):
3623         * lib/md5.c (md5_process_block):
3624         * lib/sha1.c (sha1_process_block):
3625         * lib/sha256.c (sha256_process_block):
3626         Don't assume the buffer length is less than 2**32.
3627         * lib/sha512.c (sha512_process_block): Likewise.
3628         Here, the bug is present only in the rare case where the host does
3629         not support uint64_t or where size_t is wider than 64 bits.
3630         Use u64size to work around the problems.
3631         * lib/u64.h (u64size): New macro.
3632
3633 2012-05-15  Pádraig Brady  <P@draigBrady.com>
3634
3635         fsusage: fix block size returned on older Linux 2.6
3636
3637         * lib/fsusage.c: Fall back to (struct statfs).f_frsize
3638         which is available since Linux 2.6.
3639         * m4/fsusage.m4 (STAT_STATFS2_FRSIZE): Always define
3640         when the member is available so it can be used as a fallback.
3641         * doc/posix-functions/statvfs.texi: Mention the hang issue
3642         on Linux < 2.6.36.
3643
3644 2012-05-14  Paul Eggert  <eggert@cs.ucla.edu>
3645
3646         bootstrap: suppress stderr chatter
3647         * build-aux/bootstrap (insert_sorted_if_absent, main program):
3648         Omit unnecessary chatter to stderr.  The main program chatter
3649         was there only inadvertantly.
3650
3651         bootstrap: .gitignore files created by autopoint, libtool
3652         I ran into this problem when bootstrapping the latest diffutils.
3653         After './bootstrap', 'git status' reported lots of untracked files
3654         m4/codeset.m4, m4/gettext.m4, etc.  These files were created by
3655         autopoint and do not need to be version-controlled.
3656         * build-aux/bootstrap: Put into .gitignore the files that
3657         autopoint and libtool create, by keeping track of files that exist
3658         after but not before these programs are run.
3659         (version_controlled_file): Move up.  2nd arg is now full file
3660         name, not base name; this is more convenient.  Put CVS at the end,
3661         as it's now somewhat deprecated.
3662
3663 2012-05-14  Jim Meyering  <meyering@redhat.com>
3664
3665         ignore-value.h: remove unused _GL_ATTRIBUTE_DEPRECATED definition
3666         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Remove now-unused
3667         definition.  Reported by Bruno Haible.
3668
3669 2012-05-13  Bruno Haible  <bruno@clisp.org>
3670             Paul Eggert  <eggert@cs.ucla.edu>
3671
3672         binary-io: Define set_binary_mode function.
3673         * lib/binary-io.h (set_binary_mode): New function.
3674         (SET_BINARY): Define in terms of set_binary_mode.
3675         * modules/binary-io (configure.ac): Require AC_C_INLINE.
3676         * tests/test-binary-io.c (main): Accept an argument, and test either
3677         set_binary_mode or SET_BINARY depending on the argument.
3678         * tests/test-binary-io.sh: Invoke test-binary-io twice, with an
3679         argument. Clean up also t-bin-out0.tmp.
3680
3681 2012-05-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
3682
3683         bootstrap: take advantage of POSIX shell features
3684
3685         The 'bootstrap' script offered by Gnulib script already uses POSIX
3686         shell features (like $((...)) arithmetic expansions) that are not
3687         supported by legacy Bourne shells like Solaris 10 /bin/sh.  This
3688         means that bootstrap must already be run using a proper POSIX shell,
3689         which will thus provide more features, like ${var#pattern} parameter
3690         expansion or inversion of a command exit status with '!'.  We can
3691         thus use these features to improve the clarity and the performances
3692         of the bootstrap script.
3693
3694         Suggested by Eric Blake.
3695
3696         * build-aux/bootstrap: Prefer xpg4 parameter expansions over use
3697         of sed/expr plus command substitutions, to save some forks.  While
3698         we are at it, prefer the POSIX $(...) form of command substitution,
3699         rather than the legacy form `...` (since the former is visually
3700         clearer and interacts better with quoting), and prefer the idiom:
3701           "if ! CMD; then ACTION ..."
3702         over the idiom:
3703           "if CMD; then :; else ACTION ..."
3704         which was required by legacy Bourne shells not supporting '!'.
3705
3706 2012-05-12  Bruno Haible  <bruno@clisp.org>
3707
3708         system-quote: Add more comments.
3709         * lib/system-quote.h: Add more comments about wilcards and limitations.
3710         Suggested by Eli Zaretskii <eliz@gnu.org>.
3711
3712         sh-quote, system-quote: Add comments about wildcards.
3713         * lib/sh-quote.h: Clarify what happens with wildcard characters.
3714         * lib/system-quote.h: Likewise.
3715         Reported by Eli Zaretskii <eliz@gnu.org>.
3716
3717 2012-05-11  Paul Eggert  <eggert@cs.ucla.edu>
3718
3719         fsusage: check for GNU/Linux statvfs problem dynamically
3720         * lib/fsusage.c [STAT_STATVFS && __linux__ && (__GLIBC__||__UCLIBC__)]:
3721         Define STAT_STATFS2_BSIZE too, since in this case the code now
3722         checks dynamically whether statvfs is reliable, falling back on
3723         Linux-style statfs otherwise.
3724         (statvfs_works): New function, for dynamically testing statvfs.
3725         (get_fs_usage) [STAT_STATVFS]: Use it.
3726         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove static check for
3727         statvfs on GNU/Linux hosts, since it's now done dynamically.
3728
3729 2012-05-10  Bruno Haible  <bruno@clisp.org>
3730
3731         system-quote, execute, spawn-pipe: Escape '?' on Windows.
3732         * lib/system-quote.c (SHELL_SPECIAL_CHARS, CMD_SPECIAL_CHARS): Add the
3733         '?' character.
3734         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Likewise.
3735         * tests/test-system-quote-main.c (check_all): Check also strings like
3736         "??????????".
3737         Reported by Eli Zaretskii <eliz@gnu.org>.
3738
3739 2012-05-10  Paul Eggert  <eggert@cs.ucla.edu>
3740
3741         _Noreturn: port config.h to gcc -Wundef
3742         * m4/gnulib-common.m4 (gl_COMMON_BODY): Check that __STDC_VERSION__ is
3743         defined before using it, for gcc -Wundef.  Reported by Akim Demaille in
3744         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00147.html>.
3745
3746 2012-05-10  Bruno Haible  <bruno@clisp.org>
3747
3748         system-quote: Refactor.
3749         * lib/system-quote.h (system_quote_copy): Fix comment.
3750         * lib/system-quote.c (windows_createprocess_quote, windows_cmd_quote):
3751         New functions, extracted from system_quote_copy.
3752         (system_quote_length, system_quote_copy): Use these functions.
3753         Reported by Paul Eggert.
3754
3755 2012-05-08  Bruno Haible  <bruno@clisp.org>
3756
3757         execute, spawn-pipe: Escape '*' characters in arguments on Windows.
3758         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Add the '*' character.
3759
3760 2012-05-08  Bruno Haible  <bruno@clisp.org>
3761
3762         Tests for module 'system-quote'.
3763         * modules/system-quote-tests: New file.
3764         * tests/test-system-quote.sh: New file.
3765         * tests/test-system-quote-main.c: New file.
3766         * tests/test-system-quote-child.c: New file.
3767
3768         New module 'system-quote'.
3769         * lib/system-quote.h: New file.
3770         * lib/system-quote.c: New file.
3771         * modules/system-quote: New file.
3772
3773 2012-05-08  Bruno Haible  <bruno@clisp.org>
3774
3775         sh-quote: Make C++ safe and allow multiple inclusion.
3776         * lib/sh-quote.h: Add double-inclusion guard. For C++, wrap function
3777         declarations in extern "C".
3778
3779 2012-05-08  Bruno Haible  <bruno@clisp.org>
3780
3781         sh-quote tests: Make tests stricter.
3782         * tests/test-sh-quote.c (check_one): Check the return value of
3783         shell_quote_copy.
3784         (main): Check a string with a CR character. Check a string that
3785         contains UCHAR_MAX.
3786
3787 2012-05-08  Akim Demaille  <akim@lrde.epita.fr>
3788
3789         warnings.m4: provide a means to specify the program to compile.
3790         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): New, extracted from...
3791         (gl_WARN_ADD): here.
3792         Use gl_AS_VAR_APPEND.
3793         Support an argument to specify the program to compile.
3794         (gl_WARN_ADD): Accept an argument to specify the program to compile.
3795         AC_SUBST the WARN_CFLAGS when they are used.
3796         * modules/warnings (configure.ac): Don't AC_SUBST WARN_CFLAGS,
3797         leave this to gl_WARN_ADD.
3798
3799 2012-05-08  Eric Blake  <eblake@redhat.com>
3800
3801         doc: recommendations on gettext version
3802         * doc/gnulib-tool.texi (gettextize and autopoint): Document the
3803         choice between versions.
3804         * DEPENDENCIES (gettext): Cover both approaches.
3805
3806 2012-05-08  Jim Meyering  <meyering@redhat.com>
3807
3808         init.sh: explain why EXEEXT support uses aliases rather than functions
3809         * tests/init.sh: Add a comment.
3810
3811         init.sh: don't let bash aliases interfere with tests
3812         * tests/init.sh: Undefine any pre-defined aliases if the selected shell
3813         is bash.  This avoids problems for those who alias standard commands to
3814         non-conforming uses, like those reported in http://bugs.gnu.org/11256.
3815         Suggested by Tim Mooney <Tim.Mooney@ndsu.edu>.
3816
3817 2012-05-07  Paul Eggert  <eggert@cs.ucla.edu>
3818
3819         stdint: be more consistent with glibc, SunOS libc
3820         * lib/stdint.in.h (gl_int_fast8_t, gl_uint_fast8_t)
3821         (gl_int_fast16_t, gl_uint_fast16_t)
3822         (gl_int_fast32_t, gl_uint_fast32_t)
3823         (INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX)
3824         (INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX)
3825         (INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
3826         Be consistent with glibc by default, and with SunOS 5.10 and later
3827         if __sun is defined.  This lessens the likelihood of clashes if
3828         code compiled for older hosts is combined with code compiled for
3829         newer ones.  Problem reported by Niels Möller in
3830         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00074.html>.
3831
3832 2012-05-07  Eric Blake  <eblake@redhat.com>
3833
3834         isatty: relax license to LGPLv2+
3835         * modules/isatty (License): Relax license.
3836
3837 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
3838
3839         stat-size: comment fix
3840         * lib/stat-size.h: Remove obsolete comment about indenting.
3841
3842 2012-05-06  Bruno Haible  <bruno@clisp.org>
3843
3844         Tests for module 'sh-quote'.
3845         * modules/sh-quote-tests: New file.
3846         * tests/test-sh-quote.c: New file.
3847
3848 2012-05-06  Bruno Haible  <bruno@clisp.org>
3849
3850         sh-quote: Improve shell_quote_argv's signature.
3851         * lib/sh-quote.h (shell_quote_argv): Make argument array a 'const *'.
3852         * lib/sh-quote.c (shell_quote_argv): Likewise.
3853
3854 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
3855
3856         stdint: document issues with int_fast8_t etc.
3857         * doc/posix-headers/stdint.texi (stdint.h): Say that other
3858         stdint.h substitutes may define these types differently.  See
3859         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00071.html>.
3860
3861 2012-05-05  Bruno Haible  <bruno@clisp.org>
3862
3863         nanosleep: Avoid guessing wrong when cross-compiling to Linux.
3864         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require AC_CANONICAL_HOST. When
3865         cross-compiling, set gl_cv_func_nanosleep to either 'guessing no'
3866         or 'guessing no (mishandles large arguments)'.
3867
3868 2012-05-05  Bruno Haible  <bruno@clisp.org>
3869
3870         link-follow: Avoid guessing wrong when cross-compiling to glibc/Linux.
3871         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Require
3872         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
3873         set gl_cv_func_link_follows_symlink to "guessing no".
3874
3875 2012-05-05  Bruno Haible  <bruno@clisp.org>
3876
3877         tzset: Avoid guessing wrong when cross-compiling to glibc systems.
3878         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require AC_CANONICAL_HOST. When
3879         cross-compiling to a glibc platform, set gl_cv_func_tzset_clobber to
3880         "guessing no".
3881         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Update.
3882
3883 2012-05-05  Bruno Haible  <bruno@clisp.org>
3884
3885         d-ino: Avoid guessing "no" when cross-compiling to glibc/Linux systems.
3886         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Require
3887         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
3888         set gl_cv_struct_dirent_d_ino to "guessing yes".
3889
3890 2012-05-05  Bruno Haible  <bruno@clisp.org>
3891
3892         fseeko-tests, ftello-tests: Avoid "guessing no" when cross-compiling.
3893         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Require AC_CANONICAL_HOST. When
3894         cross-compiling to a glibc platform, set gl_cv_func_ungetc_works to
3895         "guessing yes".
3896
3897 2012-05-05  Bruno Haible  <bruno@clisp.org>
3898
3899         signbit: Avoid "guessing no" when cross-compiling to glibc systems.
3900         * m4/signbit.m4 (gl_SIGNBIT): Require AC_CANONICAL_HOST. When cross-
3901         compiling to a glibc system, set gl_cv_func_signbit and
3902         gl_cv_func_signbit_gcc to "guessing yes".
3903
3904 2012-05-05  Bruno Haible  <bruno@clisp.org>
3905
3906         strerror: Avoid "guessing no" when cross-compiling to glibc systems.
3907         * m4/strerror.m4 (gl_FUNC_STRERROR): Require AC_CANONICAL_HOST. When
3908         cross-compiling to a glibc platform, set gl_cv_func_working_strerror
3909         to "guessing yes".
3910         (gl_FUNC_STRERROR_0): Require AC_CANONICAL_HOST. When cross-compiling
3911         to a glibc platform, set gl_cv_func_strerror_0_works to "guessing yes".
3912
3913 2012-05-05  Bruno Haible  <bruno@clisp.org>
3914
3915         canonicalize[-lgpl]: Avoid "guessing no" when cross-compiling to glibc.
3916         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Require
3917         AC_CANONICAL_HOST. When cross-compiling to a glibc system, set
3918         gl_cv_func_realpath_works to "guessing yes".
3919
3920 2012-05-05  Bruno Haible  <bruno@clisp.org>
3921
3922         gettimeofday: Avoid bad guess when cross-compiling to glibc systems.
3923         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require
3924         AC_CANONICAL_HOST. When cross-compiling, guess no on glibc platforms.
3925
3926 2012-05-04  Bruno Haible  <bruno@clisp.org>
3927
3928         Tweak last commit.
3929         * m4/off_t.m4 (gl_TYPE_OFF_T): Tweak comments.
3930         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
3931
3932 2012-05-04  Paul Eggert  <eggert@cs.ucla.edu>
3933
3934         unistd_h: make it easier to avoid sys_types_h
3935         This is useful for Emacs, which has its own method of porting to
3936         Windows, and which therefore does not need the sys_types_h module.
3937         * m4/off_t.m4: New file, defining gl_TYPE_OFF_T, which contains
3938         code moved here from gl_SYS_TYPES_H.
3939         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Require it instead of
3940         using the code directly.
3941         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_TYPE_OFF_T, not
3942         gl_SYS_TYPES_H.
3943         * modules/sys_types (Files):
3944         * modules/unistd (Files): Add m4/off_t.m4.
3945
3946 2012-05-03  Bruno Haible  <bruno@clisp.org>
3947
3948         lstat: Avoid "guessing no" when cross-compiling to glibc systems.
3949         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): When cross-
3950         compiling, set gl_cv_func_lstat_dereferences_slashed_symlink to
3951         "guessing yes" or "guessing no".
3952         (gl_FUNC_LSTAT): Update.
3953         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Update.
3954         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
3955         * m4/unlinkat.m4 (gl_FUNC_UNLINKAT): Update.
3956
3957 2012-05-03  Bruno Haible  <bruno@clisp.org>
3958
3959         *alloc-gnu, eealloc: Avoid "guessing no" when cross-compiling to glibc.
3960         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Override in autoconf < 2.70.
3961         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Override in autoconf < 2.70.
3962         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Require AC_CANONICAL_HOST. When
3963         cross-compiling, choose the first alternative on glibc systems.
3964         * modules/eealloc (Files): Add m4/malloc.m4, m4/realloc.m4.
3965
3966 2012-05-03  Bruno Haible  <bruno@clisp.org>
3967
3968         getgroups: Avoid "guessing no" when cross-compiling to glibc systems.
3969         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Override in autoconf < 2.70.
3970         (gl_FUNC_GETGROUPS): Adapt to change of ac_cv_func_getgroups_works.
3971
3972 2012-05-03  Bruno Haible  <bruno@clisp.org>
3973
3974         chown: Avoid "guessing no" when cross-compiling to glibc systems.
3975         * m4/chown.m4 (AC_FUNC_CHOWN): Override in autoconf < 2.70.
3976
3977 2012-05-03  Bruno Haible  <bruno@clisp.org>
3978
3979         Avoid "guessing no" guesses when cross-compiling to glibc systems.
3980         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Require AC_CANONICAL_HOST. When cross-
3981         compiling to glibc systems, set gl_cv_func_cbrtl_ieee to "guessing yes".
3982         * m4/ceil.m4 (gl_FUNC_CEIL): Require AC_CANONICAL_HOST. When cross-
3983         compiling to glibc systems, set gl_cv_func_ceil_ieee to "guessing yes".
3984         * m4/ceilf.m4 (gl_FUNC_CEILF): Require AC_CANONICAL_HOST. When cross-
3985         compiling to glibc systems, set gl_cv_func_ceilf_ieee to "guessing yes".
3986         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST. When cross-
3987         compiling to glibc systems, set gl_cv_func_ceill_ieee to "guessing yes".
3988         * m4/chown.m4 (gl_FUNC_CHOWN): Require AC_CANONICAL_HOST. When cross-
3989         compiling to glibc systems, set gl_cv_func_chown_slash_works,
3990         gl_cv_func_chown_ctime_works to "guessing yes".
3991         * m4/lchown.m4 (gl_FUNC_LCHOWN): Update.
3992         * m4/exp2l.m4 (gl_FUNC_EXP2L): Require AC_CANONICAL_HOST. When cross-
3993         compiling to glibc systems, set gl_cv_func_exp2l_ieee to "guessing yes".
3994         * m4/expm1.m4 (gl_FUNC_EXPM1): Require AC_CANONICAL_HOST. When cross-
3995         compiling to glibc systems, set gl_cv_func_expm1_ieee to "guessing yes".
3996         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require AC_CANONICAL_HOST. When cross-
3997         compiling to glibc systems, set gl_cv_func_open_directory_works to
3998         "guessing yes".
3999         * m4/fstat.m4 (gl_FUNC_FSTAT): Update.
4000         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require AC_CANONICAL_HOST. When
4001         cross-compiling to glibc systems, set gl_cv_func_fdopendir_works to
4002         "guessing yes".
4003         * m4/floor.m4 (gl_FUNC_FLOOR): Require AC_CANONICAL_HOST. When cross-
4004         compiling to glibc systems, set gl_cv_func_floor_ieee to "guessing yes".
4005         * m4/floorf.m4 (gl_FUNC_FLOORF): Require AC_CANONICAL_HOST. When cross-
4006         compiling to glibc systems, set gl_cv_func_floorf_ieee to
4007         "guessing yes".
4008         * m4/fmod.m4 (gl_FUNC_FMOD): Require AC_CANONICAL_HOST. When cross-
4009         compiling to glibc systems, set gl_cv_func_fmod_ieee to "guessing yes".
4010         * m4/fmodf.m4 (gl_FUNC_FMODF): Require AC_CANONICAL_HOST. When cross-
4011         compiling to glibc systems, set gl_cv_func_fmodf_ieee to "guessing yes".
4012         * m4/fmodl.m4 (gl_FUNC_FMODL): Require AC_CANONICAL_HOST. When cross-
4013         compiling to glibc systems, set gl_cv_func_fmodl_ieee to "guessing yes".
4014         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Require AC_CANONICAL_HOST. When
4015         cross-compiling to glibc systems, set gl_cv_func_getgroups_works to
4016         "guessing yes".
4017         * m4/hypot.m4 (gl_FUNC_HYPOT): Require AC_CANONICAL_HOST. When cross-
4018         compiling to glibc systems, set gl_cv_func_hypot_ieee to "guessing yes".
4019         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Require AC_CANONICAL_HOST. When cross-
4020         compiling to glibc systems, set gl_cv_func_hypotf_ieee to
4021         "guessing yes".
4022         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Require AC_CANONICAL_HOST. When cross-
4023         compiling to glibc systems, set gl_cv_func_hypotl_ieee to
4024         "guessing yes".
4025         * m4/link.m4 (gl_FUNC_LINK): Require AC_CANONICAL_HOST. When cross-
4026         compiling to glibc systems, set gl_cv_func_link_works to "guessing yes".
4027         * m4/log.m4 (gl_FUNC_LOG): Require AC_CANONICAL_HOST. When cross-
4028         compiling to glibc systems, set gl_cv_func_log_ieee to "guessing yes".
4029         * m4/logf.m4 (gl_FUNC_LOGF): Require AC_CANONICAL_HOST. When cross-
4030         compiling to glibc systems, set gl_cv_func_logf_ieee to "guessing yes".
4031         * m4/log10.m4 (gl_FUNC_LOG10): Require AC_CANONICAL_HOST. When cross-
4032         compiling to glibc systems, set gl_cv_func_log10_ieee to "guessing yes".
4033         * m4/log10f.m4 (gl_FUNC_LOG10F): Require AC_CANONICAL_HOST. When cross-
4034         compiling to glibc systems, set gl_cv_func_log10f_ieee to
4035         "guessing yes".
4036         * m4/log1p.m4 (gl_FUNC_LOG1P): Require AC_CANONICAL_HOST. When cross-
4037         compiling to glibc systems, set gl_cv_func_log1p_ieee to "guessing yes".
4038         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Require AC_CANONICAL_HOST. When cross-
4039         compiling to glibc systems, set gl_cv_func_log1pf_ieee to
4040         "guessing yes".
4041         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Require AC_CANONICAL_HOST. When cross-
4042         compiling to glibc systems, set gl_cv_func_log1pl_ieee to
4043         "guessing yes".
4044         * m4/log2.m4 (gl_FUNC_LOG2): Require AC_CANONICAL_HOST. When cross-
4045         compiling to glibc systems, set gl_cv_func_log2_ieee to "guessing yes".
4046         * m4/log2f.m4 (gl_FUNC_LOG2F): Require AC_CANONICAL_HOST. When cross-
4047         compiling to glibc systems, set gl_cv_func_log2f_ieee to "guessing yes".
4048         * m4/mkdir.m4 (gl_FUNC_MKDIR): Require AC_CANONICAL_HOST. When cross-
4049         compiling to glibc systems, set gl_cv_func_mkdir_trailing_slash_works,
4050         gl_cv_func_mkdir_trailing_dot_works to "guessing yes".
4051         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Require AC_CANONICAL_HOST. When cross-
4052         compiling to glibc systems, set gl_cv_func_mkfifo_works to
4053         "guessing yes".
4054         * m4/mknod.m4 (gl_FUNC_MKNOD): Require AC_CANONICAL_HOST. When cross-
4055         compiling to glibc systems, set gl_cv_func_mknod_works to
4056         "guessing yes".
4057         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_CANONICAL_HOST. When
4058         cross-compiling to glibc systems, set gl_cv_func_working_mkstemp to
4059         "guessing yes".
4060         * m4/modf.m4 (gl_FUNC_MODF): Require AC_CANONICAL_HOST. When cross-
4061         compiling to glibc systems, set gl_cv_func_modf_ieee to "guessing yes".
4062         * m4/modff.m4 (gl_FUNC_MODFF): Require AC_CANONICAL_HOST. When cross-
4063         compiling to glibc systems, set gl_cv_func_modff_ieee to "guessing yes".
4064         * m4/modfl.m4 (gl_FUNC_MODFL): Require AC_CANONICAL_HOST. When cross-
4065         compiling to glibc systems, set gl_cv_func_modfl_ieee to "guessing yes".
4066         * m4/putenv.m4 (gl_FUNC_PUTENV): Require AC_CANONICAL_HOST. When cross-
4067         compiling to glibc systems, set gl_cv_func_svid_putenv to
4068         "guessing yes".
4069         * m4/readlink.m4 (gl_FUNC_READLINK): Require AC_CANONICAL_HOST. When
4070         cross-compiling to glibc systems, set gl_cv_func_readlink_works to
4071         "guessing yes".
4072         * m4/remainder.m4 (gl_FUNC_REMAINDER): Require AC_CANONICAL_HOST. When
4073         cross-compiling to glibc systems, set gl_cv_func_remainder_ieee to
4074         "guessing yes".
4075         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Require AC_CANONICAL_HOST.
4076         When cross-compiling to glibc systems, set gl_cv_func_remainderf_ieee
4077         to "guessing yes".
4078         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Require AC_CANONICAL_HOST.
4079         When cross-compiling to glibc systems, set gl_cv_func_remainderl_ieee
4080         to "guessing yes".
4081         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require AC_CANONICAL_HOST. When cross-
4082         compiling to glibc systems, set gl_cv_func_rmdir_works to
4083         "guessing yes".
4084         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. When cross-
4085         compiling to glibc systems, set gl_cv_func_unlink_honors_slashes,
4086         gl_cv_func_unlink_parent_fails to "guessing yes".
4087         * m4/remove.m4 (gl_FUNC_REMOVE): Update.
4088         * m4/rename.m4 (gl_FUNC_RENAME): Require AC_CANONICAL_HOST. When cross-
4089         compiling to glibc systems, set gl_cv_func_rename_slash_dst_works,
4090         gl_cv_func_rename_slash_src_works, gl_cv_func_rename_link_works,
4091         gl_cv_func_rename_dest_works to "guessing yes".
4092         * m4/round.m4 (gl_FUNC_ROUND): Require AC_CANONICAL_HOST. When cross-
4093         compiling to glibc systems, set gl_cv_func_round_ieee to "guessing yes".
4094         * m4/roundf.m4 (gl_FUNC_ROUNDF): Require AC_CANONICAL_HOST. When cross-
4095         compiling to glibc systems, set gl_cv_func_roundf_ieee to
4096         "guessing yes".
4097         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require AC_CANONICAL_HOST. When cross-
4098         compiling to glibc systems, set gl_cv_func_roundl_ieee to
4099         "guessing yes".
4100         * m4/setenv.m4 (gl_FUNC_SETENV): Require AC_CANONICAL_HOST. When cross-
4101         compiling to glibc systems, set gl_cv_func_setenv_works to
4102         "guessing yes".
4103         (gl_FUNC_UNSETENV): Require AC_CANONICAL_HOST. When cross-
4104         compiling to glibc systems, set gl_cv_func_unsetenv_works to
4105         "guessing yes".
4106         * m4/sleep.m4 (gl_FUNC_SLEEP): Require AC_CANONICAL_HOST. When cross-
4107         compiling to glibc systems, set gl_cv_func_sleep_works to
4108         "guessing yes".
4109         * m4/stat.m4 (gl_FUNC_STAT): Require AC_CANONICAL_HOST. When cross-
4110         compiling to glibc systems, set gl_cv_func_stat_file_slash to
4111         "guessing yes".
4112         * m4/symlink.m4 (gl_FUNC_SYMLINK): Require AC_CANONICAL_HOST. When
4113         cross-compiling to glibc systems, set gl_cv_func_symlink_works to
4114         "guessing yes".
4115         * m4/trunc.m4 (gl_FUNC_TRUNC): Require AC_CANONICAL_HOST. When cross-
4116         compiling to glibc systems, set gl_cv_func_trunc_ieee to "guessing yes".
4117         * m4/truncf.m4 (gl_FUNC_TRUNCF): Require AC_CANONICAL_HOST. When cross-
4118         compiling to glibc systems, set gl_cv_func_truncf_ieee to
4119         "guessing yes".
4120         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require AC_CANONICAL_HOST. When cross-
4121         compiling to glibc systems, set gl_cv_func_truncl_ieee to
4122         "guessing yes".
4123         * m4/usleep.m4 (gl_FUNC_USLEEP): Require AC_CANONICAL_HOST. When cross-
4124         compiling to glibc systems, set gl_cv_func_usleep_works to
4125         "guessing yes".
4126         * m4/utimens.m4 (gl_UTIMENS): Require AC_CANONICAL_HOST. When cross-
4127         compiling to glibc systems, set gl_cv_func_futimesat_works to
4128         "guessing yes".
4129
4130 2012-05-03  Bruno Haible  <bruno@clisp.org>
4131
4132         Say "guessing yes" or "guessing no" when cross-compiling.
4133         * m4/dup2.m4 (gl_FUNC_DUP2): When cross-compiling, set
4134         gl_cv_func_dup2_works to "guessing yes" or "guessing no".
4135         * m4/getdelim.m4 (gl_FUNC_GETDELIM): When cross-compiling, set
4136         gl_cv_func_working_getdelim to "guessing yes" or "guessing no".
4137         * m4/getline.m4 (gl_FUNC_GETLINE): When cross-compiling, set
4138         am_cv_func_working_getline to "guessing yes" or "guessing no".
4139         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, set
4140         gl_cv_func_memmem_works_always to "guessing yes" or "guessing no".
4141         (gl_FUNC_MEMMEM): When cross-compiling, set
4142         gl_cv_func_memmem_works_fast to "guessing yes" or "guessing no".
4143         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): When cross-compiling, set
4144         gl_cv_func_stpncpy to "guessing yes" or "guessing no".
4145         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): When cross-compiling,
4146         set gl_cv_func_strcasestr_works_always to "guessing yes" or
4147         "guessing no".
4148         (gl_FUNC_STRCASESTR): When cross-compiling, set
4149         gl_cv_func_strcasestr_linear to "guessing yes" or "guessing no".
4150         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): When cross-compiling, set
4151         gl_cv_func_strstr_works_always to "guessing yes" or "guessing no".
4152         (gl_FUNC_STRSTR): When cross-compiling, set
4153         gl_cv_func_strstr_linear to "guessing yes" or "guessing no".
4154         * m4/strtod.m4 (gl_FUNC_STRTOD): When cross-compiling, set
4155         gl_cv_func_strtod_works to "guessing yes" or "guessing no".
4156         * m4/wctype_h.m4 (gl_WCTYPE_H): When cross-compiling, set
4157         gl_cv_func_iswcntrl_works to "guessing yes" or "guessing no".
4158
4159 2012-05-01  Bruno Haible  <bruno@clisp.org>
4160
4161         relocatable-prog: Enable ELF ORIGIN trick also on GNU/kFreeBSD.
4162         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Treat kFreeBSD like Linux.
4163         * build-aux/reloc-ldflags: Likewise.
4164         Suggested by Steven Chamberlain <steven@pyro.eu.org>.
4165
4166 2012-05-01  Bruno Haible  <bruno@clisp.org>
4167
4168         gnulib-tool: Remove transitional code.
4169         * gnulib-tool: Don't warn about --import with 0 arguments any more.
4170         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
4171
4172 2012-05-01  Bruno Haible  <bruno@clisp.org>
4173
4174         getcwd: Fix misindentation.
4175         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Fix indentation.
4176
4177 2012-04-29  Paul Eggert  <eggert@cs.ucla.edu>
4178
4179         exclude: process exclude and include directives in order
4180         This restores the pre-2009 behavior, and is part of a fix of a
4181         grep bug reported by Quentin Arce in
4182         <http://lists.gnu.org/archive/html/bug-grep/2012-04/msg00056.html>.
4183         * lib/exclude.c (struct exclude): Remove 'tail' member.
4184         (new_exclude_segment): Prepend the new segment instead of appending.
4185         Return void, since that's now more convenient.
4186         (file_pattern_matches): Renamed from excluded_file_pattern_p.
4187         (file_name_matches): Renamed from excluded_file_name_p.
4188         (file_pattern_matches, file_name_matches):
4189         Return true if the pattern matches, not if it excludes.
4190         All callers changed.
4191         (excluded_file_name): Process the list in reverse order;
4192         since the list is now reversed this restores the pre-2009 behavior.
4193         (add_exclude): Adjust to new reversed-order list.  Use local var
4194         rather than macro, for clarity.
4195         * tests/test-exclude7.sh: Adjust to corrected behavior.
4196
4197         exclude: handle wildcards with FNM_NOESCAPE and with trailing \
4198         * lib/exclude.c (unescape_pattern): Don't worry about unescaped [;
4199         it's not possible here.  Handle the case of \ at end of pattern
4200         without dumping core.
4201         (add_exclude): Do not unescape the pattern if FNM_NOESCAPE is used.
4202
4203         _Noreturn: future-proof non-GNU and non-MSVC compilers
4204         * build-aux/snippet/_Noreturn.h (_Noreturn):
4205         * m4/gnulib-common.m4 (gl_COMMON_BODY):
4206         Do not define _Noreturn if __STDC_VERSION__ indicates this is
4207         C11 or later.  This is more likely to work with random future C
4208         compilers that are neither GNUish nor MSVCish.  See Vincent Lefevre in
4209         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00195.html>.
4210
4211         exclude: handle wildcards with FNM_EXTMATCH
4212         * lib/exclude.c (fnmatch_pattern_has_wildcards): Also treat '+(',
4213         '+@', '!(' as wildcards, if FNM_EXTMATCH.  Make it clear in a
4214         comment that "has wildcards" really means "has or may have
4215         wildcards".  Simplify by avoiding the need to call strcspn.
4216
4217 2012-04-29  Bruno Haible  <bruno@clisp.org>
4218
4219         gnulib-tool: Fix list of authors.
4220         * gnulib-tool (func_version): Add Paul Eggert to list of authors.
4221
4222 2012-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
4223
4224         bootstrap: support Automake-NG in $buildreq
4225         * bootstrap (check_versions): Handle automake and aclocal from
4226         Automake-NG specially.  They can be specified as respectively
4227         the "automake-ng" and "aclocal-ng" requirements.
4228
4229 2012-04-25  Eric Blake  <eblake@redhat.com>
4230
4231         bootstrap: only force latest Makefile.in.in for gettext module
4232         * build-aux/bootstrap (with_gettext): Only install latest
4233         Makefile.in.in for projects requesting bleeding edge gettext.
4234
4235 2012-04-22  Bruno Haible  <bruno@clisp.org>
4236
4237         doc: Mention reason for replacement on glibc/Linux systems.
4238         * doc/posix-functions/dprintf.texi: Mention the problem with special
4239         'long double' values.
4240         * doc/posix-functions/fprintf.texi: Likewise.
4241         * doc/posix-functions/printf.texi: Likewise.
4242         * doc/posix-functions/snprintf.texi: Likewise.
4243         * doc/posix-functions/sprintf.texi: Likewise.
4244         * doc/posix-functions/vdprintf.texi: Likewise.
4245         * doc/posix-functions/vfprintf.texi: Likewise.
4246         * doc/posix-functions/vprintf.texi: Likewise.
4247         * doc/posix-functions/vsnprintf.texi: Likewise.
4248         * doc/posix-functions/vsprintf.texi: Likewise.
4249         * doc/posix-functions/fcntl.texi: Add glibc/Linux to the list of
4250         platforms with F_DUPFD_CLOEXEC problems.
4251         * doc/posix-functions/glob.texi: Mention which platforms are affected
4252         by the problem with symbolic links.
4253         * doc/posix-functions/linkat.texi: Mention the problem with
4254         AT_SYMLINK_FOLLOW on Linux.
4255
4256 2012-04-22  Bruno Haible  <bruno@clisp.org>
4257
4258         pwrite: Don't replace on all platforms.
4259         * m4/pwrite.m4 (gl_FUNC_PWRITE): Fix syntax error in test program.
4260
4261 2012-04-22  Bruno Haible  <bruno@clisp.org>
4262
4263         rint* tests: Avoid gcc warnings.
4264         * tests/test-rint.c (INFINITY, NAN): Undefine before redefining.
4265         * tests/test-rintf.c (INFINITY, NAN): Likewise.
4266         * tests/test-rintl.c (INFINITY, NAN): Likewise.
4267
4268 2012-04-21  Bruno Haible  <bruno@clisp.org>
4269
4270         users.txt: Update.
4271         * users.txt: Add freedink, wdiff. Update URLs for projects that have
4272         switched from CVS to git, bzr, or svn.
4273
4274 2012-04-21  Bruno Haible  <bruno@clisp.org>
4275
4276         Large File Support for native Windows platforms.
4277
4278         * m4/largefile.m4 (gl_LARGEFILE): New macro.
4279         * modules/largefile (configure.ac): Require gl_LARGEFILE.
4280
4281         * lib/sys_types.in.h (off_t) [WINDOWS_64_BIT_OFF_T]: Define to a 64-bit
4282         type.
4283         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_64_BIT_OFF_T.
4284         * modules/sys_types (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T.
4285         * doc/posix-headers/sys_types.texi: Mention the effect of the
4286         'largefile' module.
4287
4288         * lib/fcntl.in.h: Add comments about off_t.
4289         * modules/fcntl-h (Depends-on): Add sys_types.
4290
4291         * lib/unistd.in.h [WINDOWS_64_BIT_OFF_T]: Include <sys/types.h>.
4292         (ftruncate): Replace it if REPLACE_FTRUNCATE is 1.
4293         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_SYS_TYPES_H.
4294         (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_FTRUNCATE.
4295         * modules/unistd (Depends-on): Add sys_types.
4296         (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T, REPLACE_FTRUNCATE.
4297
4298         * lib/lseek.c (rpl_lseek) [_GL_WINDOWS_64_BIT_OFF_T]: Use _lseeki64
4299         instead of lseek.
4300         * m4/lseek.m4 (gl_FUNC_LSEEK): Require gl_SYS_TYPES_H. Set
4301         REPLACE_LSEEK if WINDOWS_64_BIT_OFF_T is 1.
4302         * modules/lseek (Depends-on): Add sys_types.
4303
4304         * lib/ftruncate.c: Put under GPLv3+. Include <windows.h>,
4305         msvc-nothrow.h.
4306         (SetFileSize): New function.
4307         (ftruncate) [_GL_WINDOWS_64_BIT_OFF_T]: New implementation.
4308         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Set REPLACE_FTRUNCATE on Windows
4309         if Large File Support is requested.
4310         * modules/ftruncate (configure.ac): Consider REPLACE_FTRUNCATE.
4311         (Depends-on): Add sys_types, msvc-nothrow. Update conditions.
4312
4313         * lib/stdio.in.h: Add comments about off_t.
4314         * modules/stdio (Depends-on): Add sys_types.
4315
4316         * lib/ftello.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _ftelli64 or ftello64
4317         instead of ftello.
4318         * m4/ftello.m4 (gl_FUNC_FTELLO): Require gl_SYS_TYPES_H. Set
4319         REPLACE_FTELLO if WINDOWS_64_BIT_OFF_T is 1.
4320         (gl_PREREQ_FTELLO): New macro.
4321         * modules/ftello (Depends-on): Add sys_types.
4322         (configure.ac): Incoke gl_PREREQ_FTELLO.
4323
4324         * lib/fseeko.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _fseeki64 or fseeko64
4325         instead of fseeko.
4326         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require gl_SYS_TYPES_H. Set
4327         REPLACE_FSEEKO if WINDOWS_64_BIT_OFF_T is 1.
4328         (gl_PREREQ_FSEEKO): New macro.
4329         * modules/fseeko (Depends-on): Add sys_types.
4330         (configure.ac): Invoke gl_PREREQ_FSEEKO.
4331
4332         * lib/sys_stat.in.h: Add comments about off_t.
4333         (stat, fstat) [WINDOWS_64_BIT_ST_SIZE]: Define to variants that use a
4334         64-bit integer for st_size in 'struct stat'.
4335         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_64_BIT_ST_SIZE.
4336         Define _GL_WINDOWS_64_BIT_ST_SIZE.
4337         * modules/sys_stat (Depends-on): Add sys_types.
4338         (Makefile.am): Substitute WINDOWS_64_BIT_ST_SIZE.
4339
4340         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Define to _stati64
4341         instead of stat or _stat.
4342
4343         * lib/fstat.c [_GL_WINDOWS_64_BIT_ST_SIZE]: Use _fstati64 and
4344         'struct _stati64' instead of fstat and 'struct stat'.
4345         * m4/fstat.m4 (gl_FUNC_FSTAT): Require gl_HEADER_SYS_STAT_H. Set
4346         REPLACE_FSTAT if WINDOWS_64_BIT_ST_SIZE is 1.
4347
4348         Reported by Ray Satiro <raysatiro@yahoo.com>.
4349
4350 2012-04-19  Eric Blake  <eblake@redhat.com>
4351
4352         bootstrap: accommodate older libtool
4353         * build-aux/bootstrap (use_libtool): Cater to libtool 1.5.22.
4354         Reported by Daniel P. Berrange.
4355
4356 2012-04-19  Jim Meyering  <meyering@redhat.com>
4357
4358         announce-gen: avoid failure due to lack of Digest::SHA1
4359         Even with the preferred Digest::SHA available, this script
4360         would fail when the backup module, Digest::SHA1, was not installed.
4361         * build-aux/announce-gen: Quote the conditional use of "use".
4362         Reported by Reuben Thomas in:
4363         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30444
4364
4365         bootstrap: don't let a user's CDPATH setting affect this script
4366         When CDPATH is set, cd will sometimes generate output.
4367         When "cd" is run in a subshell whose output matters, that
4368         surprising-to-some output can cause malfunction.
4369         Unsetting CDPATH turns off this shell "feature."
4370         * build-aux/bootstrap (CDPATH): Unset.
4371         Reported by Reuben Thomas in:
4372         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30435
4373         and inspired by his patch here:
4374         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30440
4375
4376 2012-04-16  Akim Demaille  <akim@lrde.epita.fr>
4377         and Jim Meyering  <meyering@redhat.com>
4378
4379         maint.mk: catch "see @xref{}" and similar
4380         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
4381         prohibit "See also @xref{", "Also see @pxref{", and similar.
4382
4383 2012-04-16  Jim Meyering  <meyering@redhat.com>
4384
4385         bootstrap: really use gnulib's po/Makefile.in.in
4386         * build-aux/bootstrap: Correct the source file name in previous change.
4387         Reported by Akim Demaille.
4388
4389         configmake: correct minor inconsistency in Makefile rule
4390         * modules/configmake (Makefile.am): All other rules like this one
4391         run the final "mv -f ..." in the same backslash-continued command
4392         as the one that does everything else.  This one put the mv -f ...
4393         command on a separate, non-backslash-continued line.
4394         Make it like the others.
4395
4396         bootstrap: use gnulib's po/Makefile.in.in, not the one from gettext
4397         * build-aux/bootstrap: Use gnulib's po/Makefile.in.in, not
4398         the one from gettext.  Reported by Akim Demaille.
4399
4400 2012-04-16  Joel E. Denny  <joeldenny@joeldenny.org>
4401
4402         Fix recursion of install-* into po directories.
4403         Bison's install-pdf bug reported by Hans Aberg at
4404         <http://lists.gnu.org/archive/html/bug-bison/2011-05/msg00008.html>.
4405         * build-aux/po/Makefile.in.in (install-dvi, install-html)
4406         (install-info, install-pdf, install-ps): New targets.
4407
4408 2012-04-16  Jim Meyering  <meyering@redhat.com>
4409
4410         maint: avoid spurious "make sc_maint" failure
4411         * cfg.mk (exclude_file_name_regexp--sc_trailing_blank): Also
4412         exempt all *.class file names, for lib/javaversion.class.
4413
4414 2012-04-15  Bruno Haible  <bruno@clisp.org>
4415
4416         lseek: Make configure test independent of environment.
4417         * m4/lseek.m4 (gl_FUNC_LSEEK): Require AC_CANONICAL_HOST. On native
4418         Windows, we know that lseek() on pipes is broken; skip the runtime
4419         test.
4420
4421 2012-04-14  Bruno Haible  <bruno@clisp.org>
4422
4423         stat: Bypass buggy override in mingw64.
4424         * m4/stat.m4 (gl_FUNC_STAT): Update comments.
4425         * lib/stat.c (stat) [mingw64]: Define to _stat.
4426         * doc/posix-functions/stat.texi: Mention mingw64 bug.
4427
4428 2012-04-14  Bruno Haible  <bruno@clisp.org>
4429
4430         pathmax: Fix compilation error on MSVC 9.
4431         * modules/pathmax (Depends-on): Add unistd.
4432
4433 2012-04-12  Paul Eggert  <eggert@cs.ucla.edu>
4434
4435         README: document pointer comparison assumption
4436         * README (Portability guidelines): Document assumption about
4437         pointer comparisons, in response to a recent bug-gnulib comment by
4438         Jeffrey Kegler.
4439
4440 2012-04-12  Bruno Haible  <bruno@clisp.org>
4441
4442         Tests for module 'getrusage'.
4443         * modules/getrusage-tests: New file.
4444         * tests/test-getrusage.c: New file.
4445
4446         New module 'getrusage'.
4447         * lib/sys_resource.in.h: Include arg-nonnull.h, c++defs.h,
4448         warn-on-use.h.
4449         (getrusage): New declaration.
4450         * lib/getrusage.c: New file.
4451         * m4/getrusage.m4: New file.
4452         * m4/sys_resource_h.m4 (gl_HEADER_SYS_RESOURCE): Test whether getrusage
4453         is declared.
4454         (gl_SYS_RESOURCE_H_DEFAULTS): Initialize GNULIB_GETRUSAGE,
4455         HAVE_GETRUSAGE.
4456         * modules/sys_resource (Depends-on): Add snippet/arg-nonnull,
4457         snippet/c++defs, snippet/warn-on-use.
4458         (Makefile.am): Update generation of sys/resource.h. Substitute
4459         GNULIB_GETRUSAGE, HAVE_GETRUSAGE.
4460         * modules/getrusage: New file.
4461         * doc/posix-functions/getrusage.texi: Mention the new module.
4462
4463 2012-04-12  Bruno Haible  <bruno@clisp.org>
4464
4465         Tests for module 'sys_resource'.
4466         * modules/sys_resource-tests: New file.
4467         * tests/test-sys_resource.c: New file.
4468
4469         New module 'sys_resource'.
4470         * lib/sys_resource.in.h: New file.
4471         * m4/sys_resource_h.m4: New file.
4472         * modules/sys_resource: New file.
4473         * doc/posix-headers/sys_resource.texi: Mention the new module.
4474
4475 2012-04-12  LRN  <lrn1986@gmail.com>  (tiny change)
4476
4477         ioctl: Fix compilation error on mingw.
4478         * lib/ioctl.c: Include <windows.h>.
4479         Also reported by Ray Satiro <raysatiro@yahoo.com>.
4480
4481 2012-04-04  Jim Meyering  <meyering@redhat.com>
4482
4483         regex: correct #pragma guard expression
4484         * lib/regex.c: -Wsuggest-attribute=pure was introduced in gcc-4.6,
4485         not 4.3.  Correct its cpp guard expression.
4486
4487 2012-04-04  Paul Eggert  <eggert@cs.ucla.edu>
4488
4489         regex: remove unnecessary type punning
4490         Problem reported by Vladimir Serbinenko in
4491         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00006.html>.
4492         * lib/regex.h (struct re_pattern_buffer): Change the type of
4493         __REPB_PREFIX(buffer) from unsigned char * to struct re_dfa_t *.
4494         Fix comment to match code.
4495         * lib/regcomp.c (re_compile_fastmap, re_compile_fastmap_iter, regfree)
4496         (re_compile_internal, free_workarea_compile, analyze, lower_subexp)
4497         (parse, parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
4498         * lib/regexec.c (regexec, re_search_stub, re_search_internal)
4499         (set_regs):
4500         Omit no-longer-necessary casts.
4501
4502 2012-04-03  Bruno Haible  <bruno@clisp.org>
4503
4504         Tests for module 'ilogbl'.
4505         * modules/ilogbl-tests: New file.
4506         * tests/test-ilogbl.c: New file.
4507
4508         New module 'ilogbl'.
4509         * lib/math.in.h (ilogbl): New declaration.
4510         * lib/ilogbl.c: New file.
4511         * m4/ilogbl.m4: New file.
4512         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbl is declared.
4513         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBL, HAVE_ILOGBL.
4514         * modules/math (Makefile.am): Substitute GNULIB_ILOGBL, HAVE_ILOGBL.
4515         Split sed invocation, to avoid the limit of 100 substitutions of
4516         HP-UX 'sed'.
4517         * modules/ilogbl: New file.
4518         * tests/test-math-c++.cc: Check the declaration of ilogbl.
4519         * doc/posix-functions/ilogbl.texi: Mention the new module.
4520
4521 2012-04-03  Bruno Haible  <bruno@clisp.org>
4522
4523         Tests for module 'ilogbf'.
4524         * modules/ilogbf-tests: New file.
4525         * tests/test-ilogbf.c: New file.
4526
4527         New module 'ilogbf'.
4528         * lib/math.in.h (ilogbf): New declaration.
4529         * lib/ilogbf.c: New file.
4530         * m4/ilogbf.m4: New file.
4531         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbf is declared.
4532         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBF, HAVE_ILOGBF,
4533         REPLACE_ILOGBF.
4534         * modules/math (Makefile.am): Substitute GNULIB_ILOGBF, HAVE_ILOGBF,
4535         REPLACE_ILOGBF.
4536         * modules/ilogbf: New file.
4537         * tests/test-math-c++.cc: Check the declaration of ilogbf.
4538         * doc/posix-functions/ilogbf.texi: Mention the new module.
4539
4540 2012-04-03  Bruno Haible  <bruno@clisp.org>
4541
4542         Tests for module 'ilogb'.
4543         * modules/ilogb-tests: New file.
4544         * tests/test-ilogb.c: New file.
4545         * tests/test-ilogb.h: New file, based on tests/test-logb.h and
4546         tests/test-logb-ieee.h.
4547
4548         New module 'ilogb'.
4549         * lib/math.in.h (ilogb): New declaration.
4550         * lib/ilogb.c: New file.
4551         * m4/ilogb.m4: New file.
4552         * m4/math_h.m4 (gl_MATH_H): Test whether ilogb is declared.
4553         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGB, HAVE_ILOGB,
4554         REPLACE_ILOGB.
4555         * modules/math (Makefile.am): Substitute GNULIB_ILOGB, HAVE_ILOGB,
4556         REPLACE_ILOGB.
4557         * modules/ilogb: New file.
4558         * tests/test-math-c++.cc: Check the declaration of ilogb.
4559         * doc/posix-functions/ilogb.texi: Mention the new module.
4560
4561 2012-04-03  Bruno Haible  <bruno@clisp.org>
4562
4563         math: Provide FP_ILOGB0 and FP_ILOGBNAN.
4564         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Define fallback.
4565         * tests/test-math.c: Check that FP_ILOGB0, FP_ILOGBNAN are defined.
4566         (main): Check their values.
4567         * doc/posix-headers/math.texi: Mention the FP_ILOGB0, FP_ILOGBNAN
4568         problem.
4569
4570 2012-04-03  Bruno Haible  <bruno@clisp.org>
4571
4572         Tests for module 'logbl-ieee'.
4573         * modules/logbl-ieee-tests: New file.
4574         * tests/test-logbl-ieee.c: New file.
4575
4576         New module 'logbl-ieee'.
4577         * modules/logbl-ieee: New file.
4578
4579         Tests for module 'logb-ieee'.
4580         * modules/logb-ieee-tests: New file.
4581         * tests/test-logb-ieee.c: New file.
4582
4583         New module 'logb-ieee'.
4584         * modules/logb-ieee: New file.
4585
4586         Tests for module 'logbf-ieee'.
4587         * modules/logbf-ieee-tests: New file.
4588         * tests/test-logbf-ieee.c: New file.
4589         * tests/test-logb-ieee.h: New file.
4590
4591         New module 'logbf-ieee'.
4592         * modules/logbf-ieee: New file.
4593
4594 2012-04-03  Bruno Haible  <bruno@clisp.org>
4595
4596         Tests for module 'logbl'.
4597         * modules/logbl-tests: New file.
4598         * tests/test-logbl.c: New file.
4599
4600         New module 'logbl'.
4601         * lib/math.in.h (logbl): New declaration.
4602         * lib/logbl.c: New file.
4603         * m4/logbl.m4: New file.
4604         * m4/math_h.m4 (gl_MATH_H): Test whether logbl is declared.
4605         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBL, HAVE_LOGBL,
4606         REPLACE_LOGBL.
4607         * modules/math (Makefile.am): Substitute GNULIB_LOGBL, HAVE_LOGBL,
4608         REPLACE_LOGBL.
4609         * modules/logbl: New file.
4610         * tests/test-math-c++.cc: Check the declaration of logbl.
4611         * doc/posix-functions/logbl.texi: Mention the new module.
4612
4613 2012-04-02  Bruno Haible  <bruno@clisp.org>
4614
4615         Tests for module 'logbf'.
4616         * modules/logbf-tests: New file.
4617         * tests/test-logbf.c: New file.
4618
4619         New module 'logbf'.
4620         * lib/math.in.h (logbf): New declaration.
4621         * lib/logbf.c: New file.
4622         * m4/logbf.m4: New file.
4623         * m4/math_h.m4 (gl_MATH_H): Test whether logbf is declared.
4624         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBF, HAVE_LOGBF,
4625         REPLACE_LOGBF.
4626         * modules/math (Makefile.am): Substitute GNULIB_LOGBF, HAVE_LOGBF,
4627         REPLACE_LOGBF.
4628         * modules/logbf: New file.
4629         * tests/test-math-c++.cc: Check the declaration of logbf.
4630         * doc/posix-functions/logbf.texi: Mention the new module.
4631
4632 2012-04-02  Bruno Haible  <bruno@clisp.org>
4633
4634         logb tests: More tests.
4635         * tests/test-logb.h: New file, based on tests/test-logb.c and
4636         tests/test-frexp.h.
4637         * tests/test-logb.c: Include minus-zero.h, test-logb.h.
4638         (main): Just invoke test_function.
4639         * modules/logb-tests (Files): Add tests/test-logb.h,
4640         tests/minus-zero.h, tests/randomd.c.
4641         (Makefile.am): Add randomd.c to test_logb_SOURCES.
4642
4643         logb: Provide replacement and workarounds.
4644         * lib/math.in.h (logb): Ensure declaration. Replace if REPLACE_LOGB
4645         is 1.
4646         * lib/logb.c: New file.
4647         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): New macro.
4648         (gl_FUNC_LOGB): Invoke it. Set HAVE_LOGB, REPLACE_LOGB.
4649         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGB.
4650         * modules/math (Makefile.am): Substitute REPLACE_LOGB.
4651         * modules/logb (Files): Add lib/logb.c.
4652         (Depends-on): Add isfinite, frexp, isnand.
4653         (configure.ac): Compile the replacement code logb.c if needed.
4654         * tests/test-math-c++.cc: Check the declaration of logb.
4655         * doc/posix-functions/logb.texi: Mention the replacement and the bug
4656         with subnormal numbers.
4657
4658 2012-04-02  Bruno Haible  <bruno@clisp.org>
4659
4660         log10* tests: Speed up.
4661         * tests/test-log10.h (test_function): Reduce amount of random numbers
4662         to test.
4663
4664 2012-04-01  Bruno Haible  <bruno@clisp.org>
4665
4666         logf-ieee: Fix test whether logf works.
4667         * m4/logf.m4 (gl_FUNC_LOGF): Fix typo in test program.
4668
4669 2012-04-01  Bruno Haible  <bruno@clisp.org>
4670
4671         log10l: Work around log10l-ieee test failure on IRIX 6.5.
4672         * lib/log10l.c: Include <float.h>
4673         (log10l): On IRIX, normalize the +Infinity value.
4674         * modules/log10l (Depends-on): Add 'float'.
4675         * doc/posix-functions/log10l.texi: Mention the IRIX problem with
4676         +Infinity.
4677
4678         log10f-ieee: Work around test failure on NetBSD 5.1.
4679         * m4/log10f-ieee.m4: New file.
4680         * m4/log10f.m4 (gl_FUNC_LOG10F): If gl_FUNC_LOG10F_IEEE is present,
4681         test whether log10f works with a negative argument. Replace it if not.
4682         * lib/log10f.c (log10f): For negative arguments, return NaN.
4683         * modules/log10f-ieee (Files): Add m4/log10f-ieee.m4.
4684         (configure.ac): Invoke gl_FUNC_LOG10F_IEEE.
4685         * doc/posix-functions/log10f.texi: Mention the log10f-ieee module.
4686
4687         log10f-ieee: Work around test failure on Solaris 9.
4688         * modules/log10f-ieee (Depends-on): Add log10-ieee.
4689         (configure.ac): Require gl_FUNC_LOG10F.
4690
4691         log10-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
4692         * m4/log10-ieee.m4: New file.
4693         * m4/log10.m4 (gl_FUNC_LOG10): If gl_FUNC_LOG10_IEEE is present, test
4694         whether log10 works with a negative argument. Replace it if not.
4695         * lib/log10.c (log10): For negative arguments, return NaN.
4696         * modules/log10-ieee (Files): Add m4/log10-ieee.m4.
4697         (configure.ac): Invoke gl_FUNC_LOG10_IEEE.
4698         * doc/posix-functions/log10.texi: Mention the log10-ieee module.
4699
4700         Tests for module 'log10l-ieee'.
4701         * modules/log10l-ieee-tests: New file.
4702         * tests/test-log10l-ieee.c: New file.
4703
4704         New module 'log10l-ieee'.
4705         * modules/log10l-ieee: New file.
4706
4707         Tests for module 'log10-ieee'.
4708         * modules/log10-ieee-tests: New file.
4709         * tests/test-log10-ieee.c: New file.
4710
4711         New module 'log10-ieee'.
4712         * modules/log10-ieee: New file.
4713
4714         Tests for module 'log10f-ieee'.
4715         * modules/log10f-ieee-tests: New file.
4716         * tests/test-log10f-ieee.c: New file.
4717         * tests/test-log10-ieee.h: New file.
4718
4719         New module 'log10f-ieee'.
4720         * modules/log10f-ieee: New file.
4721
4722 2012-04-01  Bruno Haible  <bruno@clisp.org>
4723
4724         log10l: Work around AIX 5.1, IRIX 6.5, OSF/1 5.1 bug.
4725         * lib/math.in.h (log10l): Override if REPLACE_LOG10L is 1.
4726         * lib/log10l.c (log10l): If log10l exists, use it and provide just the
4727         workaround.
4728         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): New macro.
4729         (gl_FUNC_LOG10L): Invoke it. Set REPLACE_LOG10L.
4730         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10L.
4731         * modules/math (Makefile.am): Substitute REPLACE_LOG10L.
4732         * modules/log10l (configure.ac): Consider REPLACE_LOG10L.
4733         (Depends-on): Update conditions.
4734         * doc/posix-functions/log10l.texi: Mention the MSVC9, AIX 5.1,
4735         IRIX 6.5, OSF/1 5.1 problems.
4736
4737 2012-04-01  Bruno Haible  <bruno@clisp.org>
4738
4739         log10f: Work around OSF/1 5.1 bug.
4740         * lib/math.in.h (log10f): Override if REPLACE_LOG10F is 1.
4741         * lib/log10f.c (log10f): If logf exists, use it and provide just the
4742         workaround.
4743         * m4/log10f.m4 (gl_FUNC_LOG10F_WORKS): New macro.
4744         (gl_FUNC_LOG10F): Invoke it. Set REPLACE_LOG10F.
4745         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10F.
4746         * modules/math (Makefile.am): Substitute REPLACE_LOG10F.
4747         * modules/log10f (configure.ac): Consider REPLACE_LOG10F.
4748         (Depends-on): Update conditions.
4749         * doc/posix-functions/log10f.texi: Mention the OSF/1 5.1 problem.
4750
4751 2012-04-01  Bruno Haible  <bruno@clisp.org>
4752
4753         log10: Work around OSF/1 5.1 bug.
4754         * lib/math.in.h (log10): New declaration.
4755         * lib/log10.c: New file.
4756         * m4/log10.m4 (gl_FUNC_LOG10_WORKS): New macro.
4757         (gl_FUNC_LOG10): Invoke it. Set REPLACE_LOG10.
4758         * m4/math_h.m4 (gl_MATH_H): Test whether log10 is declared.
4759         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10, REPLACE_LOG10.
4760         * modules/math (Makefile.am): Substitute GNULIB_LOG10, REPLACE_LOG10.
4761         * modules/log10 (Files): Add lib/log10.c.
4762         (Depends-on): Add math.
4763         (configure.ac): If REPLACE_LOG10 is 1, compile an override.
4764         * tests/test-math-c++.cc: Check the declaration of log10.
4765         * doc/posix-functions/log10.texi: Mention the OSF/1 5.1 problem.
4766
4767 2012-03-31  Bruno Haible  <bruno@clisp.org>
4768
4769         log10l tests: More tests.
4770         * modules/log10l-tests (Files): Add tests/test-log10l.h,
4771         tests/minus-zero.h, tests/randoml.c.
4772         (Makefile.am): Add randoml.c to test_log10l_SOURCES.
4773         * tests/test-log10l.c: Include <float.h>, minus-zero.h, test-log10l.h.
4774         (main): Invoke test_function.
4775
4776         log10f tests: More tests.
4777         * modules/log10f-tests (Files): Add tests/test-log10.h,
4778         tests/minus-zero.h, tests/randomf.c.
4779         (Makefile.am): Add randomf.c to test_log10f_SOURCES.
4780         * tests/test-log10f.c: Include <float.h>, minus-zero.h, test-log10.h.
4781         (main): Invoke test_function.
4782
4783         log10 tests: More tests.
4784         * tests/test-log10.h: New file.
4785         * modules/log10-tests (Files): Add tests/test-log10.h,
4786         tests/minus-zero.h, tests/randomd.c.
4787         (Makefile.am): Add randomd.c to test_log10_SOURCES.
4788         * tests/test-log10.c: Include <float.h>, minus-zero.h, test-log10.h.
4789         (main): Invoke test_function.
4790
4791 2012-03-31  Simon Josefsson  <simon@josefsson.org>
4792
4793         fflush: Fix syntax error.
4794         * lib/fflush.c: Include unused-parameter.h, needed for
4795         _GL_UNUSED_PARAMETER.
4796         * modules/fflush (Depends-on): Add snippet/unused-parameter.
4797
4798 2012-03-30  Paul Eggert  <eggert@cs.ucla.edu>
4799
4800         regex: pacify GCC when compiling GRUB
4801         * lib/regcomp.c (init_dfa): Make a pointer 'const', to avoid
4802         a diagnostic.  Reported by Vladimir Serbinenko in
4803         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00163.html>.
4804
4805 2012-03-29  Eric Blake  <eblake@redhat.com>
4806
4807         stdio: don't assume gets any more
4808         * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
4809         support.
4810         * modules/stdio (Makefile.am): Likewise.
4811         * lib/stdio-read.c (gets): Likewise.
4812         * tests/test-stdio-c++.cc: Likewise.
4813         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
4814         * lib/stdio.in.h (gets): Make warning occur in more places.
4815         * doc/posix-functions/gets.texi (gets): Update documentation.
4816         Reported by Christer Solskogen.
4817
4818         maint.mk: fix syntax checks without exclusions
4819         * top/maint.mk (_sc_search_regexp): Allow for empty variable.
4820         Reported by Daniel P. Berrange.
4821
4822         strerror_r: avoid compiler warning
4823         * lib/strerror_r.c (strerror_r): Hoist extern declaration to top
4824         level.
4825
4826         fflush: avoid compiler warning
4827         * lib/fflush.c (update_fpos_cache): Mark variables that are
4828         potentially unused.
4829
4830 2012-03-25  Bruno Haible  <bruno@clisp.org>
4831
4832         Tests for module 'localeconv'.
4833         * modules/localeconv-tests: New file.
4834         * tests/test-localeconv.c: New file.
4835
4836         New module 'localeconv'.
4837         * lib/locale.in.h (localeconv): New declaration.
4838         * lib/localeconv.c: New file.
4839         * m4/localeconv.m4: New file.
4840         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALECONV,
4841         REPLACE_LOCALECONV.
4842         * modules/locale (Makefile.am): Substitute GNULIB_LOCALECONV,
4843         REPLACE_LOCALECONV.
4844         * modules/localeconv: New file.
4845         * modules/nl_langinfo (Depends-on): Add localeconv.
4846         * modules/human (Depends-on): Likewise.
4847         * doc/posix-functions/localeconv.texi: Mention the new module.
4848
4849 2012-03-25  Bruno Haible  <bruno@clisp.org>
4850
4851         locale: Provide a complete 'struct lconv'.
4852         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
4853         'struct lconv' does not contain int_p_cs_precedes.
4854         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
4855         * doc/posix-headers/locale.texi: Update.
4856
4857         locale: Provide a complete 'struct lconv' on Solaris 10, 11.
4858         * m4/locale_h.m4 (gl_LOCALE_H): On Solaris, define _LCONV_C99.
4859         * doc/posix-headers/locale.texi: Update.
4860
4861         locale: Provide a working 'struct lconv'.
4862         * lib/locale.in.h (lconv): Override if REPLACE_STRUCT_LCONV is 1.
4863         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
4864         'struct lconv' does not even contain decimal_point.
4865         (gl_LOCALE_H_DEFAULTS): Initialize REPLACE_STRUCT_LCONV.
4866         * modules/locale (Makefile.am): Substitute REPLACE_STRUCT_LCONV.
4867         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
4868         * doc/posix-headers/locale.texi: Mention the problems with
4869         'struct lconv'.
4870         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
4871
4872 2012-03-24  Bruno Haible  <bruno@clisp.org>
4873
4874         Enable common subexpression optimization in GCC.
4875         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST, _UC_ATTRIBUTE_PURE): New
4876         macros.
4877         * lib/unicase.in.h (uc_toupper, uc_tolower, uc_totitle): Declare with
4878         GCC attribute 'const'.
4879         (uc_locale_language): Declare with GCC attribute 'pure'.
4880         * lib/unicase/caseprop.h (uc_is_cased, uc_is_case_ignorable): Declare
4881         with GCC attribute 'const'.
4882         * lib/unictype.in.h (uc_is_general_category_withtable,
4883         uc_combining_class, uc_combining_class_name,
4884         uc_combining_class_long_name, uc_bidi_class_name,
4885         uc_bidi_category_name, uc_bidi_class_long_name, uc_bidi_class,
4886         uc_bidi_category, uc_is_bidi_class, uc_is_bidi_category,
4887         uc_decimal_value, uc_digit_value, uc_numeric_value,
4888         uc_joining_type_name, uc_joining_type_long_name, uc_joining_type,
4889         uc_joining_group_name, uc_joining_group, uc_is_property_*, uc_script,
4890         uc_block, uc_is_c_whitespace, uc_is_java_whitespace,
4891         uc_c_ident_category, uc_java_ident_category, uc_is_alnum, uc_is_alpha,
4892         uc_is_cntrl, uc_is_digit, uc_is_graph, uc_is_lower, uc_is_print,
4893         uc_is_punct, uc_is_space, uc_is_upper, uc_is_xdigit, uc_is_blank):
4894         Declare with GCC attribute 'const'.
4895         (uc_general_category_name, uc_general_category_long_name,
4896         uc_general_category_byname, uc_general_category,
4897         uc_is_general_category, uc_combining_class_byname,
4898         uc_bidi_class_byname, uc_bidi_category_byname, uc_joining_type_byname,
4899         uc_joining_group_byname, uc_script_byname, uc_is_script, uc_is_block):
4900         Declare with GCC attribute 'pure'.
4901         * lib/unigbrk.in.h (uc_graphemeclusterbreak_property,
4902         uc_is_grapheme_break, u8_grapheme_next, u16_grapheme_next,
4903         u32_grapheme_next, u8_grapheme_prev, u16_grapheme_prev,
4904         u32_grapheme_prev, lib/uniname.in.h (unicode_name_character): Declare
4905         with GCC attribute 'pure'.
4906         * lib/uninorm.in.h (uc_composition): Declare with GCC attribute
4907         'const'.
4908         (uninorm_decomposing_form): Declare with GCC attribute 'pure'.
4909         * lib/unistr.in.h (): Declare with GCC attribute 'const'.
4910         (u8_check, u16_check, u32_check, u8_mblen, u16_mblen, u32_mblen,
4911         u8_cmp, u16_cmp, u32_cmp, u8_cmp2, u16_cmp2, u32_cmp2, u8_chr, u16_chr,
4912         u32_chr, u8_mbsnlen, u16_mbsnlen, u32_mbsnlen, u8_strmblen,
4913         u16_strmblen, u32_strmblen, u8_strlen, u16_strlen, u32_strlen,
4914         u8_strnlen, u16_strnlen, u32_strnlen, u8_strcmp_gnu, u8_strcmp,
4915         u16_strcmp, u32_strcmp, u8_strncmp, u16_strncmp, u32_strncmp,
4916         u8_strchr, u16_strchr, u32_strchr, u8_strrchr, u16_strrchr,
4917         u32_strrchr, u8_strcspn, u16_strcspn, u32_strcspn, u8_strspn,
4918         u16_strspn, u32_strspn, u8_strpbrk, u16_strpbrk, u32_strpbrk,
4919         u8_strstr, u16_strstr, u32_strstr, u8_startswith, u16_startswith,
4920         u32_startswith, u8_endswith, u16_endswith, u32_endswith): Declare with
4921         GCC attribute 'pure'.
4922         * lib/uniwbrk.in.h (uc_wordbreak_property): Declare with GCC attribute
4923         'const'.
4924         * lib/uniwidth.in.h (uc_width): Simplify declaration.
4925         (u8_width, u16_width, u32_width, u8_strwidth, u16_strwidth,
4926         u32_strwidth): Declare with GCC attribute 'pure'.
4927
4928         Enable common subexpression optimization in GCC.
4929         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
4930         (alphasort): Declare with GCC attribute 'pure'.
4931         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
4932         (atoll): Declare with GCC attribute 'pure'.
4933         * lib/string.in.h (mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
4934         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
4935         mbsspn, strverscmp): Declare with GCC attribute 'pure'.
4936         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
4937         (btowc, wctob, wcwidth, wmemchr, wmemcmp, wcslen, wcsnlen, wcscmp,
4938         wcsncmp, wcscasecmp, wcsncasecmp, wcschr, wcsrchr, wcscspn, wcsspn,
4939         wcspbrk, wcsstr, wcswidth): Declare with GCC attribute 'pure'.
4940
4941 2012-03-24  Bruno Haible  <bruno@clisp.org>
4942
4943         gnulib-tool: Avoid unintended error output from 'cmp'.
4944         * gnulib-tool (func_add_file, func_update_file, func_import): Use
4945         "cmp -s", not "cmp > /dev/null".
4946
4947 2012-03-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
4948
4949         gnulib-tool: fix imprecise comments w.r.t. an automake bug
4950
4951         It's not just Automake versions < 1.9b that creates an empty
4952         pkgdatadir at installation time if pkgdata_DATA is specified
4953         to empty; modern automake versions do this as well, at least
4954         until automake 1.11.4 (not yet released at the moment of writing,
4955         but soon to appear).  That behaviour was generally considered a
4956         feature rather than a bug, at least until this discussion:
4957         <http://lists.gnu.org/archive/html/automake/2012-03/msg00014.html>
4958
4959         See also automake bugs #10997 and #11030.
4960
4961         * gnulib-tool (func_emit_lib_Makefile_am): Adjust comments.  Add
4962         reference to relevant automake bug numbers.
4963         (func_emit_tests_Makefile_am): Likewise.
4964
4965 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
4966
4967         announce-gen: use Digest::SHA when possible
4968         * build-aux/announce-gen: Use Digest::SHA when possible, falling
4969         back to Digest::SHA1 if necessary.
4970
4971 2012-03-20  Jim Meyering  <meyering@redhat.com>
4972
4973         tests: avoid gcc warnings about argv vs. const initializers
4974         * tests/test-posix_spawn1.c (main): Cast to "(char *)" to avoid two
4975         warnings about discarding 'const' qualifier from pointer target type.
4976         * tests/test-posix_spawn2.c (main): Likewise.
4977
4978 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
4979
4980         README-release: simplify slightly
4981         * top/README-release: Run "git checkout master" only once.
4982
4983 2012-03-15  Mark Wielaard  <mark@klomp.org>
4984
4985         git-merge-changelog: add specific example on how to use with hg.
4986         * lib/git-merge-changelog.c: Add example on how to use in .hgrc.
4987
4988 2012-03-18  Mark Wielaard  <mark@klomp.org>
4989
4990         lib/git-merge-changelog.c (status): Report bugs to bug-gnulib@gnu.org.
4991
4992 2012-03-18  Andreas Oberritter  <obi@opendreambox.org>
4993
4994         git-version-gen: don't let "prefix" envvar cause trouble
4995         * build-aux/git-version-gen (prefix): Initialize properly,
4996         so as not to use a value specified via the environment.
4997         Details here: http://thread.gmane.org/gmane.comp.gnu.parted.bugs/10810
4998
4999 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
5000
5001         regex: diagnose too-large repeat counts in EREs
5002         Previously, the code did not diagnose the too-large repeat count
5003         in EREs like 'b{1000000000}'; instead, it silently treated the ERE
5004         as if it were 'b\{1000000000}', which is unexpected.
5005         * lib/regcomp.c (parse_dup_op): Fail with REG_ESIZE if a repeat count
5006         is too large.  REG_ESIZE is used nowhere else, and the diagnostic
5007         is a reasonable one for this problem.  Another option would be to
5008         create a new REG_OVERFLOW error for repeat counts that are too large.
5009         (fetch_number): Return RE_DUP_MAX + 1, not REG_ERROR, if the repeat
5010         count is too large, so that the caller can distinguish the two cases.
5011         * lib/regex.h (_REG_ESIZE): Document that this is now a generic
5012         "Too large" return code, and that repeat counts are one example of this.
5013
5014 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
5015
5016         doc: some glibc x32 integer width issues
5017         * doc/posix-headers/sys_types.texi (sys/types.h):
5018         * doc/posix-headers/time.texi (time.h):
5019         Mention that glibc x32 does not conform to POSIX in a couple of
5020         areas related to integer widths.
5021
5022 2012-03-15  Bruno Haible  <bruno@clisp.org>
5023
5024         fmal: Avoid test failure on OpenBSD 5.1/SPARC64.
5025         * lib/fma.c (VOLATILE): New macro.
5026         (FUNC): Use it to work around a GCC compiler bug.
5027
5028 2012-03-13  Bruno Haible  <bruno@clisp.org>
5029
5030         hypotl: Bypass broken implementation in OpenBSD 5.1/SPARC.
5031         * m4/hypotl.m4 (gl_FUNC_HYPOTL_WORKS): New macro.
5032         (gl_FUNC_HYPOTL): Invoke it. If the function does not work, set
5033         REPLACE_HYPOTL to 1.
5034         * doc/posix-functions/hypotl.texi: Mention the OpenBSD 5.1/SPARC bug.
5035
5036 2012-03-13  Bruno Haible  <bruno@clisp.org>
5037
5038         remainderl: Bypass broken implementation in OpenBSD 5.1/SPARC.
5039         * m4/remainderl.m4 (gl_FUNC_REMAINDERL_WORKS): New macro.
5040         (gl_FUNC_REMAINDERL): Invoke it. If the function does not work, set
5041         REPLACE_REMAINDERL to 1.
5042         * doc/posix-functions/remainderl.texi: Mention the OpenBSD 5.1/SPARC
5043         bug.
5044
5045 2012-03-13  Bruno Haible  <bruno@clisp.org>
5046
5047         sqrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
5048         * lib/math.in.h (sqrtl): Replace it if REPLACE_SQRTL is 1.
5049         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): New macro.
5050         (gl_FUNC_SQRTL): Invoke it. Set REPLACE_SQRTL to 1 if sqrtl() produces
5051         too big rounding errors.
5052         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_SQRTL.
5053         * modules/math (Makefile.am): Substitute REPLACE_SQRTL.
5054         * modules/sqrtl (configure.ac): Consider REPLACE_SQRTL.
5055         (Depends-on): Update conditions.
5056         * tests/test-sqrtl.c (my_ldexpl): New function.
5057         (main): Add test of a particular value.
5058         * doc/posix-functions/sqrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
5059
5060 2012-03-13  Pádraig Brady  <P@draigBrady.com>
5061
5062         doc: Update timer_* platform portability notes.
5063         * doc/posix-functions/timer_create.texi: Add platforms (OpenBSD 4.9)
5064         that always return ENOSYS.
5065         * doc/posix-functions/timer_delete.texi: Likewise.
5066         * doc/posix-functions/timer_gettime.texi: Likewise.
5067         * doc/posix-functions/timer_settime.texi: Likewise.
5068
5069 2012-03-13  Bruno Haible  <bruno@clisp.org>
5070
5071         cbrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
5072         * m4/cbrtl.m4 (gl_FUNC_CBRTL_WORKS): New macro.
5073         (gl_FUNC_CBRTL): Invoke it. If the function does not work, set
5074         REPLACE_CBRTL to 1.
5075         * doc/posix-functions/cbrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
5076
5077 2012-03-13  Bruno Haible  <bruno@clisp.org>
5078
5079         remainderl: Avoid compilation error on AIX >= 5.2.
5080         * lib/math.in.h (remainderl): Undefine macro from the system header.
5081
5082 2012-03-13  Bruno Haible  <bruno@clisp.org>
5083
5084         Avoid compilation errors with MSVC option -fp:strict.
5085         * lib/cbrt.c: Use MSVC specific pragma fenv_access.
5086         * lib/cbrtf.c: Likewise.
5087         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
5088
5089 2012-03-12  Bruno Haible  <bruno@clisp.org>
5090
5091         uninorm: Don't crash in out-of-memory conditions.
5092         * lib/uninorm/u-normalize-internal.h (FUNC): Handle malloc() failure
5093         gracefully.
5094         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Likewise.
5095         Based on a report and patch by Stephen Gallagher <sgallagh@redhat.com>.
5096
5097 2012-03-13  Akim Demaille  <akim@lrde.epita.fr>
5098
5099         quote: fix syntax-check
5100         * top/maint.mk (sc_prohibit_quote_without_use): quote.h
5101         also exports quote_quoting_options.
5102
5103 2012-03-12  Simon Josefsson  <simon@josefsson.org>
5104
5105         Collapse list of copyright years to ranges.  See
5106         <https://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00051.html>.
5107         * build-aux/bootstrap.conf, build-aux/csharpcomp.sh.in,
5108         build-aux/csharpexec.sh.in, build-aux/gnupload,
5109         build-aux/install-reloc, build-aux/javacomp.sh.in,
5110         build-aux/javaexec.sh.in, build-aux/ldd.sh.in,
5111         build-aux/move-if-change, build-aux/reloc-ldflags,
5112         build-aux/relocatable.sh.in, build-aux/x-to-1.in: Fix copyright.
5113
5114 2012-03-11  Bruno Haible  <bruno@clisp.org>
5115
5116         log2f-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
5117         * m4/log2f-ieee.m4: New file.
5118         * m4/log2f.m4 (gl_FUNC_LOG2F): If gl_FUNC_LOG2F_IEEE is present, test
5119         whether log2f works with a minus zero argument. Replace it if not.
5120         * modules/log2f-ieee (Files): Add m4/log2f-ieee.m4.
5121         (Depends-on): Add log2-ieee.
5122         (configure.ac): Invoke gl_FUNC_LOG2F_IEEE.
5123         * doc/posix-functions/log2f.texi: Mention the log2f-ieee module.
5124
5125         log2-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
5126         * m4/log2-ieee.m4: New file.
5127         * m4/log2.m4 (gl_FUNC_LOG2): If gl_FUNC_LOG2_IEEE is present, test
5128         whether log2 works with a minus zero argument. Replace it if not.
5129         * modules/log2-ieee (Files): Add m4/log2-ieee.m4.
5130         (configure.ac): Invoke gl_FUNC_LOG2_IEEE.
5131         * doc/posix-functions/log2.texi: Mention the log2-ieee module.
5132
5133         Tests for module 'log2l-ieee'.
5134         * modules/log2l-ieee-tests: New file.
5135         * tests/test-log2l-ieee.c: New file.
5136
5137         New module 'log2l-ieee'.
5138         * modules/log2l-ieee: New file.
5139
5140         Tests for module 'log2-ieee'.
5141         * modules/log2-ieee-tests: New file.
5142         * tests/test-log2-ieee.c: New file.
5143
5144         New module 'log2-ieee'.
5145         * modules/log2-ieee: New file.
5146
5147         Tests for module 'log2f-ieee'.
5148         * modules/log2f-ieee-tests: New file.
5149         * tests/test-log2f-ieee.c: New file.
5150         * tests/test-log2-ieee.h: New file.
5151
5152         New module 'log2f-ieee'.
5153         * modules/log2f-ieee: New file.
5154
5155 2012-03-11  Bruno Haible  <bruno@clisp.org>
5156
5157         Tests for module 'log2l'.
5158         * modules/log2l-tests: New file.
5159         * tests/test-log2l.c: New file.
5160
5161         New module 'log2l'.
5162         * lib/math.in.h (log2l): New declaration.
5163         * lib/log2l.c: New file.
5164         * m4/log2l.m4: New file.
5165         * m4/math_h.m4 (gl_MATH_H): Test whether log2l is declared.
5166         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2L, HAVE_DECL_LOG2L,
5167         REPLACE_LOG2L.
5168         * modules/math (Makefile.am): Substitute GNULIB_LOG2L, HAVE_DECL_LOG2L,
5169         REPLACE_LOG2L.
5170         * modules/log2l: New file.
5171         * tests/test-math-c++.cc: Check the declaration of log2l.
5172         * doc/posix-functions/log2l.texi: Mention the new module and the IRIX
5173         and OSF/1 problems.
5174
5175 2012-03-11  Bruno Haible  <bruno@clisp.org>
5176
5177         Tests for module 'log2f'.
5178         * modules/log2f-tests: New file.
5179         * tests/test-log2f.c: New file.
5180
5181         New module 'log2f'.
5182         * lib/math.in.h (log2f): New declaration.
5183         * lib/log2f.c: New file.
5184         * m4/log2f.m4: New file.
5185         * m4/math_h.m4 (gl_MATH_H): Test whether log2f is declared.
5186         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2F, HAVE_DECL_LOG2F,
5187         REPLACE_LOG2F.
5188         * modules/math (Makefile.am): Substitute GNULIB_LOG2F, HAVE_DECL_LOG2F,
5189         REPLACE_LOG2F.
5190         * modules/log2f: New file.
5191         * tests/test-math-c++.cc: Check the declaration of log2f.
5192         * doc/posix-functions/log2f.texi: Mention the new module and the IRIX
5193         and OSF/1 and Cygwin problems.
5194
5195 2012-03-11  Bruno Haible  <bruno@clisp.org>
5196
5197         Tests for module 'log2'.
5198         * modules/log2-tests: New file.
5199         * tests/test-log2.c: New file.
5200         * tests/test-log2.h: New file.
5201
5202         New module 'log2'.
5203         * lib/math.in.h (log2): New declaration.
5204         * lib/log2.c: New file.
5205         * m4/log2.m4: New file.
5206         * m4/math_h.m4 (gl_MATH_H): Test whether log2 is declared.
5207         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2, HAVE_DECL_LOG2,
5208         REPLACE_LOG2.
5209         * modules/math (Makefile.am): Substitute GNULIB_LOG2, HAVE_DECL_LOG2,
5210         REPLACE_LOG2.
5211         * modules/log2: New file.
5212         * tests/test-math-c++.cc: Check the declaration of log2.
5213         * doc/posix-functions/log2.texi: Mention the new module and the IRIX
5214         and OSF/1 and Cygwin problems.
5215
5216 2012-03-11  Bruno Haible  <bruno@clisp.org>
5217
5218         exp2* tests: More tests.
5219         * tests/test-exp2.h (test_function): Test all integral arguments that
5220         don't need to overflow or denormalized numbers.
5221         * tests/test-exp2.c (MAX_EXP, MIN_EXP): New macros.
5222         * tests/test-exp2f.c (MAX_EXP, MIN_EXP): Likewise.
5223         * tests/test-exp2l.c (MAX_EXP, MIN_EXP): Likewise.
5224
5225 2012-03-10  Bruno Haible  <bruno@clisp.org>
5226
5227         log1pl-ieee: Work around test failure on AIX 7.1.
5228         * modules/log1pl-ieee (Depends-on): Add log1p-ieee.
5229
5230         log1pl-ieee: Work around test failure on IRIX 6.5.
5231         * m4/log1pl-ieee.m4: New file.
5232         * m4/log1pl.m4 (gl_FUNC_LOG1PL): If gl_FUNC_LOG1PL_IEEE is present,
5233         test whether log1pl works with a minus zero argument. Replace it if
5234         not.
5235         * lib/math.in.h (log1pl): Override if REPLACE_LOG1PL is 1.
5236         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1PL.
5237         * modules/math (Makefile.am): Substitute REPLACE_LOG1PL.
5238         * modules/log1pl (configure.ac): Consider REPLACE_LOG1PL.
5239         (Depends-on): Update conditions.
5240         * modules/log1pl-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
5241         m4/signbit.m4.
5242         (configure.ac): Invoke gl_FUNC_LOG1PL_IEEE.
5243         * doc/posix-functions/log1pl.texi: Mention the log1pl-ieee module.
5244
5245         log1pf-ieee: Work around test failure on OpenBSD 4.9 and AIX 7.1.
5246         * m4/log1pf-ieee.m4: New file.
5247         * m4/log1pf.m4 (gl_FUNC_LOG1PF): If gl_FUNC_LOG1PF_IEEE is present,
5248         test whether log1pf works with a minus zero argument. Replace it if
5249         not.
5250         * modules/log1pf-ieee (Files): Add m4/log1pf-ieee.m4, m4/minus-zero.m4,
5251         m4/signbit.m4.
5252         (configure.ac): Invoke gl_FUNC_LOG1PF_IEEE.
5253         * doc/posix-functions/log1pf.texi: Mention the log1pf-ieee module.
5254
5255         log1pf-ieee: Work around test failure on AIX 5.1 and HP-UX 11.
5256         * modules/log1pf-ieee (Depends-on): Add log1p-ieee.
5257         (configure.ac): Require gl_FUNC_LOG1PF.
5258
5259         log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11.
5260         * m4/log1p-ieee.m4: New file.
5261         * m4/log1p.m4 (gl_FUNC_LOG1P): If gl_FUNC_LOG1P_IEEE is present, test
5262         whether log1p works with a minus zero argument. Replace it if not.
5263         * lib/math.in.h (log1p): Override if REPLACE_LOG1P is 1.
5264         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1P.
5265         * modules/math (Makefile.am): Substitute REPLACE_LOG1P.
5266         * modules/log1p (configure.ac): Consider REPLACE_LOG1P.
5267         (Depends-on): Update conditions.
5268         * modules/log1p-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
5269         m4/signbit.m4.
5270         (configure.ac): Invoke gl_FUNC_LOG1P_IEEE.
5271         * doc/posix-functions/log1p.texi: Mention the log1p-ieee module.
5272
5273         Tests for module 'log1pl-ieee'.
5274         * modules/log1pl-ieee-tests: New file.
5275         * tests/test-log1pl-ieee.c: New file.
5276
5277         New module 'log1pl-ieee'.
5278         * modules/log1pl-ieee: New file.
5279
5280         Tests for module 'log1p-ieee'.
5281         * modules/log1p-ieee-tests: New file.
5282         * tests/test-log1p-ieee.c: New file.
5283
5284         New module 'log1p-ieee'.
5285         * modules/log1p-ieee: New file.
5286
5287         Tests for module 'log1pf-ieee'.
5288         * modules/log1pf-ieee-tests: New file.
5289         * tests/test-log1pf-ieee.c: New file.
5290         * tests/test-log1p-ieee.h: New file.
5291
5292         New module 'log1pf-ieee'.
5293         * modules/log1pf-ieee: New file.
5294
5295 2012-03-10  Bruno Haible  <bruno@clisp.org>
5296
5297         Tests for module 'log1pl'.
5298         * modules/log1pl-tests: New file.
5299         * tests/test-log1pl.c: New file.
5300
5301         New module 'log1pl'.
5302         * lib/math.in.h (log1pl): New declaration.
5303         * lib/log1pl.c: New file.
5304         * m4/log1pl.m4: New file.
5305         * m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared.
5306         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL.
5307         * modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL.
5308         * modules/log1pl: New file.
5309         * tests/test-math-c++.cc: Check the declaration of log1pl.
5310         * doc/posix-functions/log1pl.texi: Mention the new module.
5311
5312 2012-03-10  Bruno Haible  <bruno@clisp.org>
5313
5314         Tests for module 'log1pf'.
5315         * modules/log1pf-tests: New file.
5316         * tests/test-log1pf.c: New file.
5317
5318         New module 'log1pf'.
5319         * lib/math.in.h (log1pf): New declaration.
5320         * lib/log1pf.c: New file.
5321         * m4/log1pf.m4: New file.
5322         * m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared.
5323         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF,
5324         REPLACE_LOG1PF.
5325         * modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF,
5326         REPLACE_LOG1PF.
5327         * modules/log1pf: New file.
5328         * tests/test-math-c++.cc: Check the declaration of log1pf.
5329         * doc/posix-functions/log1pf.texi: Mention the new module.
5330
5331 2012-03-10  Bruno Haible  <bruno@clisp.org>
5332
5333         log1p tests: More tests.
5334         * tests/test-log1p.h: New file.
5335         * modules/log1p-tests (Files): Add tests/test-log1p.h, tests/randomd.c.
5336         (Makefile.am): Add randomd.c to test_log1p_SOURCES.
5337         * tests/test-log1p.c: Include <float.h> and test-log1p.h.
5338         (main): Invoke test_function.
5339
5340         log1p: Provide replacement for Minix and MSVC.
5341         * lib/math.in.h (log1p): New declaration.
5342         * lib/log1p.c: New file.
5343         * m4/log1p.m4: New file.
5344         * m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared.
5345         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P.
5346         * modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P.
5347         * modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4.
5348         (Depends-on): Add math, isnand, log, round.
5349         (configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if
5350         HAVE_LOG1P is 0.
5351         * tests/test-math-c++.cc: Check the declaration of log1p.
5352         * doc/posix-functions/log1p.texi: Mention the replacement.
5353
5354 2012-03-10  Bruno Haible  <bruno@clisp.org>
5355
5356         math tests: Small simplification.
5357         * tests/test-exp.h (test_function): Use the same err_bound for
5358         'double' on platforms with sizeof (long double) == sizeof (double)
5359         than on platforms with sizeof (long double) > sizeof (double).
5360         * tests/test-exp2.h (test_function): Likewise.
5361         * tests/test-expm1.h (test_function): Likewise.
5362         * tests/test-log.h (test_function): Likewise.
5363
5364 2012-03-10  Bruno Haible  <bruno@clisp.org>
5365
5366         Fix some comments.
5367         * lib/expl.c: Fix an ambiguous comment.
5368         * lib/expm1.c: Likewise.
5369         * lib/expm1l.c: Likewise.
5370         * lib/exp2.c: Likewise.
5371         * lib/exp2l.c: Likewise.
5372
5373 2012-03-10  Paul Eggert  <eggert@cs.ucla.edu>
5374
5375         regex: allow inclusion of <regex.h> before <limits.h>
5376         Without this patch, portable programs had to include <limits.h> before
5377         <regex.h> if they wanted a consistent value for RE_DUP_MAX.
5378         I ran into this problem with a test version of GNU grep on Solaris 8.
5379         * lib/regex.h: Include <limits.h> if _REGEX_INCLUDE_LIMITS_H.
5380         This is done conditionally so that this change can be merged
5381         back to glibc.
5382         * m4/regex.m4 (gl_REGEX): Define _REGEX_INCLUDE_LIMITS_H if
5383         using the included regex.
5384
5385         fts: depend on fdopendir
5386         * modules/fts (Depends-on): Depend on fdopendir.  This is needed
5387         on Solaris 8, at least, since it lacks fdopendir.  Evidently the
5388         problem was introduced when fdopendir was split out.
5389
5390 2012-03-10  Bruno Haible  <bruno@clisp.org>
5391
5392         Remove unused variables.
5393         * m4/fmodf.m4 (gl_FUNC_FMODF): Remove unused variable 'i'.
5394         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
5395
5396 2012-03-10  Bruno Haible  <bruno@clisp.org>
5397
5398         isnanf-nolibm: Fix last commit.
5399         * lib/isnanf-nolibm.h [IRIX]: Don't include <ieeefp.h>. Declare isnanf.
5400
5401         isnanf-nolibm: Make it work on IRIX 6.5 with cc.
5402         * lib/isnanf-nolibm.h [IRIX]: Include <ieeefp.h>.
5403
5404 2012-03-10  Bruno Haible  <bruno@clisp.org>
5405
5406         logf-ieee: Work around test failure on NetBSD 5.1.
5407         * m4/logf-ieee.m4: New file.
5408         * m4/logf.m4 (gl_FUNC_LOGF): If gl_FUNC_LOGF_IEEE is present, test
5409         whether logf works with a negative argument. Replace it if not.
5410         * lib/logf.c (logf): For negative arguments, return NaN.
5411         * modules/logf-ieee (Files): Add m4/logf-ieee.m4.
5412         (configure.ac): Invoke gl_FUNC_LOGF_IEEE.
5413         * doc/posix-functions/logf.texi: Mention the logf-ieee module.
5414
5415         logf-ieee: Work around test failure on Solaris 9.
5416         * modules/logf-ieee (Depends-on): Add log-ieee.
5417         (configure.ac): Require gl_FUNC_LOGF.
5418
5419         log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
5420         * m4/log-ieee.m4: New file.
5421         * m4/log.m4 (gl_FUNC_LOG): If gl_FUNC_LOG_IEEE is present, test whether
5422         log works with a negative argument. Replace it if not.
5423         * lib/log.c (log): For negative arguments, return NaN.
5424         * modules/log-ieee (Files): Add m4/log-ieee.m4.
5425         (configure.ac): Invoke gl_FUNC_LOG_IEEE.
5426         * doc/posix-functions/log.texi: Mention the log-ieee module.
5427
5428         Tests for module 'logl-ieee'.
5429         * modules/logl-ieee-tests: New file.
5430         * tests/test-logl-ieee.c: New file.
5431
5432         New module 'logl-ieee'.
5433         * modules/logl-ieee: New file.
5434
5435         Tests for module 'log-ieee'.
5436         * modules/log-ieee-tests: New file.
5437         * tests/test-log-ieee.c: New file.
5438
5439         New module 'log-ieee'.
5440         * modules/log-ieee: New file.
5441
5442         Tests for module 'logf-ieee'.
5443         * modules/logf-ieee-tests: New file.
5444         * tests/test-logf-ieee.c: New file.
5445         * tests/test-log-ieee.h: New file.
5446
5447         New module 'logf-ieee'.
5448         * modules/logf-ieee: New file.
5449
5450 2012-03-10  Bruno Haible  <bruno@clisp.org>
5451
5452         log: Fix bug introduced on 2012-03-09.
5453         * m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS.
5454
5455 2012-03-10  Pádraig Brady  <P@draigBrady.com>
5456
5457         timer-time: link explicitly with pthreads on glibc
5458         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
5459         to support static linking, when newer glibc is
5460         detected, as that contains pthread emulation of
5461         POSIX timer functions where required.
5462         * modules/timer-time: Depend on threadlib to
5463         pull in the appropriate library to link.
5464
5465 2012-03-10  Bruno Haible  <bruno@clisp.org>
5466
5467         log* tests: More tests.
5468         * tests/test-log.h: New file.
5469         * tests/test-log.c: Include <float.h>, minus-zero.h, test-log.h.
5470         (main): Invoke test_function.
5471         * tests/test-logf.c: Include <float.h>, minus-zero.h, test-log.h.
5472         (main): Invoke test_function.
5473         * tests/test-logl.c: Include <float.h>, minus-zero.h, test-log.h.
5474         (main): Invoke test_function.
5475         * modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
5476         tests/randomd.c.
5477         (Makefile.am): Add randomd.c to test_log_SOURCES.
5478         * modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
5479         tests/randomf.c.
5480         (Makefile.am): Add randomf.c to test_logf_SOURCES.
5481         * modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
5482         tests/randoml.c.
5483         (Depends-on): Add 'float'.
5484         (Makefile.am): Add randoml.c to test_logl_SOURCES.
5485
5486 2012-03-09  Bruno Haible  <bruno@clisp.org>
5487
5488         logl: Work around OSF/1 5.1 bug.
5489         * lib/math.in.h (logl): Override if REPLACE_LOGL is 1.
5490         * lib/logl.c (logl): If logl exists, use it and provide just the
5491         workaround.
5492         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro.
5493         (gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL.
5494         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL.
5495         * modules/math (Makefile.am): Substitute REPLACE_LOGL.
5496         * modules/logl (configure.ac): Consider REPLACE_LOGL.
5497         (Depends-on): Update conditions.
5498         * doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem.
5499
5500 2012-03-09  Bruno Haible  <bruno@clisp.org>
5501
5502         logf: Work around OSF/1 5.1 bug.
5503         * lib/math.in.h (logf): Override if REPLACE_LOGF is 1.
5504         * lib/logf.c (logf): If logf exists, use it and provide just the
5505         workaround.
5506         * m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro.
5507         (gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF.
5508         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF.
5509         * modules/math (Makefile.am): Substitute REPLACE_LOGF.
5510         * modules/logf (configure.ac): Consider REPLACE_LOGF.
5511         (Depends-on): Update conditions.
5512         * doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem.
5513
5514 2012-03-09  Bruno Haible  <bruno@clisp.org>
5515
5516         log: Work around OSF/1 5.1 bug.
5517         * lib/math.in.h (log): New declaration.
5518         * lib/log.c: New file.
5519         * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro.
5520         (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG.
5521         * m4/math_h.m4 (gl_MATH_H): Test whether log is declared.
5522         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG.
5523         * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG.
5524         * modules/log (Files): Add lib/log.c.
5525         (Depends-on): Add math.
5526         (configure.ac): If REPLACE_LOG is 1, compile an override.
5527         * tests/test-math-c++.cc: Check the declaration of log.
5528         * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.
5529
5530 2012-03-09  Jim Meyering  <meyering@redhat.com>
5531
5532         readtokens.c: adjust wording in a comment
5533         * lib/readtokens.c: Insert omitted "that" in a comment.
5534
5535 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
5536
5537         modechange: add notations +40, 00440, etc.
5538         * lib/modechange.c (mode_compile): Support new notations
5539         +40, -40, =440, 00440.  See <http://debbugs.gnu.org/8391>.
5540
5541 2012-03-08  Bruno Haible  <bruno@clisp.org>
5542
5543         exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
5544         * m4/exp2l-ieee.m4: New file.
5545         * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present,
5546         test whether exp2l works with a NaN argument and with a negative
5547         infinity argument. Replace it if not.
5548         * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1.
5549         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L.
5550         * modules/math (Makefile.am): Substitute REPLACE_EXP2L.
5551         * modules/exp2l (configure.ac): Consider REPLACE_EXP2L.
5552         (Depends-on): Update conditions.
5553         * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4.
5554         (configure.ac): Invoke gl_FUNC_EXP2L_IEEE.
5555         * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.
5556
5557         Tests for module 'exp2l-ieee'.
5558         * modules/exp2l-ieee-tests: New file.
5559         * tests/test-exp2l-ieee.c: New file.
5560
5561         New module 'exp2l-ieee'.
5562         * modules/exp2l-ieee: New file.
5563
5564         Tests for module 'exp2-ieee'.
5565         * modules/exp2-ieee-tests: New file.
5566         * tests/test-exp2-ieee.c: New file.
5567
5568         New module 'exp2-ieee'.
5569         * modules/exp2-ieee: New file.
5570
5571         Tests for module 'exp2f-ieee'.
5572         * modules/exp2f-ieee-tests: New file.
5573         * tests/test-exp2f-ieee.c: New file.
5574         * tests/test-exp2-ieee.h: New file.
5575
5576         New module 'exp2f-ieee'.
5577         * modules/exp2f-ieee: New file.
5578
5579 2012-03-08  Bruno Haible  <bruno@clisp.org>
5580
5581         Tests for module 'exp2l'.
5582         * modules/exp2l-tests: New file.
5583         * tests/test-exp2l.c: New file.
5584
5585         New module 'exp2l'.
5586         * lib/math.in.h (exp2l): New declaration.
5587         * lib/exp2l.c: New file.
5588         * lib/expl-table.c: New file, extracted from lib/expl.c.
5589         * lib/expl.c (gl_expl_table): New declaration.
5590         (expl): Remove expl_table. Update reference.
5591         * m4/exp2l.m4: New file.
5592         * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared.
5593         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L.
5594         * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L.
5595         * modules/exp2l: New file.
5596         * modules/expl (Files): Add lib/expl-table.c.
5597         (configure.ac): Compile also expl-table.c.
5598         * tests/test-math-c++.cc: Check the declaration of exp2l.
5599         * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX
5600         problem.
5601
5602 2012-03-08  Bruno Haible  <bruno@clisp.org>
5603
5604         Tests for module 'exp2f'.
5605         * modules/exp2f-tests: New file.
5606         * tests/test-exp2f.c: New file.
5607
5608         New module 'exp2f'.
5609         * lib/math.in.h (exp2f): New declaration.
5610         * lib/exp2f.c: New file.
5611         * m4/exp2f.m4: New file.
5612         * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared.
5613         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F.
5614         * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F.
5615         * modules/exp2f: New file.
5616         * tests/test-math-c++.cc: Check the declaration of exp2f.
5617         * doc/posix-functions/exp2f.texi: Mention the new module and the
5618         IRIX problem.
5619
5620 2012-03-08  Bruno Haible  <bruno@clisp.org>
5621
5622         Tests for module 'exp2'.
5623         * modules/exp2-tests: New file.
5624         * tests/test-exp2.c: New file.
5625         * tests/test-exp2.h: New file.
5626
5627         New module 'exp2'.
5628         * lib/math.in.h (exp2): New declaration.
5629         * lib/exp2.c: New file.
5630         * m4/exp2.m4: New file.
5631         * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
5632         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
5633         REPLACE_EXP2.
5634         * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
5635         REPLACE_EXP2.
5636         * modules/exp2: New file.
5637         * tests/test-math-c++.cc: Check the declaration of exp2.
5638         * doc/posix-functions/exp2.texi: Mention the new module and the IRIX
5639         and OpenBSD problems.
5640
5641 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
5642
5643         savedir: fix comment typo
5644         * lib/savedir.c (savedirstream): Fix typo in comment.
5645
5646 2012-03-08  Bruno Haible  <bruno@clisp.org>
5647
5648         test-readtokens.c: use const; remove unwarranted cast
5649         * tests/test-readtokens.c: Declare delim to be const, to avoid a cast.
5650
5651 2012-03-08  Bruno Haible  <bruno@clisp.org>
5652
5653         fmal: Avoid compilation error on AIX.
5654         * lib/math.in.h (fmal): Undefine macro before declaration. Needed on
5655         AIX 5.2..7.1.
5656
5657 2012-03-08  Bruno Haible  <bruno@clisp.org>
5658
5659         fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
5660         * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
5661         arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
5662         * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
5663         arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
5664         * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
5665         arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.
5666
5667 2012-03-08  Bruno Haible  <bruno@clisp.org>
5668
5669         remainderf: Override buggy system function on IRIX 6.5.
5670         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
5671         (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
5672         when it exists.
5673         * doc/posix-functions/remainderf.texi: Mention the IRIX problems.
5674
5675 2012-03-08  Jim Meyering  <meyering@redhat.com>
5676
5677         test-readtokens.c: avoid const-related compilation warnings
5678         * tests/test-readtokens.c: Avoid const-related compilation warnings.
5679
5680 2012-03-07  Jim Meyering  <meyering@redhat.com>
5681             Bruno Haible  <bruno@clisp.org>
5682
5683         frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
5684         * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
5685         tests/randomd.c.
5686         (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
5687         * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
5688         tests/randoml.c.
5689         (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.
5690
5691 2012-03-07  Bruno Haible  <bruno@clisp.org>
5692
5693         expm1l: Avoid compilation error on AIX.
5694         * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
5695         AIX 5.2..7.1.
5696
5697 2012-03-07  Bruno Haible  <bruno@clisp.org>
5698
5699         expm1l: Don't override undeclared system function on IRIX 6.5.
5700         * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
5701         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
5702         it exists. Set HAVE_DECL_EXPM1L.
5703         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
5704         HAVE_EXPM1L.
5705         * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
5706         HAVE_EXPM1L.
5707         * doc/posix-functions/expm1l.texi: Mention missing declaration problem.
5708
5709 2012-03-07  Bruno Haible  <bruno@clisp.org>
5710
5711         remainderl: Don't override undeclared system function on IRIX 6.5.
5712         * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
5713         HAVE_REMAINDERL.
5714         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
5715         declared when it exists. Set HAVE_DECL_REMAINDERL.
5716         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
5717         not HAVE_REMAINDERL.
5718         * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
5719         HAVE_REMAINDERL.
5720         * doc/posix-functions/remainderl.texi: Mention missing declaration
5721         problem.
5722
5723 2012-03-07  Bruno Haible  <bruno@clisp.org>
5724
5725         rintf: Don't override undeclared system function on IRIX 6.5.
5726         * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
5727         * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
5728         exists. Set HAVE_DECL_RINTF.
5729         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
5730         HAVE_RINTF.
5731         * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
5732         HAVE_RINTF.
5733         * doc/posix-functions/rintf.texi: Mention missing declaration problem.
5734
5735 2012-03-07  Bruno Haible  <bruno@clisp.org>
5736
5737         roundl: Avoid compilation error on AIX.
5738         * lib/math.in.h (roundl): Undefine macro before declaration. Needed on
5739         AIX 5.2..7.1.
5740
5741 2012-03-07  Bruno Haible  <bruno@clisp.org>
5742
5743         roundl: Don't override undeclared system function on IRIX 6.5.
5744         * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
5745         also when it is not declared. Set HAVE_ROUNDL. For replacement code,
5746         test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
5747         * modules/roundl (configure.ac): For replacement code, test
5748         HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
5749         (Depends-on): Update conditions.
5750         * doc/posix-functions/roundl.texi: Mention the IRIX problem.
5751
5752 2012-03-07  Bruno Haible  <bruno@clisp.org>
5753
5754         roundf: Don't override undeclared system function on IRIX 6.5.
5755         * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
5756         also when it is not declared. Set HAVE_ROUNDF. For replacement code,
5757         test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
5758         * modules/roundf (configure.ac): For replacement code, test
5759         HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
5760         (Depends-on): Update conditions.
5761         * modules/roundf-ieee (Depends-on): Update conditions.
5762         * doc/posix-functions/roundf.texi: Mention the IRIX problem.
5763
5764 2012-03-07  Bruno Haible  <bruno@clisp.org>
5765
5766         round: Don't override undeclared system function on IRIX 6.5.
5767         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
5768         argument.
5769         * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
5770         also when it is not declared. Set HAVE_ROUND. For replacement code,
5771         test HAVE_ROUND, not HAVE_DECL_ROUND.
5772         * modules/round (configure.ac): For replacement code, test HAVE_ROUND,
5773         not HAVE_DECL_ROUND.
5774         (Depends-on): Update conditions.
5775         * modules/round-ieee (Depends-on): Update conditions.
5776         * doc/posix-functions/round.texi: Mention the IRIX problem.
5777
5778 2012-03-07  Bruno Haible  <bruno@clisp.org>
5779
5780         copysignf: Don't override undeclared system function on IRIX 6.5.
5781         * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
5782         HAVE_COPYSIGNF.
5783         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
5784         declared when it exists. Set HAVE_DECL_COPYSIGNF.
5785         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
5786         not HAVE_COPYSIGNF.
5787         * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
5788         HAVE_COPYSIGNF.
5789         * doc/posix-functions/copysignf.texi: Mention missing declaration
5790         problem.
5791
5792 2012-03-07  Jim Meyering  <meyering@redhat.com>
5793
5794         readtokens: add tests
5795         * modules/readtokens-tests: New file.
5796         * tests/test-readtokens.c: New file.
5797
5798 2012-03-07  Jim Meyering  <meyering@redhat.com>
5799
5800         quotearg: the module must now include quote.h
5801         With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
5802         So must the module.
5803         * modules/quotearg (Files): Add quote.h.
5804
5805 2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
5806
5807         readtokens: avoid core dumps with unusual calling patterns
5808         Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
5809         * lib/readtokens.c: Include limits.h.
5810         (word, bits_per_word, get_nth_bit, set_nth_bit): New.
5811         (readtoken): Don't cache the delimiters; the cache code was buggy
5812         if !delim && saved_delim, or if the new n_delim differs from the old.
5813         Also, it wasn't thread-safe.
5814
5815 2012-03-07  Bruno Haible  <bruno@clisp.org>
5816
5817         quote: Adhere to common module description layout.
5818         * modules/quote (Makefile.am): Add back empty section.
5819
5820 2012-03-06  Akim Demaille  <demaille@gostai.com>
5821
5822         quote: fuse into quotearg
5823         This patch is made for the benefit of Bison.
5824         quote does not leave the choice of the quoting style to the user.
5825         quoting_style provides poor customizability, yet quoting_options,
5826         which is very rich, is hidden inside quotearg.c.  So in order to
5827         allow quote customization, move its implementation to quotearg.c.
5828         * lib/quote.c: Remove.
5829         * modules/quote: Adjust.
5830         * lib/quotearg.c (quoting_options_from_style): Fix a compiler
5831         warning: provide all the members of literal structs.
5832         (quote_quoting_options): New.
5833         (quote, quote_n): Import implementation from quote.c.
5834         * lib/quote.h: Import the comments from quote.c.
5835         (quote_quoting_options): New.
5836
5837 2012-03-06  Bruno Haible  <bruno@clisp.org>
5838
5839         Tests for module 'expm1l-ieee'.
5840         * modules/expm1l-ieee-tests: New file.
5841         * tests/test-expm1l-ieee.c: New file.
5842
5843         New module 'expm1l-ieee'.
5844         * modules/expm1l-ieee: New file.
5845
5846         Tests for module 'expm1f-ieee'.
5847         * modules/expm1f-ieee-tests: New file.
5848         * tests/test-expm1f-ieee.c: New file.
5849
5850         New module 'expm1f-ieee'.
5851         * modules/expm1f-ieee: New file.
5852
5853         Tests for module 'expm1-ieee'.
5854         * modules/expm1-ieee-tests: New file.
5855         * tests/test-expm1-ieee.c: New file.
5856         * tests/test-expm1-ieee.h: New file.
5857
5858         New module 'expm1-ieee'.
5859         * modules/expm1-ieee: New file.
5860         * m4/expm1-ieee.m4: New file.
5861         * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
5862         whether expm1 works with a minus zero argument. Replace it if not.
5863         * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
5864         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
5865         * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
5866         * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
5867         (Depends-on): Update conditions.
5868         * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
5869         AIX problem.
5870
5871 2012-03-06  Bruno Haible  <bruno@clisp.org>
5872
5873         Work around expm1f bug on IRIX 6.5.
5874         * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
5875         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
5876         (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
5877         not work.
5878         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
5879         * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
5880         * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
5881         (Depends-on): Update conditions.
5882         * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
5883
5884 2012-03-06  Bruno Haible  <bruno@clisp.org>
5885
5886         Tests for module 'expm1l'.
5887         * modules/expm1l-tests: New file.
5888         * tests/test-expm1l.c: New file.
5889
5890         New module 'expm1l'.
5891         * lib/math.in.h (expm1l): New declaration.
5892         * lib/expm1l.c: New file.
5893         * m4/expm1l.m4: New file.
5894         * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
5895         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
5896         * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
5897         * modules/expm1l: New file.
5898         * tests/test-math-c++.cc: Check the declaration of expm1l.
5899         * doc/posix-functions/expm1l.texi: Mention the new module.
5900
5901 2012-03-06  Bruno Haible  <bruno@clisp.org>
5902
5903         Tests for module 'expm1f'.
5904         * modules/expm1f-tests: New file.
5905         * tests/test-expm1f.c: New file.
5906
5907         New module 'expm1f'.
5908         * lib/math.in.h (expm1f): New declaration.
5909         * lib/expm1f.c: New file.
5910         * m4/expm1f.m4: New file.
5911         * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
5912         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
5913         * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
5914         * modules/expm1f: New file.
5915         * tests/test-math-c++.cc: Check the declaration of expm1f.
5916         * doc/posix-functions/expm1f.texi: Mention the new module.
5917
5918 2012-03-06  Bruno Haible  <bruno@clisp.org>
5919
5920         Tests for module 'expm1'.
5921         * modules/expm1-tests: New file.
5922         * tests/test-expm1.c: New file.
5923         * tests/test-expm1.h: New file.
5924
5925         New module 'expm1'.
5926         * lib/math.in.h (expm1): New declaration.
5927         * lib/expm1.c: New file.
5928         * m4/expm1.m4: New file.
5929         * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
5930         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
5931         * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
5932         * modules/expm1: New file.
5933         * tests/test-math-c++.cc: Check the declaration of expm1.
5934         * doc/posix-functions/expm1.texi: Mention the new module.
5935
5936 2012-03-06  Bruno Haible  <bruno@clisp.org>
5937
5938         math: Ensure declarations of math functions.
5939         * modules/acosf (Depends-on): Add 'extensions'.
5940         * modules/asinf (Depends-on): Likewise.
5941         * modules/atan2f (Depends-on): Likewise.
5942         * modules/atanf (Depends-on): Likewise.
5943         * modules/cbrt (Depends-on): Likewise.
5944         * modules/cbrtf (Depends-on): Likewise.
5945         * modules/cbrtl (Depends-on): Likewise.
5946         * modules/copysignf (Depends-on): Likewise.
5947         * modules/copysignl (Depends-on): Likewise.
5948         * modules/cosf (Depends-on): Likewise.
5949         * modules/coshf (Depends-on): Likewise.
5950         * modules/expf (Depends-on): Likewise.
5951         * modules/fabsf (Depends-on): Likewise.
5952         * modules/fabsl (Depends-on): Likewise.
5953         * modules/fmaf (Depends-on): Likewise.
5954         * modules/fmal (Depends-on): Likewise.
5955         * modules/fmodf (Depends-on): Likewise.
5956         * modules/fmodl (Depends-on): Likewise.
5957         * modules/frexpf (Depends-on): Likewise.
5958         * modules/frexpl (Depends-on): Likewise.
5959         * modules/hypot (Depends-on): Likewise.
5960         * modules/hypotf (Depends-on): Likewise.
5961         * modules/hypotl (Depends-on): Likewise.
5962         * modules/ldexpf (Depends-on): Likewise.
5963         * modules/ldexpl (Depends-on): Likewise.
5964         * modules/log10f (Depends-on): Likewise.
5965         * modules/log10l (Depends-on): Likewise.
5966         * modules/log1p (Depends-on): Likewise.
5967         * modules/logb (Depends-on): Likewise.
5968         * modules/logf (Depends-on): Likewise.
5969         * modules/modff (Depends-on): Likewise.
5970         * modules/modfl (Depends-on): Likewise.
5971         * modules/powf (Depends-on): Likewise.
5972         * modules/remainderf (Depends-on): Likewise.
5973         * modules/remainderl (Depends-on): Likewise.
5974         * modules/rintf (Depends-on): Likewise.
5975         * modules/rintl (Depends-on): Likewise.
5976         * modules/sinf (Depends-on): Likewise.
5977         * modules/sinhf (Depends-on): Likewise.
5978         * modules/sqrtf (Depends-on): Likewise.
5979         * modules/tanf (Depends-on): Likewise.
5980         * modules/tanhf (Depends-on): Likewise.
5981         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
5982         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
5983         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
5984         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
5985         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
5986         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
5987         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
5988         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
5989         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
5990         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
5991         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
5992         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
5993         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
5994         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
5995         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
5996         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
5997         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
5998         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
5999         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
6000         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
6001         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
6002         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
6003         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
6004         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
6005         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
6006         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
6007         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
6008         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
6009         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
6010         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
6011         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
6012         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
6013         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
6014         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
6015         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
6016         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
6017         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
6018         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
6019         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
6020         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
6021         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
6022
6023 2012-03-06  Bruno Haible  <bruno@clisp.org>
6024
6025         math: Update module names in warnings.
6026         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
6027         tanl): Use specific module name in warn-on-use warning.
6028
6029 2012-03-06  Bruno Haible  <bruno@clisp.org>
6030
6031         expl: Simplify computation.
6032         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
6033
6034 2012-03-05  Bruno Haible  <bruno@clisp.org>
6035
6036         exp* tests: More tests.
6037         * tests/test-exp.h: New file.
6038         * tests/test-exp.c: Include <float.h> and test-exp.h.
6039         (main): Invoke test_function.
6040         * tests/test-expf.c: Include <float.h> and test-exp.h.
6041         (main): Invoke test_function.
6042         * tests/test-expl.c: Include <float.h> and test-exp.h.
6043         (main): Invoke test_function.
6044         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
6045         (Makefile.am): Add randomd.c to test_exp_SOURCES.
6046         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
6047         (Makefile.am): Add randomf.c to test_expf_SOURCES.
6048         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
6049         (Depends-on): Add 'float'.
6050         (Makefile.am): Add randoml.c to test_expl_SOURCES.
6051
6052         expl: Fix precision of computed result.
6053         * lib/expl.c: Completely rewritten.
6054         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
6055         (Maintainer): Add me.
6056         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
6057
6058 2012-03-05  Bruno Haible  <bruno@clisp.org>
6059
6060         cbrt* tests: More tests.
6061         * tests/test-cbrt.h: New file.
6062         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
6063         (main): Invoke test_function.
6064         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
6065         (main): Invoke test_function.
6066         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
6067         (main): Invoke test_function.
6068         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
6069         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
6070         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
6071         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
6072         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
6073         (Depends-on): Add 'float'.
6074         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
6075
6076 2012-03-05  Bruno Haible  <bruno@clisp.org>
6077
6078         hypot* tests: More tests.
6079         * tests/test-hypot.h: New file, partially extracted from
6080         tests/test-hypotl.c.
6081         * tests/test-hypot.c: Include test-hypot.h.
6082         (main): Invoke test_function.
6083         * tests/test-hypotf.c: Include test-hypot.h.
6084         (main): Invoke test_function.
6085         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
6086         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
6087         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
6088         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
6089         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
6090         tests/randomf.c.
6091         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
6092         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
6093         tests/randoml.c.
6094         (Depends-on): Add 'fpucw', 'float'.
6095         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
6096
6097 2012-03-05  Bruno Haible  <bruno@clisp.org>
6098
6099         fpucw: Doc about FreeBSD.
6100         * lib/fpucw.h: Mention FreeBSD in comments.
6101
6102 2012-03-04  Bruno Haible  <bruno@clisp.org>
6103
6104         sqrt* tests: More tests.
6105         * tests/test-sqrt.h: New file.
6106         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
6107         (main): Invoke test_function.
6108         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
6109         (main): Invoke test_function.
6110         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
6111         (main): Invoke test_function.
6112         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
6113         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
6114         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
6115         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
6116         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
6117         (Depends-on): Add 'float'.
6118         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
6119
6120 2012-03-04  Bruno Haible  <bruno@clisp.org>
6121
6122         remainder* tests: More tests.
6123         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
6124         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
6125         (main): Invoke test_function.
6126         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
6127         (main): Invoke test_function.
6128         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
6129         (main): Invoke test_function.
6130         * modules/remainder-tests (Files): Add tests/test-remainder.h,
6131         tests/randomd.c.
6132         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
6133         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
6134         tests/randomf.c.
6135         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
6136         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
6137         tests/randoml.c.
6138         (Depends-on): Add 'float'.
6139         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
6140
6141 2012-03-04  Bruno Haible  <bruno@clisp.org>
6142
6143         remainder, remainderf, remainderl: Fix computation for large quotients.
6144         * lib/remainder.c: Completely rewritten.
6145         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
6146         USE_FLOAT.
6147         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
6148         USE_LONG_DOUBLE.
6149         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
6150         isnand, isinf. Remove round, fma.
6151         * modules/remainderf (Files): Add lib/remainder.c.
6152         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
6153         Remove roundf, fmaf.
6154         * modules/remainderl (Files): Add lib/remainder.c.
6155         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
6156         isinf. Remove roundl, fmal.
6157         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
6158         REMAINDER_LIBM.
6159         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
6160         REMAINDERF_LIBM.
6161         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
6162         REMAINDERL_LIBM.
6163
6164 2012-03-04  Bruno Haible  <bruno@clisp.org>
6165
6166         fmod* tests: More tests.
6167         * tests/test-fmod.h (my_ldexp): New function.
6168         (test_function): Reduce amount of random numbers to test. Add tests
6169         of very large quotients x / y.
6170         * tests/test-fmod.c (MAX_EXP): New macro.
6171         * tests/test-fmodf.c (MAX_EXP): Likewise.
6172         * tests/test-fmodl.c (MAX_EXP): Likewise.
6173
6174 2012-03-04  Bruno Haible  <bruno@clisp.org>
6175
6176         fmod, fmodl: Fix computation for large quotients x / y.
6177         * lib/fmod.c: Completely rewritten.
6178         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
6179         USE_LONG_DOUBLE.
6180         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
6181         isnand. Remove fma.
6182         * modules/fmodl (Files): Add lib/fmod.c.
6183         (Depends-on): Add float, isfinite, signbit, fabsl,
6184         frexpl, ldexpl, isnanl. Remove fma.
6185         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
6186         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
6187
6188 2012-03-03  Bruno Haible  <bruno@clisp.org>
6189
6190         fmod* tests: More tests.
6191         * tests/test-fmod.h: New file.
6192         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
6193         (main): Invoke test_function.
6194         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
6195         (main): Invoke test_function.
6196         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
6197         (main): Invoke test_function.
6198         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
6199         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
6200         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
6201         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
6202         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
6203         (Depends-on): Add 'float'.
6204         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
6205
6206 2012-03-03  Bruno Haible  <bruno@clisp.org>
6207
6208         rint* tests: More tests.
6209         * tests/test-rint.h: New file, partially extracted from
6210         tests/test-rintl.c.
6211         * tests/test-rint.c: Include test-rint.h.
6212         (main): Invoke test_function.
6213         * tests/test-rintf.c: Include test-rint.h.
6214         (main): Invoke test_function.
6215         * tests/test-rintl.c: Include test-rint.h.
6216         (main): Invoke test_function.
6217         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
6218         (Makefile.am): Add randomd.c to test_rint_SOURCES.
6219         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
6220         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
6221         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
6222         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
6223
6224 2012-03-03  Bruno Haible  <bruno@clisp.org>
6225
6226         modf* tests: More tests.
6227         * tests/test-modf.h: New file.
6228         * tests/test-modf.c: Include <float.h> and test-modf.h.
6229         (main): Invoke test_function.
6230         * tests/test-modff.c: Include <float.h> and test-modf.h.
6231         (main): Invoke test_function.
6232         * tests/test-modfl.c: Include <float.h> and test-modf.h.
6233         (main): Invoke test_function.
6234         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
6235         (Makefile.am): Add randomd.c to test_modf_SOURCES.
6236         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
6237         (Makefile.am): Add randomf.c to test_modff_SOURCES.
6238         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
6239         (Depends-on): Add 'float'.
6240         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
6241
6242 2012-03-03  Bruno Haible  <bruno@clisp.org>
6243
6244         fabs* tests: More tests.
6245         * tests/test-fabs.h: New file, partially extracted from
6246         tests/test-fabsl.c.
6247         * tests/test-fabs.c (RANDOM): New macro.
6248         * tests/test-fabsf.c (RANDOM): New macro.
6249         * tests/test-fabsl.c (RANDOM): New macro.
6250         * modules/fabs-tests (Files): Add tests/randomd.c.
6251         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
6252         * modules/fabsf-tests (Files): Add tests/randomf.c.
6253         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
6254         * modules/fabsl-tests (Files): Add tests/randoml.c.
6255         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
6256
6257 2012-03-03  Bruno Haible  <bruno@clisp.org>
6258
6259         ldexp* tests: More tests.
6260         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
6261         * tests/test-ldexp.c (RANDOM): New macro.
6262         * tests/test-ldexpf.c (RANDOM): New macro.
6263         * tests/test-ldexpl.c (RANDOM): New macro.
6264         * modules/ldexp-tests (Files): Add tests/randomd.c.
6265         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
6266         * modules/ldexpf-tests (Files): Add tests/randomf.c.
6267         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
6268         * modules/ldexpl-tests (Files): Add tests/randoml.c.
6269         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
6270
6271 2012-03-03  Bruno Haible  <bruno@clisp.org>
6272
6273         frexp* tests: More tests.
6274         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
6275         * tests/test-frexp.c (RANDOM): New macro.
6276         * tests/test-frexpf.c (RANDOM): New macro.
6277         * tests/test-frexpl.c (RANDOM): New macro.
6278         * modules/frexp-tests (Files): Add tests/randomd.c.
6279         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
6280         * modules/frexpf-tests (Files): Add tests/randomf.c.
6281         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
6282         * modules/frexpl-tests (Files): Add tests/randoml.c.
6283         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
6284
6285 2012-03-03  Bruno Haible  <bruno@clisp.org>
6286
6287         Support for pseudo-random numbers in tests.
6288         * tests/randomf.c: New file.
6289         * tests/randomd.c: New file.
6290         * tests/randoml.c: New file.
6291         * tests/macros.h (randomf, randomd, randoml): New declarations.
6292
6293 2012-03-03  Bruno Haible  <bruno@clisp.org>
6294
6295         frexp* tests: Refactor.
6296         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
6297         * tests/test-frexp.c: Include and use it.
6298         * tests/test-frexpf.c: Likewise.
6299         * tests/test-frexpl.c: Likewise.
6300         * modules/frexp-tests (Files): Add tests/test-frexp.h.
6301         * modules/frexpf-tests (Files): Likewise.
6302         * modules/frexpl-tests (Files): Likewise.
6303
6304 2012-03-02  Jim Meyering  <meyering@redhat.com>
6305
6306         maint: don't specify XZ_OPT=-9ev in dist-related rule
6307         Using xz's -9 option is warranted only if you have a very large
6308         tarball (see xz's documentation for the sizes vs. presets), and
6309         requires 64MiB of memory at decompression time.
6310         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
6311         Automake's default of just "-e" is fine.  Override on a
6312         per-package basis by setting XZ_OPT e.g., in cfg.mk.
6313
6314 2012-03-01  Eric Blake  <eblake@redhat.com>
6315
6316         maint.mk: allow announcement for non-gnulib project
6317         * maint.mk (announcement): Skip gnulib version if not used.
6318
6319 2012-03-01  Jim Meyering  <meyering@redhat.com>
6320
6321         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
6322         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
6323         envvar settings cannot interfere.  Otherwise, setting envvars like
6324         prohibit=foo require=bar, etc. would cause spurious test failures.
6325
6326 2012-03-01  Eric Blake  <eblake@redhat.com>
6327
6328         maint.mk: add per-line exclusions to prohibitions
6329         * maint.mk (_sc_search_regexp): Add $exclude parameter.
6330         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
6331         (sc_const_long_option): Use it.
6332
6333 2012-03-01  Bruno Haible  <bruno@clisp.org>
6334
6335         Tests for module 'expl-ieee'.
6336         * modules/expl-ieee-tests: New file.
6337         * tests/test-expl-ieee.c: New file.
6338
6339         New module 'expl-ieee'.
6340         * modules/expl-ieee: New file.
6341
6342         Tests for module 'exp-ieee'.
6343         * modules/exp-ieee-tests: New file.
6344         * tests/test-exp-ieee.c: New file.
6345
6346         New module 'exp-ieee'.
6347         * modules/exp-ieee: New file.
6348
6349         Tests for module 'expf-ieee'.
6350         * modules/expf-ieee-tests: New file.
6351         * tests/test-expf-ieee.c: New file.
6352         * tests/test-exp-ieee.h: New file.
6353
6354         New module 'expf-ieee'.
6355         * modules/expf-ieee: New file.
6356
6357 2012-02-29  Bruno Haible  <bruno@clisp.org>
6358
6359         cbrtl-ieee: Work around test failure on IRIX 6.5.
6360         * m4/cbrtl-ieee.m4: New file.
6361         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
6362         test whether cbrtl works with a minus zero argument. Replace it if not.
6363         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
6364         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
6365         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
6366         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
6367         (Depends-on): Update conditions.
6368         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
6369         m4/signbit.m4.
6370         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
6371         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
6372         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
6373
6374         Tests for module 'cbrtl-ieee'.
6375         * modules/cbrtl-ieee-tests: New file.
6376         * tests/test-cbrtl-ieee.c: New file.
6377
6378         New module 'cbrtl-ieee'.
6379         * modules/cbrtl-ieee: New file.
6380
6381         Tests for module 'cbrt-ieee'.
6382         * modules/cbrt-ieee-tests: New file.
6383         * tests/test-cbrt-ieee.c: New file.
6384
6385         New module 'cbrt-ieee'.
6386         * modules/cbrt-ieee: New file.
6387
6388         Tests for module 'cbrtf-ieee'.
6389         * modules/cbrtf-ieee-tests: New file.
6390         * tests/test-cbrtf-ieee.c: New file.
6391         * tests/test-cbrt-ieee.h: New file.
6392
6393         New module 'cbrtf-ieee'.
6394         * modules/cbrtf-ieee: New file.
6395
6396 2012-02-29  Bruno Haible  <bruno@clisp.org>
6397
6398         cbrtf: Work around bug in IRIX 6.5 system function.
6399         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
6400         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
6401         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
6402         work.
6403         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
6404         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
6405         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
6406         (Depends-on): Update conditions.
6407         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
6408
6409 2012-02-29  Bruno Haible  <bruno@clisp.org>
6410
6411         Tests for module 'cbrtl'.
6412         * modules/cbrtl-tests: New file.
6413         * tests/test-cbrtl.c: New file.
6414
6415         New module 'cbrtl'.
6416         * lib/math.in.h (cbrtl): New declaration.
6417         * lib/cbrtl.c: New file.
6418         * m4/cbrtl.m4: New file.
6419         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
6420         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
6421         HAVE_DECL_CBRTL.
6422         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
6423         HAVE_DECL_CBRTL.
6424         * modules/cbrtl: New file.
6425         * tests/test-math-c++.cc: Check the declaration of cbrtl.
6426         * doc/posix-functions/cbrtl.texi: Mention the new module.
6427
6428 2012-02-29  Bruno Haible  <bruno@clisp.org>
6429
6430         Tests for module 'cbrtf'.
6431         * modules/cbrtf-tests: New file.
6432         * tests/test-cbrtf.c: New file.
6433
6434         New module 'cbrtf'.
6435         * lib/math.in.h (cbrtf): New declaration.
6436         * lib/cbrtf.c: New file.
6437         * m4/cbrtf.m4: New file.
6438         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
6439         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
6440         HAVE_DECL_CBRTF.
6441         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
6442         HAVE_DECL_CBRTF.
6443         * modules/cbrtf: New file.
6444         * tests/test-math-c++.cc: Check the declaration of cbrtf.
6445         * doc/posix-functions/cbrtf.texi: Mention the new module.
6446
6447 2012-02-29  Bruno Haible  <bruno@clisp.org>
6448
6449         cbrt: Provide replacement on MSVC and Minix.
6450         * lib/math.in.h (cbrt): New declaration.
6451         * lib/cbrt.c: New file.
6452         * m4/cbrt.m4: New file.
6453         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
6454         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
6455         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
6456         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
6457         (Depends-on): Add dependencies.
6458         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
6459         * tests/test-math-c++.cc: Check the declaration of cbrt.
6460         * doc/posix-functions/cbrt.texi: Mention that the module provides a
6461         replacement.
6462
6463 2012-02-29  Bruno Haible  <bruno@clisp.org>
6464
6465         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
6466         * m4/hypotl-ieee.m4: New file.
6467         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
6468         test whether hypotl works with mixed NaN and Infinity arguments.
6469         Replace it if not.
6470         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
6471         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
6472         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
6473         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
6474         (Depends-on): Update conditions.
6475         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
6476         (Depends-on): Add hypot-ieee.
6477         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
6478         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
6479
6480         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
6481         * m4/hypotf-ieee.m4: New file.
6482         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
6483         test whether hypotf works with mixed NaN and Infinity arguments.
6484         Replace it if not.
6485         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
6486         (Depends-on): Add hypot-ieee.
6487         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
6488         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
6489
6490         hypot-ieee: Work around test failure on OSF/1 and native Windows.
6491         * lib/math.in.h (hypot): New declaration.
6492         * lib/hypot.c: New file.
6493         * m4/hypot-ieee.m4: New file.
6494         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
6495         whether hypot works with mixed NaN and Infinity arguments. Replace it
6496         if not.
6497         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
6498         REPLACE_HYPOT.
6499         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
6500         * modules/hypot (Files): Add lib/hypot.c.
6501         (Depends-on): Add dependencies.
6502         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
6503         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
6504         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
6505         * tests/test-math-c++.cc: Check the declaration of hypot.
6506         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
6507
6508         Tests for module 'hypotl-ieee'.
6509         * modules/hypotl-ieee-tests: New file.
6510         * tests/test-hypotl-ieee.c: New file.
6511
6512         New module 'hypotl-ieee'.
6513         * modules/hypotl-ieee: New file.
6514
6515         Tests for module 'hypot-ieee'.
6516         * modules/hypot-ieee-tests: New file.
6517         * tests/test-hypot-ieee.c: New file.
6518
6519         New module 'hypot-ieee'.
6520         * modules/hypot-ieee: New file.
6521
6522         Tests for module 'hypotf-ieee'.
6523         * modules/hypotf-ieee-tests: New file.
6524         * tests/test-hypotf-ieee.c: New file.
6525         * tests/test-hypot-ieee.h: New file.
6526
6527         New module 'hypotf-ieee'.
6528         * modules/hypotf-ieee: New file.
6529
6530 2012-02-29  Bruno Haible  <bruno@clisp.org>
6531
6532         Remove unused variables.
6533         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
6534         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
6535         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
6536         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
6537
6538 2012-02-29  Eric Blake  <eblake@redhat.com>
6539
6540         termios: fix pid_t always, not just for tcgetsid
6541         * doc/posix-headers/termios.texi (termios.h): Mention problem.
6542         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
6543         just when building tcgetsid.
6544
6545 2012-02-29  Bruno Haible  <bruno@clisp.org>
6546
6547         Tests for module 'hypotl'.
6548         * modules/hypotl-tests: New file.
6549         * tests/test-hypotl.c: New file.
6550
6551         New module 'hypotl'.
6552         * lib/math.in.h (hypotl): New declaration.
6553         * lib/hypotl.c: New file.
6554         * m4/hypotl.m4: New file.
6555         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
6556         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
6557         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
6558         * modules/hypotl: New file.
6559         * tests/test-math-c++.cc: Check the hypotl declaration.
6560         * doc/posix-functions/hypotl.texi: Mention the new module.
6561
6562 2012-02-29  Eric Blake  <eblake@redhat.com>
6563
6564         tcgetsid: fix cygwin header bug
6565         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
6566
6567         docs: update cygwin progress
6568         * doc/posix-functions/llround.texi (llround): Added in cygwin
6569         1.7.8.
6570         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
6571         * doc/glibc-functions/program_invocation_name.texi
6572         (program_invocation_name): Likewise.
6573         * doc/glibc-functions/program_invocation_short_name.texi
6574         (program_invocation_short_name): Likewise.
6575         * doc/glibc-functions/madvise.texi (madvise): Likewise.
6576         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
6577         Likewise.
6578         * doc/posix-functions/pthread_spin_destroy.texi
6579         (pthread_spin_destroy): Added in cygwin 1.7.10.
6580         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
6581         Likewise.
6582         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
6583         Likewise.
6584         * doc/posix-functions/pthread_spin_trylock.texi
6585         (pthread_spin_trylock): Likewise.
6586         * doc/posix-functions/pthread_spin_unlock.texi
6587         (pthread_spin_unlock): Likewise.
6588         * doc/posix-functions/pthread_setschedprio.texi
6589         (pthread_setschedprio): Likewise.
6590         * doc/posix-functions/pthread_attr_getstack.texi
6591         (pthread_attr_getstack): Likewise.
6592         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
6593         (pthread_attr_getstackaddr): Likewise.
6594         * doc/glibc-functions/pthread_getattr_np.texi
6595         (pthread_getattr_np): Likewise.
6596         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
6597         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
6598         * doc/posix-functions/clock_settime.texi (clock_settime):
6599         Likewise.
6600         * doc/posix-functions/pthread_attr_getguardsize.texi
6601         (pthread_attr_getguardsize): Likewise.
6602         * doc/posix-functions/pthread_attr_setguardsize.texi
6603         (pthread_attr_setguardsize): Likewise.
6604         * doc/posix-functions/pthread_attr_setstack.texi
6605         (pthread_attr_setstack): Likewise.
6606         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
6607         (pthread_attr_setstackaddr): Likewise.
6608         * doc/posix-functions/clock_getcpuclockid.texi
6609         (clock_getcpuclockid): Likewise.
6610         * doc/posix-functions/pthread_getcpuclockid.texi
6611         (pthread_getcpuclockid): Likewise.
6612         * doc/glibc-functions/error.texi (error): Likewise.
6613         * doc/glibc-functions/error_at_line.texi (error_at_line):
6614         Likewise.
6615         * doc/glibc-functions/error_message_count.texi
6616         (error_message_count): Likewise.
6617         * doc/glibc-functions/error_one_per_line.texi
6618         (error_one_per_line): Likewise.
6619         * doc/glibc-functions/error_print_progname.texi
6620         (error_print_progname): Likewise.
6621         * doc/posix-functions/pthread_condattr_getclock.texi
6622         (pthread_condattr_getclock): Likewise.
6623         * doc/posix-functions/pthread_condattr_setclock.texi
6624         (pthread_condattr_setclock): Likewise.
6625         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
6626         Likewise.
6627         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
6628         * doc/glibc-functions/getpt.texi (getpt): Likewise.
6629         * doc/glibc-functions/get_current_dir_name.texi
6630         (get_current_dir_name): Likewise.
6631         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
6632         Likewise.
6633         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
6634         wrong return type.
6635         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
6636         1.7.11.
6637
6638 2012-02-29  Bruno Haible  <bruno@clisp.org>
6639
6640         Tests for module 'hypotf'.
6641         * modules/hypotf-tests: New file.
6642         * tests/test-hypotf.c: New file.
6643
6644         New module 'hypotf'.
6645         * lib/math.in.h (hypotf): New declaration.
6646         * lib/hypotf.c: New file.
6647         * m4/hypotf.m4: New file.
6648         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
6649         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
6650         REPLACE_HYPOTF.
6651         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
6652         REPLACE_HYPOTF.
6653         * modules/hypotf: New file.
6654         * tests/test-math-c++.cc: Check the hypotf declaration.
6655         * doc/posix-functions/hypotf.texi: Mention the new module.
6656
6657         hypot: Prepare for hypotf module.
6658         * m4/hypot.m4: New file.
6659         * modules/hypot (Files): Add m4/hypot.m4.
6660         (configure.ac): Invoke gl_FUNC_HYPOT.
6661
6662 2012-02-29  Bruno Haible  <bruno@clisp.org>
6663
6664         hypot tests: More tests.
6665         * tests/test-hypot.c: Include <float.h>.
6666         (main): Add tests about overflow and underflow.
6667
6668 2012-02-29  Bruno Haible  <bruno@clisp.org>
6669
6670         math code: Add comments.
6671         * lib/acosl.c: Add comment about related glibc source files.
6672         * lib/asinl.c: Likewise.
6673         * lib/atanl.c: Likewise.
6674         * lib/expl.c: Likewise.
6675         * lib/logl.c: Likewise.
6676         * lib/sincosl.c: Likewise.
6677         * lib/sinl.c: Likewise.
6678         * lib/tanl.c: Likewise.
6679         * lib/trigl.c: Likewise.
6680         * lib/cosl.c: Likewise. Fix comments.
6681
6682 2012-02-28  Bruno Haible  <bruno@clisp.org>
6683
6684         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
6685         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
6686         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
6687         HUGE_VALL are defined.
6688         (numeric_equald): Renamed from numeric_equal.
6689         (numeric_equalf, numeric_equall): New functions.
6690         (main): Check also HUGE_VALF, HUGE_VALL.
6691         * modules/math-tests (Files): Add tests/macros.h.
6692         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
6693         HUGE_VALL.
6694
6695 2012-02-28  Bruno Haible  <bruno@clisp.org>
6696
6697         doc: Move ISO C11 feature notes into POSIX chapters.
6698         * doc/posix-functions/aligned_alloc.texi: Renamed from
6699         doc/glibc-functions/aligned_alloc.texi.
6700         * doc/posix-functions/quick_exit.texi: Renamed from
6701         doc/glibc-functions/quick_exit.texi.
6702         * doc/posix-headers/uchar.texi: Renamed from
6703         doc/glibc-headers/uchar.texi.
6704         * doc/posix-functions/c16rtomb.texi: Renamed from
6705         doc/glibc-functions/c16rtomb.texi.
6706         * doc/posix-functions/c32rtomb.texi: Renamed from
6707         doc/glibc-functions/c32rtomb.texi.
6708         * doc/posix-functions/mbrtoc16.texi: Renamed from
6709         doc/glibc-functions/mbrtoc16.texi.
6710         * doc/posix-functions/mbrtoc32.texi: Renamed from
6711         doc/glibc-functions/mbrtoc32.texi.
6712         * doc/gnulib.texi: Update.
6713         (Glibc uchar.h): Remove section.
6714         Suggested by Eric Blake.
6715
6716 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
6717
6718         stdnoreturn: port to MSVC better
6719         MSVC standard headers use __declspec(noreturn), so #define noreturn
6720         to empty on that platform.  Reported by Bruno Haible in
6721         <http://lists.gnu.org/archive/html/bug-gnulib/2012-02/msg00152.html>.
6722         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
6723         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
6724
6725 2012-02-28  Bruno Haible  <bruno@clisp.org>
6726
6727         doc: Mention new glibc headers and functions.
6728         * doc/glibc-headers/uchar.texi: New file.
6729         * doc/glibc-functions/aligned_alloc.texi: New file.
6730         * doc/glibc-functions/c16rtomb.texi: New file.
6731         * doc/glibc-functions/c32rtomb.texi: New file.
6732         * doc/glibc-functions/clock_adjtime.texi: New file.
6733         * doc/glibc-functions/fanotify_init.texi: New file.
6734         * doc/glibc-functions/fanotify_mark.texi: New file.
6735         * doc/glibc-functions/inet6_opt_append.texi: New file.
6736         * doc/glibc-functions/inet6_opt_find.texi: New file.
6737         * doc/glibc-functions/inet6_opt_finish.texi: New file.
6738         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
6739         * doc/glibc-functions/inet6_opt_init.texi: New file.
6740         * doc/glibc-functions/inet6_opt_next.texi: New file.
6741         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
6742         * doc/glibc-functions/inet6_rth_add.texi: New file.
6743         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
6744         * doc/glibc-functions/inet6_rth_init.texi: New file.
6745         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
6746         * doc/glibc-functions/inet6_rth_segments.texi: New file.
6747         * doc/glibc-functions/inet6_rth_space.texi: New file.
6748         * doc/glibc-functions/login.texi: New file.
6749         * doc/glibc-functions/mbrtoc16.texi: New file.
6750         * doc/glibc-functions/mbrtoc32.texi: New file.
6751         * doc/glibc-functions/name_to_handle_at.texi: New file.
6752         * doc/glibc-functions/ntp_gettimex.texi: New file.
6753         * doc/glibc-functions/open_by_handle_at.texi: New file.
6754         * doc/glibc-functions/prlimit.texi: New file.
6755         * doc/glibc-functions/process_vm_readv.texi: New file.
6756         * doc/glibc-functions/process_vm_writev.texi: New file.
6757         * doc/glibc-functions/recvmmsg.texi: New file.
6758         * doc/glibc-functions/scandirat.texi: New file.
6759         * doc/glibc-functions/sendmmsg.texi: New file.
6760         * doc/glibc-functions/setns.texi: New file.
6761         * doc/glibc-functions/timespec_get.texi: New file.
6762         * doc/gnulib.texi: Include them.
6763         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
6764         sections.
6765         Reported by Eric Blake.
6766
6767 2012-02-28  Bruno Haible  <bruno@clisp.org>
6768
6769         Avoid compilation errors with MSVC option -fp:strict.
6770         * lib/floor.c: Use MSVC specific pragma fenv_access.
6771         * lib/ceil.c: Likewise.
6772         * lib/trunc.c: Likewise.
6773         * lib/round.c: Likewise.
6774         * lib/rint.c: Likewise.
6775         * lib/fma.c: Likewise.
6776         * lib/integer_length.c: Likewise.
6777         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
6778         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
6779         * tests/test-floor2.c: Likewise.
6780         * tests/test-floorf2.c: Likewise.
6781         * tests/test-ceil2.c: Likewise.
6782         * tests/test-ceilf2.c: Likewise.
6783         * tests/test-trunc2.c: Likewise.
6784         * tests/test-truncf2.c: Likewise.
6785         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
6786
6787 2012-02-27  Bruno Haible  <bruno@clisp.org>
6788
6789         Tests for module 'sqrtl-ieee'.
6790         * modules/sqrtl-ieee-tests: New file.
6791         * tests/test-sqrtl-ieee.c: New file.
6792
6793         New module 'sqrtl-ieee'.
6794         * modules/sqrtl-ieee: New file.
6795
6796         Tests for module 'sqrt-ieee'.
6797         * modules/sqrt-ieee-tests: New file.
6798         * tests/test-sqrt-ieee.c: New file.
6799
6800         New module 'sqrt-ieee'.
6801         * modules/sqrt-ieee: New file.
6802
6803         Tests for module 'sqrtf-ieee'.
6804         * modules/sqrtf-ieee-tests: New file.
6805         * tests/test-sqrtf-ieee.c: New file.
6806         * tests/test-sqrt-ieee.h: New file.
6807
6808         New module 'sqrtf-ieee'.
6809         * modules/sqrtf-ieee: New file.
6810
6811 2012-02-27  Bruno Haible  <bruno@clisp.org>
6812
6813         remainderl-ieee: Work around test failure on OSF/1.
6814         * m4/remainderl-ieee.m4: New file.
6815         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
6816         present, test whether remainderl works with a zero second argument.
6817         Replace it if not.
6818         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
6819         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
6820         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
6821         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
6822         (Depends-on): Update conditions.
6823         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
6824         (Depends-on): Add remainder-ieee.
6825         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
6826         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
6827         module.
6828
6829         remainderf-ieee: Work around test failure on OSF/1.
6830         * m4/remainderf-ieee.m4: New file.
6831         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
6832         present, test whether remainderf works with a zero second argument.
6833         Replace it if not.
6834         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
6835         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
6836         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
6837         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
6838         (Depends-on): Update conditions.
6839         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
6840         (Depends-on): Add remainder-ieee.
6841         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
6842         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
6843         module.
6844
6845         remainder-ieee: Work around test failure on OSF/1.
6846         * m4/remainder-ieee.m4: New file.
6847         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
6848         present, test whether remainder works with a zero second argument.
6849         Replace it if not.
6850         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
6851         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
6852         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
6853         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
6854         (Depends-on): Update dependencies.
6855         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
6856         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
6857         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
6858
6859         Tests for module 'remainderl-ieee'.
6860         * modules/remainderl-ieee-tests: New file.
6861         * tests/test-remainderl-ieee.c: New file.
6862
6863         New module 'remainderl-ieee'.
6864         * modules/remainderl-ieee: New file.
6865
6866         Tests for module 'remainder-ieee'.
6867         * modules/remainder-ieee-tests: New file.
6868         * tests/test-remainder-ieee.c: New file.
6869
6870         New module 'remainder-ieee'.
6871         * modules/remainder-ieee: New file.
6872
6873         Tests for module 'remainderf-ieee'.
6874         * modules/remainderf-ieee-tests: New file.
6875         * tests/test-remainderf-ieee.c: New file.
6876         * tests/test-remainder-ieee.h: New file.
6877
6878         New module 'remainderf-ieee'.
6879         * modules/remainderf-ieee: New file.
6880
6881 2012-02-27  Bruno Haible  <bruno@clisp.org>
6882
6883         modff, modfl: Fix configure syntax error.
6884         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
6885         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
6886
6887 2012-02-27  Bruno Haible  <bruno@clisp.org>
6888
6889         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
6890         * m4/fmodl-ieee.m4: New file.
6891         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
6892         whether fmodl works with zero arguments. Replace it if not.
6893         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
6894         (Depends-on): Add fmod-ieee.
6895         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
6896         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
6897
6898         fmodf-ieee: Work around test failure on OSF/1.
6899         * m4/fmodf-ieee.m4: New file.
6900         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
6901         whether fmodf works with zero arguments. Replace it if not.
6902         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
6903         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
6904         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
6905         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
6906         (Depends-on): Update dependencies.
6907         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
6908         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
6909         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
6910
6911         fmodf-ieee: Work around test failure on MSVC 9.
6912         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
6913         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
6914
6915         fmod-ieee: Work around test failures on OSF/1, mingw.
6916         * m4/fmod-ieee.m4: New file.
6917         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
6918         whether fmod works with zero arguments. Replace it if not.
6919         * lib/math.in.h (fmod): New declaration.
6920         * lib/fmod.c: New file.
6921         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
6922         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
6923         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
6924         * modules/fmod (Files): Add lib/fmod.c.
6925         (Depends-on): Add math, isinf, trunc, fma.
6926         (configure.ac): Arrange to compile lib/fmod.c if needed.
6927         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
6928         m4/signbit.m4.
6929         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
6930         * tests/test-math-c++.cc: Check the declaration of fmod.
6931         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
6932
6933         fmodl-ieee: Fix test failures.
6934         * lib/fmodl.c (fmodl): Treat Inf specially.
6935         * modules/fmodl (Depends-on): Add isinf.
6936
6937         Tests for module 'fmodl-ieee'.
6938         * modules/fmodl-ieee-tests: New file.
6939         * tests/test-fmodl-ieee.c: New file.
6940
6941         New module 'fmodl-ieee'.
6942         * modules/fmodl-ieee: New file.
6943
6944         Tests for module 'fmod-ieee'.
6945         * modules/fmod-ieee-tests: New file.
6946         * tests/test-fmod-ieee.c: New file.
6947
6948         New module 'fmod-ieee'.
6949         * modules/fmod-ieee: New file.
6950
6951         Tests for module 'fmodf-ieee'.
6952         * modules/fmodf-ieee-tests: New file.
6953         * tests/test-fmodf-ieee.c: New file.
6954         * tests/test-fmod-ieee.h: New file.
6955
6956         New module 'fmodf-ieee'.
6957         * modules/fmodf-ieee: New file.
6958
6959 2012-02-27  Bruno Haible  <bruno@clisp.org>
6960
6961         Tests for module 'rintl-ieee'.
6962         * modules/rintl-ieee-tests: New file.
6963         * tests/test-rintl-ieee.c: New file.
6964
6965         New module 'rintl-ieee'.
6966         * modules/rintl-ieee: New file.
6967
6968         Tests for module 'rint-ieee'.
6969         * modules/rint-ieee-tests: New file.
6970         * tests/test-rint-ieee.c: New file.
6971
6972         New module 'rint-ieee'.
6973         * modules/rint-ieee: New file.
6974
6975         Tests for module 'rintf-ieee'.
6976         * modules/rintf-ieee-tests: New file.
6977         * tests/test-rintf-ieee.c: New file.
6978         * tests/test-rint-ieee.h: New file.
6979
6980         New module 'rintf-ieee'.
6981         * modules/rintf-ieee: New file.
6982
6983 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
6984
6985         regex: re_search etc. should return -2 when memory exhausted
6986         This bug was uncovered when testing 'grep'.  Without the fix,
6987         re_search and friends return -1 when memory is exhausted, but -1
6988         means no match, and this causes grep to falsely report no-match
6989         instead of memory-exhaustion.  See
6990         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
6991         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
6992         trouble; this can occur if re_search_internal ran out of memory.
6993
6994 2012-02-26  Bruno Haible  <bruno@clisp.org>
6995
6996         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
6997         * m4/modfl-ieee.m4: New file.
6998         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
6999         whether modfl works with Inf. Replace it if not.
7000         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
7001         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
7002         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
7003         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
7004         (Depends-on): Update dependencies.
7005         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
7006         m4/signbit.m4.
7007         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
7008         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
7009
7010         modfl-ieee: Fix dependencies.
7011         * modules/modfl-ieee (Depends-on): Add modf-ieee.
7012
7013         modfl-ieee: Fix test failures.
7014         * lib/modfl.c (modfl): Treat NaN and Inf specially.
7015         * modules/modfl (Depends-on): Add isfinite, isinf.
7016
7017         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
7018         * m4/modff-ieee.m4: New file.
7019         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
7020         whether modff works with NaN and Inf. Replace it if not.
7021         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
7022         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
7023         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
7024         * modules/modff (configure.ac): Consider REPLACE_MODFF.
7025         (Depends-on): Update dependencies.
7026         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
7027         m4/signbit.m4.
7028         (Depends-on): Add modf-ieee.
7029         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
7030         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
7031
7032         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
7033         * m4/modf-ieee.m4: New file.
7034         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
7035         whether modf works with NaN and Inf. Replace it if not.
7036         * lib/math.in.h (modf): New declaration.
7037         * lib/modf.c: New file.
7038         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
7039         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
7040         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
7041         * modules/modf (Files): Add lib/modf.c.
7042         (Depends-on): Add math, isfinite, trunc, isinf.
7043         (configure.ac): Addrange to compile lib/modf.c if needed.
7044         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
7045         m4/signbit.m4.
7046         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
7047         * tests/test-math-c++.cc: Check the declaration of modf.
7048         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
7049
7050         Tests for module 'modfl-ieee'.
7051         * modules/modfl-ieee-tests: New file.
7052         * tests/test-modfl-ieee.c: New file.
7053
7054         New module 'modfl-ieee'.
7055         * modules/modfl-ieee: New file.
7056
7057         Tests for module 'modf-ieee'.
7058         * modules/modf-ieee-tests: New file.
7059         * tests/test-modf-ieee.c: New file.
7060
7061         New module 'modf-ieee'.
7062         * modules/modf-ieee: New file.
7063
7064         Tests for module 'modff-ieee'.
7065         * modules/modff-ieee-tests: New file.
7066         * tests/test-modff-ieee.c: New file.
7067         * tests/test-modf-ieee.h: New file.
7068
7069         New module 'modff-ieee'.
7070         * modules/modff-ieee: New file.
7071
7072 2012-02-26  Bruno Haible  <bruno@clisp.org>
7073
7074         Tests for module 'fabsl-ieee'.
7075         * modules/fabsl-ieee-tests: New file.
7076         * tests/test-fabsl-ieee.c: New file.
7077
7078         New module 'fabsl-ieee'.
7079         * modules/fabsl-ieee: New file.
7080
7081         Tests for module 'fabs-ieee'.
7082         * modules/fabs-ieee-tests: New file.
7083         * tests/test-fabs-ieee.c: New file.
7084
7085         New module 'fabs-ieee'.
7086         * modules/fabs-ieee: New file.
7087
7088         Tests for module 'fabsf-ieee'.
7089         * modules/fabsf-ieee-tests: New file.
7090         * tests/test-fabsf-ieee.c: New file.
7091         * tests/test-fabs-ieee.h: New file.
7092
7093         New module 'fabsf-ieee'.
7094         * modules/fabsf-ieee: New file.
7095
7096 2012-02-26  Bruno Haible  <bruno@clisp.org>
7097
7098         Tests for module 'fmal-ieee'.
7099         * modules/fmal-ieee-tests: New file.
7100         * tests/test-fmal-ieee.c: New file.
7101
7102         New module 'fmal-ieee'.
7103         * modules/fmal-ieee: New file.
7104
7105         Tests for module 'fma-ieee'.
7106         * modules/fma-ieee-tests: New file.
7107         * tests/test-fma-ieee.c: New file.
7108
7109         New module 'fma-ieee'.
7110         * modules/fma-ieee: New file.
7111
7112         Tests for module 'fmaf-ieee'.
7113         * modules/fmaf-ieee-tests: New file.
7114         * tests/test-fmaf-ieee.c: New file.
7115         * tests/test-fma-ieee.h: New file.
7116
7117         New module 'fmaf-ieee'.
7118         * modules/fmaf-ieee: New file.
7119
7120 2012-02-26  Bruno Haible  <bruno@clisp.org>
7121
7122         Tests for module 'ldexpl-ieee'.
7123         * modules/ldexpl-ieee-tests: New file.
7124         * tests/test-ldexpl-ieee.c: New file.
7125
7126         New module 'ldexpl-ieee'.
7127         * modules/ldexpl-ieee: New file.
7128
7129         Tests for module 'ldexp-ieee'.
7130         * modules/ldexp-ieee-tests: New file.
7131         * tests/test-ldexp-ieee.c: New file.
7132
7133         New module 'ldexp-ieee'.
7134         * modules/ldexp-ieee: New file.
7135
7136         Tests for module 'ldexpf-ieee'.
7137         * modules/ldexpf-ieee-tests: New file.
7138         * tests/test-ldexpf-ieee.c: New file.
7139         * tests/test-ldexp-ieee.h: New file.
7140
7141         New module 'ldexpf-ieee'.
7142         * modules/ldexpf-ieee: New file.
7143
7144 2012-02-26  Bruno Haible  <bruno@clisp.org>
7145
7146         Refactor frexp*-ieee tests.
7147         * tests/test-frexp-ieee.h: New file.
7148         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
7149         (main): Just call test_function.
7150         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
7151         (main): Just call test_function.
7152         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
7153         (main): Just call test_function.
7154         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
7155         * modules/frexp-ieee-tests (Files): Likewise.
7156         * modules/frexpl-ieee-tests (Files): Likewise.
7157
7158         Tests for module 'frexpl-ieee'.
7159         * modules/frexpl-ieee-tests: New file.
7160         * tests/test-frexpl-ieee.c: New file.
7161
7162         New module 'frexpl-ieee'.
7163         * modules/frexpl-ieee: New file.
7164
7165         Tests for module 'frexp-ieee'.
7166         * modules/frexp-ieee-tests: New file.
7167         * tests/test-frexp-ieee.c: New file.
7168
7169         New module 'frexp-ieee'.
7170         * modules/frexp-ieee: New file.
7171
7172         Tests for module 'frexpf-ieee'.
7173         * modules/frexpf-ieee-tests: New file.
7174         * tests/test-frexpf-ieee.c: New file.
7175
7176         New module 'frexpf-ieee'.
7177         * modules/frexpf-ieee: New file.
7178
7179 2012-02-26  Bruno Haible  <bruno@clisp.org>
7180
7181         roundl-ieee tests: More tests.
7182         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
7183         (main): Add tests for [MX] shaded specification in POSIX.
7184         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7185         (Depends-on): Add isnanl-nolibm.
7186
7187         round-ieee tests: More tests.
7188         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
7189         (main): Add tests for [MX] shaded specification in POSIX.
7190         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7191         (Depends-on): Add isnand-nolibm.
7192
7193         roundf-ieee tests: More tests.
7194         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
7195         (main): Add tests for [MX] shaded specification in POSIX.
7196         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7197         (Depends-on): Add isnanf-nolibm.
7198
7199         truncl-ieee tests: More tests.
7200         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
7201         (main): Add tests for [MX] shaded specification in POSIX.
7202         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7203         (Depends-on): Add isnanl-nolibm.
7204
7205         trunc-ieee tests: More tests.
7206         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
7207         (main): Add tests for [MX] shaded specification in POSIX.
7208         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7209         (Depends-on): Add isnand-nolibm.
7210
7211         truncf-ieee tests: More tests.
7212         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
7213         (main): Add tests for [MX] shaded specification in POSIX.
7214         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7215         (Depends-on): Add isnanf-nolibm.
7216
7217         ceill-ieee tests: More tests.
7218         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
7219         (main): Add tests for [MX] shaded specification in POSIX.
7220         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7221         (Depends-on): Add isnanl-nolibm.
7222
7223         ceil-ieee tests: More tests.
7224         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
7225         (main): Add tests for [MX] shaded specification in POSIX.
7226         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7227         (Depends-on): Add isnand-nolibm.
7228
7229         ceilf-ieee tests: More tests.
7230         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
7231         (main): Add tests for [MX] shaded specification in POSIX.
7232         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7233         (Depends-on): Add isnanf-nolibm.
7234
7235         floorl-ieee tests: More tests.
7236         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
7237         (main): Add tests for [MX] shaded specification in POSIX.
7238         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7239         (Depends-on): Add isnanl-nolibm.
7240
7241         floor-ieee tests: More tests.
7242         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
7243         (main): Add tests for [MX] shaded specification in POSIX.
7244         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7245         (Depends-on): Add isnand-nolibm.
7246
7247         floorf-ieee tests: More tests.
7248         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
7249         (main): Add tests for [MX] shaded specification in POSIX.
7250         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7251         (Depends-on): Add isnanf-nolibm.
7252
7253 2012-02-26  Bruno Haible  <bruno@clisp.org>
7254
7255         fpieee: More comments.
7256         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
7257
7258 2012-02-25  Bruno Haible  <bruno@clisp.org>
7259
7260         Tests for module 'log10l'.
7261         * modules/log10l-tests: New file.
7262         * tests/test-log10l.c: New file.
7263         * tests/test-math-c++.cc: Check the declaration of log10l.
7264
7265         New module 'log10l'.
7266         * lib/math.in.h (log10l): New declaration.
7267         * lib/log10l.c: New file.
7268         * m4/log10l.m4: New file.
7269         * modules/log10l: New file.
7270         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
7271         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
7272         HAVE_DECL_LOG10L.
7273         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
7274         HAVE_DECL_LOG10L.
7275         * doc/posix-functions/log10l.texi: Mention the new module.
7276
7277 2012-02-25  Bruno Haible  <bruno@clisp.org>
7278
7279         fmodl, remainder*: Avoid wrong results due to rounding errors.
7280         * lib/fmodl.c (fmodl): Correct the result if it is not within the
7281         expected bounds.
7282         * lib/remainderf.c (remainderf): Likewise.
7283         * lib/remainder.c (remainder): Likewise.
7284         * lib/remainderl.c (remainderl): Likewise.
7285
7286 2012-02-25  Bruno Haible  <bruno@clisp.org>
7287
7288         Tests for module 'remainderl'.
7289         * modules/remainderl-tests: New file.
7290         * tests/test-remainderl.c: New file.
7291         * tests/test-math-c++.cc: Check the declaration of remainderl.
7292
7293         New module 'remainderl'.
7294         * lib/math.in.h (remainderl): New declaration.
7295         * lib/remainderl.c: New file.
7296         * m4/remainderl.m4: New file.
7297         * modules/remainderl: New file.
7298         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
7299         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
7300         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
7301         HAVE_REMAINDERL.
7302         * doc/posix-functions/remainderl.texi: Mention the new module.
7303
7304 2012-02-25  Bruno Haible  <bruno@clisp.org>
7305
7306         Tests for module 'remainderf'.
7307         * modules/remainderf-tests: New file.
7308         * tests/test-remainderf.c: New file.
7309         * tests/test-math-c++.cc: Check the declaration of remainderf.
7310
7311         New module 'remainderf'.
7312         * lib/math.in.h (remainderf): New declaration.
7313         * lib/remainderf.c: New file.
7314         * m4/remainderf.m4: New file.
7315         * modules/remainderf: New file.
7316         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
7317         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
7318         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
7319         HAVE_REMAINDERF.
7320         * doc/posix-functions/remainderf.texi: Mention the new module.
7321
7322 2012-02-25  Bruno Haible  <bruno@clisp.org>
7323
7324         remainder: Support for MSVC.
7325         * lib/math.in.h (remainder): New declaration.
7326         * lib/remainder.c: New file.
7327         * m4/remainder.m4: New file.
7328         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
7329         (Depends-on): Add math, round, fma.
7330         (configure.ac): Use results of gl_FUNC_REMAINDER.
7331         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
7332         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
7333         HAVE_DECL_REMAINDER.
7334         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
7335         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
7336         * tests/test-math-c++.cc: Check the declaration of remainder.
7337         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
7338         problems are fixed.
7339
7340 2012-02-25  Bruno Haible  <bruno@clisp.org>
7341
7342         Tests for module 'fmodl'.
7343         * modules/fmodl-tests: New file.
7344         * tests/test-fmodl.c: New file.
7345         * tests/test-math-c++.cc: Check the declaration of fmodl.
7346
7347         New module 'fmodl'.
7348         * lib/math.in.h (fmodl): New declaration.
7349         * lib/fmodl.c: New file.
7350         * m4/fmodl.m4: New file.
7351         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
7352         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
7353         REPLACE_FMODL.
7354         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
7355         REPLACE_FMODL.
7356         * modules/fmodl: New file.
7357         * doc/posix-functions/fmodl.texi: Mention the new module.
7358
7359 2012-02-25  Bruno Haible  <bruno@clisp.org>
7360
7361         Tests for module 'modfl'.
7362         * modules/modfl-tests: New file.
7363         * tests/test-modfl.c: New file.
7364         * tests/test-math-c++.cc: Check the declaration of modfl.
7365
7366         New module 'modfl'.
7367         * lib/math.in.h (modfl): New declaration.
7368         * lib/modfl.c: New file.
7369         * m4/modfl.m4: New file.
7370         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
7371         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
7372         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
7373         * modules/modfl: New file.
7374         * doc/posix-functions/modfl.texi: Mention the new module.
7375
7376 2012-02-25  Bruno Haible  <bruno@clisp.org>
7377
7378         Tests for module 'fabsl'.
7379         * modules/fabsl-tests: New file.
7380         * tests/test-fabsl.c: New file.
7381         * tests/test-math-c++.cc: Check the declaration of fabsl.
7382
7383         New module 'fabsl'.
7384         * lib/math.in.h (fabsl): New declaration.
7385         * lib/fabsl.c: New file.
7386         * m4/fabsl.m4: New file.
7387         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
7388         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
7389         REPLACE_FABSL.
7390         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
7391         REPLACE_FABSL.
7392         * modules/fabsl: New file.
7393         * doc/posix-functions/fabsl.texi: Mention the new module.
7394
7395 2012-02-25  Bruno Haible  <bruno@clisp.org>
7396
7397         fabs tests: More tests.
7398         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
7399         (zero): New variable.
7400         (main): Add tests for signed zero.
7401         * modules/fabs-tests (Files): Add tests/minus-zero.h.
7402
7403         fabsf tests: More tests.
7404         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
7405         (zero): New variable.
7406         (main): Add tests for signed zero.
7407         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
7408
7409 2012-02-24  Bruno Haible  <bruno@clisp.org>
7410
7411         atanl: Provide function definition on MSVC.
7412         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
7413         function pointer.
7414         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
7415
7416 2012-02-24  Bruno Haible  <bruno@clisp.org>
7417
7418         acosl: Provide function definition on MSVC.
7419         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
7420         function pointer.
7421         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
7422
7423 2012-02-24  Bruno Haible  <bruno@clisp.org>
7424
7425         asinl: Provide function definition on MSVC.
7426         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
7427         function pointer.
7428         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
7429
7430 2012-02-24  Bruno Haible  <bruno@clisp.org>
7431
7432         tanl: Provide function definition on MSVC.
7433         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
7434         function pointer.
7435         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
7436
7437 2012-02-24  Bruno Haible  <bruno@clisp.org>
7438
7439         cosl: Provide function definition on MSVC.
7440         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
7441         function pointer.
7442         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
7443
7444 2012-02-24  Bruno Haible  <bruno@clisp.org>
7445
7446         sinl: Provide function definition on MSVC.
7447         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
7448         function pointer.
7449         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
7450
7451 2012-02-24  Bruno Haible  <bruno@clisp.org>
7452
7453         logl: Provide function definition on MSVC.
7454         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
7455         function pointer.
7456         * lib/math.in.h (logl): Undefine if it does not exist as a function.
7457
7458 2012-02-24  Bruno Haible  <bruno@clisp.org>
7459
7460         expl: Provide function definition on MSVC.
7461         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
7462         function pointer.
7463         * lib/math.in.h (expl): Undefine if it does not exist as a function.
7464
7465 2012-02-24  Bruno Haible  <bruno@clisp.org>
7466
7467         sqrtl: Provide function definition on MSVC.
7468         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
7469         a function pointer.
7470         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
7471
7472 2012-02-24  Bruno Haible  <bruno@clisp.org>
7473
7474         ceill: Provide function definition on MSVC.
7475         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
7476         used as a function pointer.
7477         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
7478
7479 2012-02-24  Bruno Haible  <bruno@clisp.org>
7480
7481         floorl: Provide function definition on MSVC.
7482         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
7483         used as a function pointer.
7484         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
7485
7486 2012-02-24  Bruno Haible  <bruno@clisp.org>
7487
7488         ceilf: Provide function definition on MSVC.
7489         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
7490         used as a function pointer.
7491         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
7492
7493 2012-02-24  Bruno Haible  <bruno@clisp.org>
7494
7495         floorf: Provide function definition on MSVC.
7496         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
7497         used as a function pointer.
7498         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
7499
7500 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
7501
7502         stdnoreturn: new module
7503         This implements a replacement for C11's <stdnoreturn.h>.
7504         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
7505         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
7506         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
7507         * tests/test-stdnoreturn.c: New files.
7508
7509 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
7510
7511         regex: fix false multibyte matches in some regular expressions
7512         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
7513         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
7514         * lib/regex_internal.c (re_string_skip_chars):
7515         Fix miscomputation of remain_len that may cause incomplete
7516         multi-byte character and false match.
7517
7518 2012-02-24  Jim Meyering  <meyering@redhat.com>
7519
7520         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
7521         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
7522         uses with "==" *before* the call, e.g., 0 == strcmp (...)
7523         Remove now-unnecessary str''cmp obfuscation.
7524         Suggested by Akim Demaille.
7525
7526 2012-02-24  Bruno Haible  <bruno@clisp.org>
7527
7528         streq: Rename macro.
7529         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
7530         * NEWS: Mention the change.
7531         * lib/mbrtowc.c (mbrtowc): Update.
7532         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
7533         * lib/wcwidth.c (wcwidth): Update.
7534         Suggested by Akim Demaille and Jim Meyering.
7535
7536 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
7537
7538         regex: fix typo in definition of MIN
7539         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
7540         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
7541
7542 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
7543             Bruno Haible  <bruno@clisp.org>
7544
7545         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
7546         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
7547         entries into a stack-allocated buffer directly.
7548         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
7549
7550 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
7551             Bruno Haible  <bruno@clisp.org>
7552
7553         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
7554
7555          - There were several instances of this pattern:
7556
7557              for (;;) {
7558                n = acl (f, GETACLCNT, 0, NULL);
7559                [ allocate an array A of size N ]
7560                if (acl (f, GETACL, n, a) == n)
7561                  break;
7562              }
7563
7564            This loop might never terminate if some other process is constantly
7565            manipulating the file's ACL.  The loop should be rewritten to
7566            terminate.
7567
7568          - The acl (... GETACLNT ...) call is merely an optimization; its value
7569            is merely a hint as to how big to make the array.  A better
7570            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
7571            and just guess a reasonably-big size, growing the size and trying
7572            again if it's not large enough.  This guarantees termination, and
7573            saves a system call.
7574
7575         * lib/acl-internal.h: Include <limits.h>.
7576         (MIN, SIZE_MAX): New macros.
7577         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
7578         a stack-allocated buffer, and use malloc if it does not fit. Don't
7579         use GETACLCNT.
7580         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
7581
7582 2012-02-19  Bruno Haible  <bruno@clisp.org>
7583
7584         acl: Fix endless loop on Solaris with vxfs.
7585         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
7586         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
7587         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
7588         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
7589         * tests/test-sameacls.c (main)[Solaris]: Likewise.
7590         Reported by Bill Jones in
7591         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
7592
7593 2012-02-19  Bruno Haible  <bruno@clisp.org>
7594
7595         acl: Fix copy-acl test failure on Solaris 11 2011-11.
7596         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
7597         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
7598         that this function returns 0 in some more cases.
7599
7600 2012-02-19  Bruno Haible  <bruno@clisp.org>
7601
7602         acl: Update doc references.
7603         * doc/acl-resources.txt: Update links to Solaris documentation.
7604
7605 2012-02-19  Bruno Haible  <bruno@clisp.org>
7606
7607         Fix test failure in many locales on Solaris 11.
7608         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
7609         'tr' arguments.
7610         * tests/test-pipe-filter-ii1.c (main): Likewise.
7611         * build-aux/bootstrap (check_versions): Run 'tr' command with range
7612         expressions in the C locale.
7613         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
7614         * m4/host-os.m4 (gl_HOST_OS): Likewise.
7615
7616 2012-02-19  Bruno Haible  <bruno@clisp.org>
7617
7618         gnulib-tool: Improve usage message.
7619         * gnulib-tool (func_usage): Move doc of --help and --version to the
7620         section "Operation modes".
7621
7622 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
7623
7624         README-release: make it easier to execute commands
7625         * top/README-release: break commands out on to separate lines.
7626
7627 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
7628
7629         GNUmakefile: simplify detection of unconfigured trees
7630         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
7631         whether the tree make is being run from is already configured or
7632         not.  Related simplifications.
7633
7634 2012-02-13  Simon Josefsson  <simon@josefsson.org>
7635
7636         * gnulib-tool (func_usage): Document --help and --version.
7637
7638 2012-02-11  Jim Meyering  <meyering@redhat.com>
7639
7640         bootstrap: don't exit 0 upon gnulib-tool failure
7641         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
7642         its exit status, not 0.
7643
7644 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
7645
7646         README-release: various improvements
7647         * top/README-release: Give a command to push changes for the
7648         release.  Add "distcheck" to list of other pre-release checks.
7649         Fix instance of "make stable" which should be "make TYPE".
7650
7651 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
7652
7653         maint: replace FSF snail-mail addresses with URLs
7654         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
7655         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
7656         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
7657         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
7658         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
7659         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
7660         * lib/check-version.c, lib/check-version.h, lib/config.charset:
7661         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
7662         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
7663         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
7664         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
7665         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
7666         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
7667         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
7668         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
7669         * lib/glthread/thread.c, lib/glthread/thread.h:
7670         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
7671         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
7672         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
7673         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
7674         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
7675         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
7676         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
7677         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
7678         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
7679         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
7680         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
7681         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
7682         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
7683         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
7684         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
7685         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
7686         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
7687         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
7688         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
7689         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
7690         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
7691         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
7692         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
7693         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
7694         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
7695         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
7696         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
7697         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
7698         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
7699         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
7700         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
7701         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
7702         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
7703         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
7704         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
7705         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
7706         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
7707         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
7708         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
7709         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
7710         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
7711         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
7712         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
7713         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
7714         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
7715         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
7716         * tests/test-poll.c, tests/test-quotearg-simple.c:
7717         * tests/test-quotearg.c, tests/test-quotearg.h:
7718         * tests/test-round-ieee.c, tests/test-round1.c:
7719         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
7720         * tests/test-roundl-ieee.c, tests/test-roundl.c:
7721         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
7722         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
7723         * tests/test-strerror.c, tests/test-strerror_r.c:
7724         * tests/test-strsignal.c, tests/test-strverscmp.c:
7725         * tests/test-xmemdup0.c:
7726         Replace FSF snail mail addresses with URLs, as per GNU coding
7727         standards.  See glibc bug
7728         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
7729
7730 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
7731
7732         README-release: capitalize a word and split a line
7733         * top/README-release: Fix punctuation and spacing.
7734
7735 2012-02-08  Akim Demaille  <demaille@gostai.com>
7736
7737         fatal-signal: use C prototypes (with explicit void).
7738         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
7739         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
7740
7741 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
7742
7743         regex: spelling fix
7744         * lib/regexec.c: spelling fix
7745
7746         regex: rely on stdint.h for SIZE_MAX
7747         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
7748
7749 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
7750
7751         regex: merge glibc changes
7752
7753         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
7754         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
7755         (init_word_char): Work even if bitset words are not exactly 32 or
7756         64 bits wide.  Don't assume there are no padding bits.
7757         * lib/regex.c [_LIBC]: Do not include <config.h>.
7758         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
7759         and -Wtype-limits.
7760         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
7761         needless disagreement with glibc.  All uses changed.  Define it to
7762         1 only if _GNU_SOURCE, to match glibc.
7763         (_REG_RM_NAME): Remove; no longer needed, since the names in
7764         question are now all protected by __USE_GNU.
7765         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
7766         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
7767         * lib/regex_internal.h (MIN): New macro.
7768
7769         2012-01-03 Ulrich Drepper <drepper@gmail.com>
7770         * lib/regcomp.c (init_word_char): Optimize regex a bit.
7771
7772         2011-12-30 Jakub Jelinek <jakub@redhat.com>
7773         * lib/regex_internal.c (re_string_fetch_byte_case):
7774         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
7775         is miscompiled, and it turns out it is because of an incorrect
7776         attribute on re_string_fetch_byte_case.  Unlike
7777         re_string_peek_byte_case, this one is really not pure, it modifies
7778         memory (increments pstr->cur_idx), and with the pure attribute GCC
7779         assumed it doesn't and it cached the presumed value of
7780         regexp->cur_idx in a variable across the
7781          for (;; ++i)
7782            {
7783              if (i >= BRACKET_NAME_BUF_SIZE)
7784                return REG_EBRACK;
7785              if (token->type == OP_OPEN_CHAR_CLASS)
7786                ch = re_string_fetch_byte_case (regexp);
7787              else
7788                ch = re_string_fetch_byte (regexp);
7789              if (re_string_eoi(regexp))
7790                return REG_EBRACK;
7791              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
7792                break;
7793              elem->opr.name[i] = ch;
7794            }
7795
7796         2011-11-29 Andreas Schwab <schwab@redhat.com>
7797         * lib/regcomp.c (build_equiv_class):
7798         Fix access after end of search string in regex matcher.
7799
7800         2011-11-12 Ulrich Drepper <drepper@redhat.com>
7801         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
7802
7803         2011-10-12 Ulrich Drepper <drepper@redhat.com>
7804         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
7805
7806         2011-10-11 Ulrich Drepper <drepper@redhat.com>
7807         * lib/regcomp.c (parse_branch, parse_sub_exp):
7808         More regex memory leak fixes and tests.
7809         (parse_sub_exp, parse_bracket_exp):
7810         Fix memory leak for some invalid regular expressions.
7811
7812         2011-05-28 Ulrich Drepper <drepper@gmail.com>
7813         * lib/regex_internal.c, lib/regexec.c:
7814         Fix unnecessary overallocation due to incomplete character.  When
7815         incomplete characters are found at the end of a string the code
7816         ran amok and allocated lots of memory.  Stricter limits are now in
7817         place.
7818
7819         2011-05-20 Reuben Thomas <rrt@sc3d.org>
7820         * lib/regex.h: Update documentation.
7821
7822         2011-05-16 Aharon Robbins <arnold@skeeve.com>
7823         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
7824
7825         2010-05-05 Andreas Schwab <schwab@redhat.com>
7826         * lib/regexec.c (find_collation_sequence_value):
7827         Fix lookup of collation sequence value during regexp matching.
7828
7829         2010-01-22 Ulrich Drepper <drepper@redhat.com>
7830         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
7831
7832         2008-01-16 Ulrich Drepper <drepper@redhat.com>
7833         * lib/regex.h: Cleanup namespace.
7834
7835         2007-11-26 Ulrich Drepper <drepper@redhat.com>
7836         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
7837
7838         2007-08-26 Ulrich Drepper <drepper@redhat.com>
7839         * lib/regex_internal.h: Prevent some declarations and definitions
7840         to be seen when used in tests.
7841
7842         2005-05-06 Ulrich Drepper <drepper@redhat.com>
7843         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
7844         __libc_lock_* macros if not _LIBC.
7845         (struct re_dfa_t): Add lock.
7846
7847 2012-02-07  Eric Blake  <eblake@redhat.com>
7848
7849         maint.mk: also prohibit lower-case @var@
7850         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
7851         lower case, like @top_srcdir@.
7852
7853 2012-02-04  Eric Blake  <eblake@redhat.com>
7854
7855         canonicalize: avoid uninitialized memory use
7856         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
7857         random '/' left in dest.
7858         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
7859
7860 2012-02-04  Bruno Haible  <bruno@clisp.org>
7861
7862         isatty: Fix test failure of ptsname_r on native Windows.
7863         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
7864         and don't set errno.
7865         (isatty): Test first whether fd is valid. Set errno when returning 0.
7866
7867 2012-02-04  Bruno Haible  <bruno@clisp.org>
7868
7869         spawn-pipe tests: Fix a NULL program name in a diagnostic.
7870         * tests/test-spawn-pipe-main.c: Include progname.h.
7871         (main): Invoke set_program_name.
7872         * modules/spawn-pipe-tests (Depends-on): Add progname.
7873
7874         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
7875         * tests/test-nonblocking-socket-main.c: Include progname.h.
7876         (main): Invoke set_program_name.
7877         * modules/nonblocking-socket-tests (Depends-on): Add progname.
7878
7879         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
7880         * tests/test-nonblocking-pipe-main.c: Include progname.h.
7881         (main): Invoke set_program_name.
7882         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
7883
7884 2012-02-04  Eric Blake  <eblake@redhat.com>
7885
7886         canonicalize-lgpl: fix // handling
7887         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
7888
7889         canonicalize: fix // handling
7890         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
7891         /// to //, since only // is special.
7892
7893 2012-02-04  Bruno Haible  <bruno@clisp.org>
7894
7895         ioctl: Fix test failure on native Windows.
7896         * lib/ioctl.c: Include msvc-nothrow.h.
7897         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
7898
7899 2012-02-04  Bruno Haible  <bruno@clisp.org>
7900
7901         fsync: Avoid test failure on native Windows.
7902         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
7903         read-only.
7904
7905 2012-02-04  Bruno Haible  <bruno@clisp.org>
7906
7907         sys_select: Avoid syntax error on OpenBSD 5.0.
7908         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
7909         currently being included, just include the system's <sys/select.h>.
7910
7911 2012-02-04  Bruno Haible  <bruno@clisp.org>
7912
7913         sys_select: Avoid syntax error on OpenBSD 5.0.
7914         * lib/sys_select.in.h: Include <signal.h> only after the include_next
7915         <sys/select.h>, not before.
7916         Reported by Jiri B <jirib@devio.us>.
7917
7918 2012-02-04  Bruno Haible  <bruno@clisp.org>
7919
7920         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
7921         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
7922         global variables.
7923         * tests/test-get-rusage-data.c (main): Likewise.
7924         Reported by Jim Meyering.
7925
7926 2012-02-04  Bruno Haible  <bruno@clisp.org>
7927
7928         stdioext: Fix last commit.
7929         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
7930
7931 2012-02-03  Bruno Haible  <bruno@clisp.org>
7932
7933         stdioext: Add tentative support for Plan9.
7934         * lib/stdio-impl.h: Include <errno.h>.
7935         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
7936         * lib/freadable.c (freadable): Likewise.
7937         * lib/fwritable.c (fwritable): Likewise.
7938         * lib/fbufmode.c (fbufmode): Likewise.
7939         * lib/freading.c (freading): Likewise.
7940         * lib/fwriting.c (fwriting): Likewise.
7941         * lib/freadptr.c (freadptr): Likewise.
7942         * lib/freadseek.c (freadptrinc): Likewise.
7943         * lib/freadahead.c (freadahead): Likewise.
7944         * lib/fpurge.c (fpurge): Likewise.
7945         * lib/fseeko.c (rpl_fseeko): Likewise.
7946         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
7947         Reported by Jens Staal <staal1978@gmail.com>.
7948
7949 2012-02-02  Jim Meyering  <meyering@redhat.com>
7950
7951         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
7952         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
7953         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
7954         not even to try to add the attribute.  Instead, add a pragma to suppress
7955         the suggestion/warning.
7956
7957 2012-01-31  Karl Berry  <karl@gnu.org>
7958
7959         setstate doc: typo.
7960         * doc/posix-functions/setstate.texi (setstate): { not (.
7961
7962 2012-01-31  Bruno Haible  <bruno@clisp.org>
7963
7964         popen: Make more robust on Windows.
7965         * lib/popen.c: On native Windows, use the _popen based code even if
7966         HAVE_POPEN is set.
7967         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
7968         environment variable on native Windows.
7969
7970 2012-01-30  Bruno Haible  <bruno@clisp.org>
7971
7972         pclose: Fix typo.
7973         * lib/stdio.in.h (pclose): Fix typo in warning message.
7974
7975 2012-01-30  Bruno Haible  <bruno@clisp.org>
7976
7977         doc about getlogin_r, setstate.
7978         * doc/posix-functions/getlogin_r.texi: List the incompatible
7979         declaration problem under "not fixed by gnulib".
7980         * doc/posix-functions/setstate.texi: Mention incompatible declaration
7981         problem on Solaris 11 and other platforms.
7982
7983 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
7984             Bruno Haible  <bruno@clisp.org>
7985
7986         poll tests: Make test more robust.
7987         * tests/test-poll.c: Include macros.h.
7988         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
7989         return value of various I/O operations.
7990         * modules/poll-tests (Files): Add tests/macros.h.
7991
7992 2012-01-30  Bruno Haible  <bruno@clisp.org>
7993
7994         sys_stat: Fix support for mingw64 and MSVC.
7995         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
7996         header files already do it.
7997         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
7998         stat itself.
7999         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
8000
8001 2012-01-30  Bruno Haible  <bruno@clisp.org>
8002
8003         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
8004         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
8005         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
8006
8007 2012-01-29  Bruno Haible  <bruno@clisp.org>
8008
8009         quotearg: Fix test failure on MacOS X 10.5.
8010         * tests/test-quotearg-simple.c: Include localcharset.h.
8011         (main): If the locale encoding is not ASCII, bypass the tests of
8012         locale_quoting_style and clocale_quoting_style.
8013         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
8014
8015 2012-01-29  Jim Meyering  <meyering@redhat.com>
8016
8017         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
8018         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
8019         detect uses of canonicalize_file_name.
8020
8021 2012-01-28  Bruno Haible  <bruno@clisp.org>
8022
8023         test-framework-sh: Fix test failure with AIX 7.1 diff.
8024         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
8025         in column 1, like 'diff -c' does.
8026         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
8027         whether 'diff -u' is used. Instead, test whether the output contains
8028         some '@' character.
8029
8030 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
8031
8032         strtoimax: eliminate need for stdint.h, inttypes.h checks
8033         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
8034         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
8035         the prerequisites for a recently-introduced strtoimax test.
8036         I guess this might cause strtoimax to be replaced when not
8037         strictly necessary on older hosts, but this shouldn't introduce
8038         any bugs and it should make Emacs 'configure' faster on typical
8039         modern hosts.  Problem discovered when importing the latest gnulib
8040         to an Emacs test version.
8041         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
8042
8043 2012-01-28  Bruno Haible  <bruno@clisp.org>
8044
8045         sys_time: Override 'struct timeval' on some native Windows platforms.
8046         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
8047         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
8048         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
8049         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
8050         needs to be overridden.
8051         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
8052         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
8053         * tests/test-sys_select.c: Check that the tv_sec member has the same
8054         size as a 'time_t'.
8055         * tests/test-sys_time.c: Likewise.
8056         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
8057         is set, set also REPLACE_GETTIMEOFDAY.
8058         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
8059         convert the resulting 'struct timeval' before returning.
8060         * lib/select.c: Include <sys/time.h>.
8061         (select, timeval): Undefine at the right place.
8062         * modules/select (Depends-on): Add sys_time.
8063         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
8064         some Windows platforms.
8065         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
8066
8067 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
8068
8069         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
8070         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
8071         an integer.
8072         * lib/fcntl.c (dupfd): Likewise.
8073         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
8074
8075 2012-01-28  Bruno Haible  <bruno@clisp.org>
8076
8077         fcntl: Avoid compilation error on native Windows.
8078         * modules/fcntl (Depends-on): Add 'close'.
8079
8080 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
8081
8082         select, poll, isatty: Avoid warnings on x86_64 mingw64.
8083         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
8084         pointer to an integer.
8085         * lib/poll.c (IsConsoleHandle): Likewise.
8086         * lib/isatty.c (IsConsoleHandle): Likewise.
8087
8088 2012-01-28  Jim Meyering  <meyering@redhat.com>
8089
8090         doc: clarify README-release
8091         * top/README-release: Clarify: you should make a point to have
8092         the latest stable versions of build tools in your PATH, and the
8093         reference to buildreq is solely for its list of tool names, not
8094         for its minimal-functional version numbers.
8095         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
8096
8097         maint.mk: use more readable (yet functionally equivalent) quoting
8098         It is common to quote a single quote in a single quoted string like
8099         this:  '...'\''...'.  Unless you know the idiom, that looks like
8100         gibberish, so prefer to double-quote the string when possible.
8101         Then you can use a more readable, lone single quote: "...'..."
8102         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
8103         "don't" is more readable than the equivalent 'don'\''t'.
8104         (sc_cast_of_x_alloc_return_value): Likewise.
8105         (sc_cast_of_alloca_return_value): Likewise.
8106         (sc_makefile_path_separator_check): Similar: use ":" in '...',
8107         rather than '\'':'\''.
8108
8109 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
8110
8111         stdalign: relax _Alignof and tighten _Alignas test
8112         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
8113         as it was too strict: alignof must divide offsetof, but it need
8114         not equal offsetof.  Inspired by Joseph S. Myers's comment
8115         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
8116         Conversely, tighten the _Alignas test a bit, as the resulting
8117         alignment must be exactly 8.
8118
8119 2012-01-27  Bruno Haible  <bruno@clisp.org>
8120
8121         stdalign: Document the last change.
8122         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
8123
8124 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
8125
8126         stdalign: check that alignof and offsetof are consistent
8127         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
8128         Problem reported for gnulib by Richard W.M. Jones in
8129         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00340.html>.
8130
8131 2012-01-27  Jim Meyering  <meyering@redhat.com>
8132
8133         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
8134         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
8135         convert a sequence with gaps to the minimal containing range.
8136         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
8137         * tests/test-update-copyright.sh: Test for this.
8138         The FSF confirmed it is ok to do this, assuming there is at
8139         least one significant change per year in the affected range:
8140         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
8141
8142 2012-01-26  Bruno Haible  <bruno@clisp.org>
8143
8144         pipe2: refine doc about thread-safety
8145         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
8146         multithread-safety problem.
8147         * doc/glibc-functions/accept4.texi: Likewise.
8148
8149 2012-01-26  Bruno Haible  <bruno@clisp.org>
8150
8151         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
8152         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
8153         In the test program, include <fcntl.h>, for O_RDONLY.
8154
8155 2012-01-26  Eric Blake  <eblake@redhat.com>
8156
8157         pipe2: document lack of thread-safety in replacement
8158         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
8159         issue in replacement.
8160         * doc/glibc-functions/accept4.texi (accept4): Likewise.
8161         Based on a report by Eric Wong.
8162
8163 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
8164             Bruno Haible  <bruno@clisp.org>
8165
8166         malloca: Avoid warnings on x86_64 mingw64.
8167         * lib/malloca.c: Include <stdint.h>.
8168         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
8169         * modules/malloca (Depends-on): Add stdint.
8170         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
8171
8172 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
8173
8174         obstack: remove __STDC__ conditionals
8175         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
8176         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
8177         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
8178         m4/include_next.m4 as the only gnulib-maintained places that still
8179         refer to __STDC__.
8180
8181 2012-01-24  Bruno Haible  <bruno@clisp.org>
8182
8183         havelib: Modern quoting.
8184         * build-aux/config.rpath: Quote 'like this', not `like this', as per
8185         the recent change to the GNU coding standards.
8186
8187 2012-01-24  Bruno Haible  <bruno@clisp.org>
8188
8189         stdint: Improve support for Android.
8190         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
8191         Reported by Simon Josefsson <simon@josefsson.org>.
8192
8193 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
8194
8195         doc: omit trailing empty lines from INSTALL etc.
8196         * doc/Makefile (INSTALL): Omit trailing empty lines.
8197         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
8198         omit trailing empty lines.  This simplifies the build procedure.
8199
8200 2012-01-23  Jim Meyering  <meyering@redhat.com>
8201
8202         tests: avoid spurious warnings about gl_sockets_startup
8203         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
8204         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
8205         reporting a "statement with no effect".
8206         * tests/test-accept.c (main): Mark as "(void)".
8207         * tests/test-accept4.c (main): Likewise.
8208         * tests/test-bind.c (main): Likewise.
8209         * tests/test-connect.c (main): Likewise.
8210         * tests/test-getpeername.c (main): Likewise.
8211         * tests/test-getsockname.c (main): Likewise.
8212         * tests/test-getsockopt.c (main): Likewise.
8213         * tests/test-listen.c (main): Likewise.
8214         * tests/test-recv.c (main): Likewise.
8215         * tests/test-recvfrom.c (main): Likewise.
8216         * tests/test-send.c (main): Likewise.
8217         * tests/test-sendto.c (main): Likewise.
8218         * tests/test-setsockopt.c (main): Likewise.
8219         * tests/test-shutdown.c (main): Likewise.
8220
8221 2012-01-21  Bruno Haible  <bruno@clisp.org>
8222
8223         locale-fr.m4: Fix for Android.
8224         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
8225         failure of the test program on Bionic libc.
8226
8227 2012-01-21  Jim Meyering  <meyering@redhat.com>
8228
8229         bootstrap: fail when bootstrap_post_import_hook fails
8230         Otherwise, it's far too easy to miss diagnostics emitted
8231         between gnulib-tool's output and that of running configure.
8232         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
8233
8234 2012-01-17  Jim Meyering  <meyering@redhat.com>
8235
8236         maint: enable sc_trailing_blank
8237         * build-aux/pmccabe.css: Remove trailing blanks.
8238         * doc/acl-cygwin.txt: Likewise.
8239         * doc/gnu-oids.texi: Likewise
8240         * cfg.mk: Enable sc_trailing_blank.
8241         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
8242
8243 2012-01-17  Jim Meyering  <meyering@redhat.com>
8244
8245         maint: enable sc_prohibit_openat_without_use
8246         * cfg.mk: Enable sc_prohibit_openat_without_use.
8247         Exempt lib/selinux-at.c.
8248
8249 2012-01-17  Jim Meyering  <meyering@redhat.com>
8250
8251         maint: enable sc_prohibit_cloexec_without_use
8252         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
8253         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
8254
8255 2012-01-17  Jim Meyering  <meyering@redhat.com>
8256
8257         maint: enable sc_prohibit_intprops_without_use
8258         * cfg.mk: Enable sc_prohibit_intprops_without_use
8259         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
8260
8261 2012-01-17  Jim Meyering  <meyering@redhat.com>
8262
8263         maint: enable sc_prohibit_hash_pjw_without_use
8264         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
8265         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
8266         to match any use of \<hash_pjw\>, i.e., not necessarily with a
8267         following " (".
8268
8269 2012-01-17  Jim Meyering  <meyering@redhat.com>
8270
8271         maint: enable double-word-prohibiting rule
8272         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
8273         Exempt three files.
8274
8275 2012-01-17  Jim Meyering  <meyering@redhat.com>
8276
8277         maint: remove empty lines at EOF, but excluding modules/*
8278         Apply syntax rules at home as well as abroad.  Most changes
8279         were induced by running this:
8280           make srcdir=. _build-aux=build-aux -f top/maint.mk \
8281             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
8282             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
8283         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
8284         Exempt modules/* and two binary files.
8285         Also exempt doc/INSTALL*, per request from Bruno Haible.
8286         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
8287         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
8288         * doc/Copyright/request-assign.future: Likewise.
8289         * doc/Copyright/request-disclaim.changes: Likewise.
8290         * doc/INSTALL: Likewise.
8291         * doc/INSTALL.ISO: Likewise.
8292         * doc/INSTALL.UTF-8: Likewise.
8293         * doc/acl-cygwin.txt: Likewise.
8294         * doc/acl-resources.txt: Likewise.
8295         * doc/fdl-1.2.texi: Likewise.
8296         * doc/fdl-1.3.texi: Likewise.
8297         * doc/fdl.texi: Likewise.
8298         * lib/argp-pin.c: Likewise.
8299         * lib/round.c: Likewise.
8300         * lib/unicase/u16-totitle.c: Likewise.
8301         * lib/unictype/block_test.c: Likewise.
8302         * lib/uninorm/canonical-decomposition.c: Likewise.
8303         * m4/README: Likewise.
8304         * m4/relocatable-lib.m4: Likewise.
8305         * tests/test-isnand-nolibm.c: Likewise.
8306         * tests/test-isnand.c: Likewise.
8307         * tests/uninorm/NormalizationTest.txt: Likewise.
8308
8309 2012-01-17  Jim Meyering  <meyering@redhat.com>
8310
8311         maint: add framework to run syntax-check rules against gnulib sources
8312         * cfg.mk: New file, to disable all currently-failing tests.
8313         We'll enable them one by one, as they are made to pass.
8314         * Makefile (sc_maint): New rule.
8315
8316 2012-01-21  Bruno Haible  <bruno@clisp.org>
8317
8318         stdint: Add support for Android.
8319         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
8320         include the system's <stdint.h>.
8321         Reported by Simon Josefsson <simon@josefsson.org>.
8322
8323 2012-01-19  Jim Meyering  <meyering@redhat.com>
8324
8325         bootstrap: add bootstrap_post_import_hook
8326         Bison does still need something like the gnulib_mk_hook whose
8327         invocation I had to remove along with slurp in commit 767ccd40.
8328         Technically, we could get along without it, but doing so would
8329         have required living with a warning and a mandatory post-bootstrap
8330         automake rerun.
8331         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
8332         (bootstrap_post_import_hook): New function.
8333         Invoke it after gnulib-tool --import and before autoreconf.
8334
8335 2012-01-18  Jim Meyering  <meyering@redhat.com>
8336
8337         gitlog-to-changelog: don't use "no_"-prefixed variable name
8338         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
8339         to enable both --cluster and --no-cluster.  Change variable name,
8340         s/\$no_cluster/$cluster/, and reverse usage to match.
8341
8342         gitlog-to-changelog: use "||", not "or" in expressions
8343         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
8344         expressions.
8345
8346 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
8347
8348         gitlog-to-changelog: new option --no-cluster
8349         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
8350         clustering of adjacent commit messages.
8351
8352 2012-01-17  Jim Meyering  <meyering@redhat.com>
8353
8354         maint: spell file systems with two words, not one
8355         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
8356         two words, not one.
8357
8358 2012-01-16  Jim Meyering  <meyering@redhat.com>
8359
8360         bootstrap: add a FIXME comment to ensure we eventually remove the hack
8361         * build-aux/bootstrap (gnulib_tool_options): Add comment.
8362
8363 2012-01-16  Eric Blake  <eblake@redhat.com>
8364
8365         bootstrap: cater to autoconf 2.59
8366         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
8367         is not available.
8368
8369         bootstrap: properly check for libtool
8370         * build-aux/bootstrap (libtoolize): Also run libtool when older
8371         usage is detected.
8372
8373 2012-01-15  Bruno Haible  <bruno@clisp.org>
8374
8375         Improve support for MSVC 9.
8376         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
8377         clashes on MSVC.
8378         * lib/fcntl.in.h: Likewise.
8379         * lib/stdlib.in.h: Likewise.
8380         * lib/sys_stat.in.h: Likewise.
8381
8382 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
8383
8384         gnupload: we hold the master copy of this script now
8385         For motivation and more information, see:
8386         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00222.html>
8387         * build-aux/gnupload: Make it clear in the heading comments that the
8388         master copy of this file is maintained by gnulib.  Since we are at
8389         it, bump its copyright year and ...
8390         ($scriptversion): ... the date in its version.
8391         ($usage): Patches and bug reports should be sent to the gnulib list,
8392         not the automake one.
8393         * config/srclist.txt: Don't try to sync 'gnupload' from automake
8394         anymore.
8395
8396 2012-01-15  Bruno Haible  <bruno@clisp.org>
8397
8398         Fix module 'random'.
8399         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
8400         initstate, setstate are declared.
8401
8402 2012-01-14  Bruno Haible  <bruno@clisp.org>
8403
8404         Tests for module 'random'.
8405         * modules/random-tests: New file.
8406         * tests/test-random.c: New file, based on tests/test-random_r.c.
8407
8408         New module 'random'.
8409         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
8410         declarations.
8411         * lib/random.c: New file, based on glibc/stdlib/random.c.
8412         * m4/random.m4: New file.
8413         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
8414         HAVE_RANDOM.
8415         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
8416         * modules/random: New file.
8417         * config/srclist.txt: Add an entry for random.c.
8418         * doc/posix-functions/random.texi: Mention the 'random' module.
8419         * doc/posix-functions/initstate.texi: Likewise.
8420         * doc/posix-functions/setstate.texi: Likewise.
8421         * doc/posix-functions/srandom.texi: Likewise.
8422
8423 2012-01-12  Bruno Haible  <bruno@clisp.org>
8424
8425         random_r: Use common idioms.
8426         * lib/random_r.c: Include <stdlib.h> first.
8427
8428         random_r: Override incompatible API on AIX, OSF/1.
8429         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
8430         Override the system function if REPLACE_RANDOM_R is 1.
8431         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
8432         and OSF/1, set REPLACE_RANDOM_R.
8433         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
8434         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
8435         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
8436         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
8437         * doc/glibc-functions/random_r.texi: Likewise.
8438         * doc/glibc-functions/setstate_r.texi: Likewise.
8439
8440         random_r: Support for MSVC 9.
8441         * lib/random_r.c: Include stdint.h, not inttypes.h.
8442
8443 2012-01-12  Eric Blake  <eblake@redhat.com>
8444
8445         inet_ntop: guard extra work by IF_LINT
8446         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
8447         better code generation when not checking for warnings.
8448         Suggested by Paul Eggert and Jim Meyering.
8449
8450         strptime: fix regression on mingw
8451         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
8452         Fix regression.  Reported by Bruno Haible.
8453
8454 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
8455             Bruno Haible  <bruno@clisp.org>
8456
8457         copy-file: add error-code-returning variant.
8458         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
8459         (qcopy_file_preserving): New declaration.
8460         * lib/copy-file.c (qcopy_file_preserving): Renamed from
8461         copy_file_preserving. Change return type to 'int'. Don't emit an error
8462         message here.
8463         (copy_file_preserving): New function.
8464         * tests/test-copy-file.c: Include <stdlib.h>.
8465         (main): Test qcopy_file_preserving if the environment variable
8466         NO_STDERR_OUTPUT is set.
8467         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
8468         with NO_STDERR_OUTPUT
8469         * tests/test-copy-file-2.sh: Likewise.
8470
8471 2012-01-10  Bruno Haible  <bruno@clisp.org>
8472
8473         copy-file: Use 'quote' module consistently.
8474         * lib/copy-file.c (copy_file_preserving): Use quote().
8475
8476         copy-file: Refactor.
8477         * lib/copy-file.c: Include quote.h.
8478         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
8479         message here.
8480         * modules/copy-file (Depends-on): Add quote.
8481
8482         acl: Export qcopy_acl.
8483         * lib/acl.h (qcopy_acl): New declaration.
8484         * lib/copy-acl.c (qcopy_acl): Make non-static.
8485
8486         acl: Rename a local variable.
8487         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
8488
8489         acl: Align return values of copy_acl and qcopy_acl.
8490         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
8491         maybe < -1.
8492
8493 2012-01-11  Eric Blake  <eblake@redhat.com>
8494
8495         strptime: silence gcc warnings
8496         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
8497         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
8498         Reported by Daniel P. Berrange.
8499
8500         inet_ntop: silence gcc warning
8501         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
8502         Reported by Daniel P. Berrange.
8503
8504 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
8505
8506         getloadavg test: skip the test on GNU/Linux without /proc mounted
8507         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
8508         file.  When /proc is not mounted, it always fails with ENOENT.
8509         * tests/test-getloadavg.c (main): Treat ENOENT return code from
8510         getloadavg(3) the same way as ENOSYS and ENOTSUP.
8511
8512 2012-01-10  Bruno Haible  <bruno@clisp.org>
8513
8514         regex: Avoid link error on MSVC 9.
8515         * modules/regex (Depends-on): Add wctype.
8516
8517 2012-01-10  Bruno Haible  <bruno@clisp.org>
8518
8519         doc: Mention --with-tests option.
8520         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
8521         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
8522         --with-tests.
8523         Reported by Reuben Thomas.
8524
8525 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
8526
8527         users.txt: order package names lexicographically.
8528         * users.txt: Order package names lexicographically.
8529
8530 2012-01-10  Jim Meyering  <meyering@redhat.com>
8531
8532         maint.mk: fix description in comment
8533         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
8534
8535         ignore-value: remove deprecated ignore_ptr function
8536         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
8537         * NEWS: Note this.
8538
8539 2012-01-09  Jim Meyering  <meyering@redhat.com>
8540
8541         test-init.sh: avoid a subshell
8542         * tests/test-init.sh: Remove protective subshell.
8543         Suggested by Bernhard Voelker.  While a subshell is normally
8544         required to protect against older shells (Solaris, FreeBSD) that
8545         warn about a missing program before performing redirection, the
8546         shell-selection tests performed by init.sh probably exclude any
8547         offending shell.
8548
8549 2012-01-08  Bruno Haible  <bruno@clisp.org>
8550
8551         setlocale tests: Avoid test failure on Solaris 11 2011-11.
8552         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
8553         variable.
8554
8555 2012-01-08  Bruno Haible  <bruno@clisp.org>
8556
8557         posix_spawn_file_actions_addopen: Work around Solaris 11 2011-11 bug.
8558         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
8559         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
8560         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
8561         macro.
8562         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
8563         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
8564         * lib/spawn_faction_addopen.c: Add workaround implementation if
8565         HAVE_WORKING_POSIX_SPAWN.
8566         * modules/spawn (Makefile): Substitute
8567         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
8568         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
8569         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
8570         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
8571         (Depends-on): Update conditions.
8572         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
8573         the Solaris 11 bug.
8574
8575 2012-01-08  Bruno Haible  <bruno@clisp.org>
8576
8577         posix_spawn_file_actions_adddup2: Work around Solaris 11 2011-11 bug.
8578         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
8579         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
8580         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
8581         macro.
8582         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
8583         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
8584         * lib/spawn_faction_adddup2.c: Add workaround implementation if
8585         HAVE_WORKING_POSIX_SPAWN.
8586         * modules/spawn (Makefile): Substitute
8587         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
8588         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
8589         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
8590         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
8591         (Depends-on): Update conditions.
8592         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
8593         the Solaris 11 bug.
8594
8595 2012-01-08  Bruno Haible  <bruno@clisp.org>
8596
8597         posix_spawn_file_actions_addclose: Work around Solaris 11 2011-11 bug.
8598         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
8599         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
8600         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
8601         HAVE_WORKING_POSIX_SPAWN.
8602         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
8603         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
8604         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
8605         * lib/spawn_faction_addclose.c: Add workaround implementation if
8606         HAVE_WORKING_POSIX_SPAWN.
8607         * modules/spawn (Makefile): Substitute
8608         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
8609         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
8610         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
8611         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
8612         (Depends-on): Update conditions.
8613         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
8614         the Solaris 11 bug.
8615
8616 2012-01-08  Bruno Haible  <bruno@clisp.org>
8617
8618         doc: Update for Solaris 11 2011-11.
8619         * doc/*/*.texi: Mention Solaris 11 2011-11 where appropriate.
8620         * m4/printf.m4: Update comments.
8621
8622 2012-01-08  Bruno Haible  <bruno@clisp.org>
8623
8624         mktime: Avoid compilation error on Solaris 11.
8625         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
8626
8627 2012-01-08  Bruno Haible  <bruno@clisp.org>
8628
8629         doc: Small fix.
8630         * doc/posix-headers/nl_types.texi: Correct platforms list.
8631
8632 2012-01-08  Simon Josefsson  <simon@josefsson.org>
8633
8634         Add lgpl-3.0 module.
8635         * MODULES.html.sh (Support for building documentation): Add
8636         lgpl-3.0.
8637         * modules/lgpl-3.0: New file.
8638
8639 2012-01-08  Jim Meyering  <meyering@redhat.com>
8640
8641         select.c: indent with spaces, not TABs
8642         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
8643
8644 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
8645
8646         quotearg: do not use grave accent for left quote
8647         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
8648         locale_quoting_style.
8649         (quotearg_buffer_restyled): Fix example.
8650         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
8651
8652 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
8653
8654         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
8655         Most programs do not have translation catalogs for English and much
8656         less separate catalogs for British and American English.  Drop the
8657         suggestion to translators about these two, and provide it
8658         automatically for Unicode locales.  Like most programs, even those
8659         using American English, we use single quotation marks.  This conflicts
8660         with the American typographic convention, but works better when you
8661         cite the entire error message within double quotes.  It also tries not
8662         to clash with established practice and with what non-gnulib programs
8663         will usually do.
8664         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
8665         using an UTF-8 or GB-18030 locale.  The list of other locales with
8666         quotes was provided by Bruno Haible.
8667         (quotearg_buffer_restyled): Adjust instructions to translators.
8668         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
8669         text, since this would be wrong when using Unicode.
8670         * modules/quotearg: Depend on c-strcaseeq.
8671
8672 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
8673
8674         quotearg: fix Wikipedia link
8675         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
8676
8677 2012-01-07  Simon Josefsson  <simon@josefsson.org>
8678
8679         Fix for mingw with MSVC9.
8680         * m4/ld-version-script.m4: Check that compiler rejects version
8681         scripts with syntax errors.  Reported by Bruno Haible
8682         <bruno@clisp.org>.
8683
8684 2012-01-06  Bruno Haible  <bruno@clisp.org>
8685
8686         Talk about "native Windows API", not "Woe32".
8687         * lib/accept4.c: Update comments to mention native Windows.
8688         * lib/execute.c: Likewise.
8689         * lib/fatal-signal.c: Likewise.
8690         * lib/localcharset.c: Likewise.
8691         * lib/nanosleep.c: Likewise.
8692         * lib/nl_langinfo.c: Likewise.
8693         * lib/pclose.c: Likewise.
8694         * lib/pipe-filter-gi.c: Likewise.
8695         * lib/pipe-filter-ii.c: Likewise.
8696         * lib/pipe.c: Likewise.
8697         * lib/pipe2.c: Likewise.
8698         * lib/popen.c: Likewise.
8699         * lib/progreloc.c: Likewise.
8700         * lib/relocatable.c: Likewise.
8701         * lib/sigaction.c: Likewise.
8702         * lib/sigprocmask.c: Likewise.
8703         * lib/spawn-pipe.h: Likewise.
8704         * lib/spawn-pipe.c: Likewise.
8705         * lib/spawni.c: Likewise.
8706         * lib/stat-time.h: Likewise.
8707         * lib/w32spawn.h: Likewise.
8708         * tests/test-isatty.c: Likewise.
8709         * lib/config.charset: More comments.
8710         * doc/gnulib-intro.texi: Mention native Windows.
8711         * doc/posix-functions/_Exit_C99.texi: Likewise.
8712         * doc/posix-headers/fcntl.texi: Likewise.
8713
8714 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
8715
8716         argp: Avoid crash if translator uses % characters in a translation.
8717         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
8718         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
8719
8720 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
8721
8722         doc: C11 and C++11 are now official
8723         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
8724         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
8725         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
8726         * modules/stdalign:
8727         Replace references to draft C1X to C11, and to draft C++0X to C++11.
8728
8729 2012-01-06  Bruno Haible  <bruno@clisp.org>
8730
8731         uc-is-grapheme-break tests: Tweak.
8732         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
8733         message.
8734
8735 2012-01-06  Bruno Haible  <bruno@clisp.org>
8736
8737         test-init.sh: correct the test for diff -u
8738         * tests/test-init.sh: Also redirect stdout to /dev/null.
8739
8740 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
8741
8742         Use ', not `, for quoting output.
8743         * build-aux/announce-gen (usage, sizes, print_news_deltas)
8744         (print_changelog_deltas, get_tool_versions, main program):
8745         * build-aux/git-version-gen:
8746         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
8747         * build-aux/move-if-change (help):
8748         * build-aux/useless-if-before-free (usage, main program):
8749         * check-module (parse_module_file, usage)
8750         (find_included_lib_files, check_module):
8751         * lib/argmatch.c (main) [TEST]:
8752         * lib/argp-help.c (_help):
8753         * lib/getopt1.c (main) [TEST]:
8754         * lib/git-merge-changelog.c (usage):
8755         * lib/xstrtol-error.c (xstrtol_error):
8756         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
8757         * m4/argz.m4 (gl_FUNC_ARGZ):
8758         * m4/bison.m4 (gl_BISON):
8759         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
8760         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
8761         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
8762         * m4/fpending.m4 (gl_PREREQ_FPENDING):
8763         * m4/gc-random.m4 (gl_GC_RANDOM):
8764         * m4/intl.m4 (gt_CHECK_DECL):
8765         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
8766         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
8767         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
8768         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
8769         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
8770         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
8771         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
8772         * tests/test-dirname.c (main):
8773         * tests/test-getpass.c (main):
8774         * tests/test-iconvme.c (main):
8775         * tests/test-parse-datetime.c (LOG):
8776         * tests/test-xstrtoimax.sh:
8777         * tests/test-xstrtol.sh:
8778         * tests/test-xstrtoll.sh:
8779         * tests/test-xstrtoumax.sh:
8780         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
8781         * top/GNUmakefile (abort-due-to-no-makefile):
8782         Quote 'like this', not `like this', as per the recent change to
8783         the GNU coding standards.
8784
8785 2012-01-05  Bruno Haible  <bruno@clisp.org>
8786
8787         strtoimax: Don't force a replacement on systems where intmax_t is int.
8788         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
8789         'intmax_t' is not larger than 'int'.
8790         Reported by Pádraig Brady <P@draigBrady.com>.
8791
8792 2012-01-05  Bruno Haible  <bruno@clisp.org>
8793
8794         doc: Mention NetBSD bugs.
8795         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
8796         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
8797
8798 2012-01-05  Bruno Haible  <bruno@clisp.org>
8799
8800         strtoumax tests: Enhance tests.
8801         * tests/test-strtoumax.c (main): Add tests for large values.
8802
8803 2012-01-05  Bruno Haible  <bruno@clisp.org>
8804
8805         strtoimax: Work around AIX 5.1 bug.
8806         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
8807         definition.
8808         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
8809         Set HAVE_STRTOIMAX.
8810         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
8811         REPLACE_STRTOIMAX.
8812         * modules/inttypes-incomplete (Makefile.am): Substitute
8813         REPLACE_STRTOIMAX.
8814         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
8815         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
8816         (Depends-on): Update conditions.
8817         * tests/test-strtoimax.c (main): Add tests for large values.
8818         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
8819
8820 2012-01-05  Bruno Haible  <bruno@clisp.org>
8821
8822         inttypes: Modernize.
8823         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
8824         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
8825         (Makefile.am): Update inttypes.h rule.
8826
8827 2012-01-05  Jim Meyering  <meyering@redhat.com>
8828
8829         init.sh: don't waste a subshell just to redirect stderr
8830         * tests/init.sh: In testing for diff -u and diff -c, use a
8831         stderr-redirecting exec inside `...` rather than a subshell.
8832
8833         test-init.sh: avoid failure on HP-UX 11.00
8834         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
8835         resolves to diff -c or cmp.  Reported by Bruno Haible.
8836
8837 2012-01-05  Bruno Haible  <bruno@clisp.org>
8838
8839         Tests for module 'strtoull'.
8840         * modules/strtoull-tests: New file.
8841         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
8842
8843 2012-01-05  Bruno Haible  <bruno@clisp.org>
8844
8845         Tests for module 'strtoll'.
8846         * modules/strtoll-tests: New file.
8847         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
8848
8849 2012-01-05  Bruno Haible  <bruno@clisp.org>
8850
8851         Tests for module 'strtoul'.
8852         * modules/strtoul-tests: New file.
8853         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
8854
8855 2012-01-05  Bruno Haible  <bruno@clisp.org>
8856
8857         Tests for module 'strtol'.
8858         * modules/strtol-tests: New file.
8859         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
8860
8861 2012-01-04  Jim Meyering  <meyering@redhat.com>
8862
8863         test-init.sh: accommodate Solaris 5.10's different diff -u output
8864         * tests/test-init.sh: Also exempt @@ lines from the comparison
8865         of diff output, since Solaris 5.10 and GNU diff formats differ.
8866         Reported by Stefano Lattarini.
8867
8868 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
8869
8870         test-posixtm: don't assume signed integer wraparound
8871         * tests/test-posixtm.c (main): Don't assume wraparound semantics
8872         after signed integer overflow.  Inspired by (though it may not
8873         fix) Bruno Haible's bug report in
8874         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00066.html>.
8875
8876         Spell out "Windows 9x" and "Windows XP".
8877         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
8878         "Windows 9x" and "WinXP" with "Windows XP".
8879
8880 2012-01-04  Jim Meyering  <meyering@redhat.com>
8881
8882         test-vc-list-files-cvs.sh: remove obsolete comment
8883         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
8884         double exit.  Now that's all encapsulated via skip_ and Exit.
8885
8886 2012-01-04  Bruno Haible  <bruno@clisp.org>
8887
8888         Talk about "native Windows API", not "Win32".
8889         * lib/classpath.c: Update comments to mention native Windows.
8890         * lib/csharpexec.c: Likewise.
8891         * lib/dup2.c: Likewise.
8892         * lib/error.c: Likewise.
8893         * lib/fcntl.c: Likewise.
8894         * lib/filename.h: Likewise.
8895         * lib/findprog.c: Likewise.
8896         * lib/get-rusage-as.c: Likewise.
8897         * lib/get-rusage-data.c: Likewise.
8898         * lib/getpagesize.c: Likewise.
8899         * lib/javaexec.c: Likewise.
8900         * lib/msvc-inval.c: Likewise.
8901         * lib/msvc-nothrow.c: Likewise.
8902         * lib/nanosleep.c: Likewise.
8903         * lib/nonblocking.c: Likewise.
8904         * lib/printf-parse.c: Likewise.
8905         * lib/setlocale.c: Likewise.
8906         * lib/sigaction.c: Likewise.
8907         * lib/strerror_r.c: Likewise.
8908         * lib/tmpdir.c: Likewise.
8909         * lib/vasnprintf.c: Likewise.
8910         * lib/w32spawn.h: Likewise.
8911         * lib/waitpid.c: Likewise.
8912         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
8913         * m4/locale-ar.m4: Likewise.
8914         * m4/locale-fr.m4: Likewise.
8915         * m4/locale-ja.m4: Likewise.
8916         * m4/locale-tr.m4: Likewise.
8917         * m4/locale-zh.m4: Likewise.
8918         * m4/printf.m4: Likewise.
8919         * tests/test-cloexec.c: Likewise.
8920         * tests/test-copy-acl.sh: Likewise.
8921         * tests/test-copy-file.sh: Likewise.
8922         * tests/test-file-has-acl.sh: Likewise.
8923         * tests/test-set-mode-acl.sh: Likewise.
8924         * tests/test-dup-safer.c: Likewise.
8925         * tests/test-dup2.c: Likewise.
8926         * tests/test-dup3.c: Likewise.
8927         * tests/test-fcntl.c: Likewise.
8928         * tests/test-nonblocking-pipe.h: Likewise.
8929         * tests/test-nonblocking-socket.h: Likewise.
8930         * tests/test-pipe.c: Likewise.
8931         * tests/test-pipe2.c: Likewise.
8932         * tests/test-spawn-pipe-child.c: Likewise.
8933         * doc/acl-resources.txt: Likewise.
8934         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
8935         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
8936         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
8937         * lib/localcharset.c: Update comments to mention native Windows.
8938         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
8939         * lib/localename.c: Likewise.
8940         * lib/progreloc.c: Likewise.
8941         * lib/relocatable.c: Likewise.
8942         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
8943         (windows_compute_revents): Renamed from win32_compute_revents.
8944         (windows_compute_revents_socket): Renamed from
8945         win32_compute_revents_socket.
8946         * lib/select.c: Update comments to mention native Windows.
8947         (windows_poll_handle): Renamed from win32_poll_handle.
8948         * m4/threadlib.m4: Update comments to mention native Windows.
8949         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
8950         --enable-threads=windows instead of --enable-threads=win32. Set
8951         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
8952         * lib/glthread/lock.h: Update comments to mention native Windows.
8953         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
8954         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
8955         USE_WIN32_THREADS.
8956         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
8957         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
8958         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
8959         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
8960         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
8961         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
8962         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
8963         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
8964         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
8965         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
8966         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
8967         * tests/test-tls.c: Likewise.
8968         Rationale:
8969         Microsoft renamed the "Win32 API" to "Windows API", as it is available
8970         on both 32-bit and 64-bit Windows systems.
8971         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
8972         line of distinction is between "native Windows" on one side and Unix/
8973         POSIX systems on the other side. More details in
8974         <https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00027.html>.
8975         Suggested by Paul Eggert.
8976
8977 2012-01-03  Bruno Haible  <bruno@clisp.org>
8978
8979         isatty: Support for MSVC 9.
8980         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
8981         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
8982         (_isatty_nothrow): New function.
8983         (isatty): Use it instead of _isatty.
8984         (IsConsoleHandle): Add comment, from Paolo Bonzini.
8985         * lib/poll.c (IsConsoleHandle): Likewise.
8986         * lib/select.c (IsConsoleHandle): Likewise.
8987         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
8988         (gl_PREREQ_ISATTY): New macro.
8989         * modules/isatty (Depends-on): Add msvc-inval.
8990         (configure.ac): Invoke gl_PREREQ_ISATTY.
8991
8992 2012-01-03  Jim Meyering  <meyering@redhat.com>
8993
8994         maint.mk: remove temporary transition aid from over 1.5 years ago
8995         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
8996         purpose was to aid in the transition (avoiding silent malfunction)
8997         from that old name to the new _sc_search_regexp.  This shim was
8998         added by commit 219c504b.
8999
9000         init.sh: do not try to accommodate compare arguments starting with "-"
9001         * tests/init.sh (compare_dev_null_): Do not try to accommodate
9002         compare arguments that start with "-".  Besides, we do not worry
9003         about this when invoking diff or cmp; why start now with sed?
9004         Using "--" to separate options from argument would trigger sed
9005         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
9006         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
9007
9008 2012-01-02  Bruno Haible  <bruno@clisp.org>
9009
9010         Enhance tests for module 'isatty'.
9011         * modules/isatty-tests (Depends-on): Add pipe-posix.
9012         * tests/test-isatty.c: Include <fcntl.h>.
9013         (DEV_NULL): New macro.
9014         (main): Test the resut of isatty() also on regular files, pipes, and
9015         /dev/null.
9016
9017         New module 'isatty'.
9018         * lib/unistd.in.h (isatty): New declaration.
9019         * lib/isatty.c: New file, based on an idea of
9020         Bastien Roucariès <roucaries.bastien@gmail.com>.
9021         * m4/isatty.m4: New file.
9022         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
9023         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
9024         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
9025         REPLACE_ISATTY.
9026         * modules/isatty: New file.
9027         * doc/posix-functions/isatty.texi: Mention the new module.
9028         Suggested by Paolo Bonzini.
9029
9030 2012-01-02  Bruno Haible  <bruno@clisp.org>
9031
9032         canonicalize: Tweak 2011-12-29 commit.
9033         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
9034         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
9035
9036 2012-01-02  Jim Meyering  <meyering@redhat.com>
9037
9038         gitlog-to-changelog: describe input syntax in --help output
9039         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
9040
9041         gitlog-to-changelog: fix typo in --help: show backslash before email @
9042         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
9043         in sources, but not in actual output.
9044
9045 2011-12-30  Jim Meyering  <meyering@redhat.com>
9046
9047         gitlog-to-changelog: don't malfunction when name contains %-directive
9048         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
9049         in a name string cause trouble.  E.g., with a user name of "%s",
9050         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
9051
9052 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
9053
9054         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
9055         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
9056         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
9057         the "  (tiny change)" notation that is appended to the standard
9058         ChangeLog "date  name  email" header line.
9059
9060 2012-01-01  Jim Meyering  <meyering@redhat.com>
9061
9062         test-framework-sh: init.sh: fix "make dist" failure
9063         When using gnulib-tool's --with-tests option and any module that
9064         depends on test-framework-sh, "make dist" would fail due to the
9065         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
9066         in the gltests directory, and not in the gllib/ directory.
9067         One way to work around that is to move the EXTRA_DIST += init.sh
9068         from the primary module to the -tests one:
9069         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
9070         * modules/test-framework-sh (Makefile.am): ...not here.
9071         Reported by Tom G. Christensen in
9072         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
9073
9074         version-etc: update copyright year reported by --version
9075         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
9076
9077 2011-12-31  Pádraig Brady  <P@draigBrady.com>
9078
9079         canonicalize: only stat() if required
9080         * lib/canonicalize.c (canonicalize_filename_mode):
9081         Avoid calling l?stat() when both CAN_MISSING,
9082         and CAN_NOLINKS are set, as we neither need
9083         to resolve symlinks or test component existence.
9084
9085 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
9086
9087         doc: cover st_ino issues once; add OpenVMS etc.
9088         * doc/posix-functions/stat.texi (stat):
9089         * doc/posix-functions/lstat.texi (lstat):
9090         * doc/posix-functions/fstatat.texi (fstatat):
9091         * doc/posix-functions/fstat.texi (fstat):
9092         Move general 'struct stat' stuff to sys_stat.texi,
9093         leaving behind a pointer.
9094         * doc/posix-headers/sys_stat.texi (sys/stat.h):
9095         Merge duplicate info about 'struct stat' problems into here.
9096         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
9097         and suggest partial workarounds.
9098
9099         same-inode: port to OpenVMS
9100         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
9101         three st_ino values.
9102
9103 2011-12-30  Pádraig Brady  <P@draigBrady.com>
9104
9105         canonicalize: fix references to stat() and lstat()
9106         * lib/canonicalize.c (canonicalize_filename_mode):
9107         Ensure references always resolve to a replacement
9108         function if required (even via a macro).
9109
9110 2011-12-30  Jim Meyering  <meyering@redhat.com>
9111
9112         gitlog-to-changelog: remove a little duplication
9113         * build-aux/gitlog-to-changelog (main): Grep @lines once,
9114         rather than twice.
9115
9116 2011-12-29  Pádraig Brady  <P@draigBrady.com>
9117
9118         canonicalize: add support for not resolving symlinks
9119         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
9120         indicate we don't want to follow symlinks.  Also
9121         provide CAN_MODE_MASK to aid setting these existing
9122         mutually exclusive values.
9123         * lib/canonicalize.c (canonicalize_filename_mode):
9124         Extract the flags from can_mode parameter, which
9125         are currently just used to select between stat()
9126         and lstat().  Also ensure that mutually exclusive
9127         values are flagged immediately as invalid.
9128         * tests/test-canonicalize.c: Verify symlinks are
9129         not followed, and that invalid flag combinations
9130         are diagnosed.
9131
9132 2011-12-25  Jim Meyering  <meyering@redhat.com>
9133
9134         gitlog-to-changelog: do not clump multi-paragraph entries
9135         Identical header lines (date,name,email+coauthors) are suppressed,
9136         thus putting all entries with those same characteristics under
9137         a single header.  However, when a log entry consists of two or
9138         more paragraphs, it may not be clear where it starts and ends.
9139         This change makes it so that such an entry is always separated
9140         from others by a header line, even when that header would
9141         otherwise be suppressed.
9142         * build-aux/gitlog-to-changelog: Implement the above.
9143         Inspired by a related request from Stefano Lattarini in
9144         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
9145
9146 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
9147
9148         announce-gen: fix `cmd' typo in diagnostic
9149         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
9150         diagnostic: a missing '$' meant that the command was not output.
9151
9152 2011-12-23  Jim Meyering  <meyering@redhat.com>
9153
9154         test-framework-sh: distribute init.sh
9155         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
9156         Otherwise, "make -C gnulib-tests check" (at least in grep) would
9157         fail due to the lack of init.sh.
9158
9159         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
9160         * modules/atexit-tests: Rather than listing tests/init.sh,
9161         now that there's a module for it, simply depend on that new module.
9162         * modules/closein-tests: Likewise.
9163         * modules/exclude-tests: Likewise.
9164         * modules/getcwd-tests: Likewise.
9165         * modules/perror-tests: Likewise.
9166         * modules/pread-tests: Likewise.
9167         * modules/pwrite-tests: Likewise.
9168         * modules/vc-list-files-tests: Likewise.
9169         * modules/verify-tests: Likewise.
9170         * modules/xalloc-die-tests: Likewise.
9171         * modules/xstrtoimax-tests: Likewise.
9172         * modules/xstrtol-tests: Likewise.
9173         * modules/xstrtoll-tests: Likewise.
9174         * modules/xstrtoumax-tests: Likewise.
9175         * modules/yesno-tests: Likewise.
9176
9177 2011-12-22  Jim Meyering  <meyering@redhat.com>
9178
9179         test-framework-sh: add minimal tests of init.sh's compare function
9180         * modules/test-framework-sh-tests: New file.
9181         * tests/test-init.sh: New file.
9182
9183         test-framework-sh: new module
9184         * modules/test-framework-sh: New file.
9185         * MODULES.html.sh (Support for maintaining and releasing projects):
9186         List it.
9187
9188         init.sh: do not emit simulated diff output to stderr
9189         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
9190
9191 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
9192
9193         .gitignore: ignore gnulib.dvi and regex.info
9194         * doc/.gitignore:add gnulib.dvi and regex.info
9195
9196 2011-12-22  Jim Meyering  <meyering@redhat.com>
9197
9198         init.sh: correct previous change
9199         * tests/init.sh (compare): My previous change was wrong.
9200         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
9201
9202         init.sh: avoid unwarranted test failure when using "set -e"
9203         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
9204         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
9205         a use like "compare exp out" would get evoke an unconditional failure.
9206
9207 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
9208
9209         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
9210         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
9211         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
9212         autoreconf that did not.
9213         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
9214         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
9215
9216 2011-12-17  Jim Meyering  <meyering@redhat.com>
9217
9218         bootstrap: remove some now-unneeded code
9219         This script arose back when gnulib-tool was young.
9220         Since then, it has seen improvements that render much of this
9221         script unnecessary.  In particular, it can now make symlinks
9222         to the files it uses.  Also, I no longer see as much value in
9223         marking files as read-only via comments.
9224         If you relied on the symlink-creation feature of the preceding
9225         version of this script, you can get most of that functionality
9226         by adding the --symlink option to the definition of
9227         gnulib_tool_option_extras in your bootstrap.conf file.
9228         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
9229         Run autopoint and libtoolize *before* gnulib-tool.
9230         After it, run an abbreviated autoreconf, rather than a loop around
9231         all tools.
9232         (slirp, bt_mark_as_generated): Remove functions.
9233
9234 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
9235
9236         ftoastr: fix typo
9237         * lib/ftoastr.h: Fix misspelling in comment.
9238
9239 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
9240
9241         * top/README-release: fix punctuation.
9242
9243 2011-12-17  Jim Meyering  <meyering@redhat.com>
9244
9245         bootstrap: correct the recent buildreq change
9246         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
9247         had no effect.
9248         * build-aux/bootstrap (buildreq): Bracket each search term with
9249         "*...*", so that the shell "case" statement works as intended.
9250         Add comments.
9251
9252 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
9253
9254         build: let bootstrap resort to wget when downloading .po files
9255         * build-aux/bootstrap (download_po_files): Fallback to wget when
9256         downloading the .po files via rsync fails.  This is necessary to
9257         bootstrap from behind a strict firewall.
9258
9259 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
9260
9261         stdint: don't assume C++11 when compiling with g++
9262         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
9263         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00099.html>.
9264         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
9265         work also in C++ before C++11, as that improperly inhibits
9266         generating a substitute stdint.h for that case.
9267
9268 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
9269
9270         alloca: protect comment from gnulib-tool
9271         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
9272         that gnulib-tool doesn't think it's a license, and munge it to
9273         say "GCC version 3".
9274
9275 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
9276
9277         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
9278         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
9279         $(abs_top_builddir) instead of $(top_builddir).
9280
9281 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
9282
9283         strftime-tests: also test nanoseconds
9284         * tests/test-strftime.c (T): Add a test of %N.
9285
9286 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
9287
9288         inttypes, stdint: add C++11 support
9289         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
9290         when including inttypes.h and stdint.h.  Support this change to
9291         the standard.
9292         * doc/posix-headers/inttypes.texi (inttypes.h):
9293         * doc/posix-headers/stdint.texi (stdint.h): Document this.
9294         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
9295         Define if not defined already, for the benefit of pre-C++11 hosts.
9296         Define the standard format macros (e.g., PRId8) always.
9297         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
9298         Likewise, if __cpluspus.  Define the standard constant and limit
9299         macros (e.g., INT8_C, INT8_MAX) always.
9300         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
9301         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
9302         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
9303         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
9304         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
9305         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
9306         Likewise.
9307
9308 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
9309
9310         nonblocking tests: Fix test failure on Linux/PPC.
9311         Suggested by Prerna Saxena in
9312         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00080.html>.
9313         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
9314         Set to 1100000.
9315
9316 2011-12-12  Jim Meyering  <meyering@redhat.com>
9317
9318         argmatch: don't hard-code `' when listing valid option arguments
9319         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
9320         use the quote function to add quotes.  Use fputs rather than
9321         fprintf for the format string with no format directive.
9322
9323 2011-12-07  Eric Blake  <eblake@redhat.com>
9324
9325         bootstrap: detect tools required by gnulib-tool
9326         * build-aux/bootstrap (buildreq): Provide minimum implicit
9327         dependencies.
9328         * DEPENDENCIES: Mention patch as a prereq.
9329
9330 2011-12-04  Bruno Haible  <bruno@clisp.org>
9331
9332         sethostname: Port to Windows platforms.
9333         * lib/sethostname.c: Provide an alternate implementation for Windows
9334         platforms.
9335         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
9336         (main): Skip the test if sethostname() fails with EPERM. On Windows
9337         platforms, don't check the result of gethostname().
9338
9339 2011-12-04  Bruno Haible  <bruno@clisp.org>
9340             Jim Meyering  <meyering@redhat.com>
9341
9342         tests: Avoid spurious error message on platforms without mktemp program.
9343         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
9344
9345 2011-12-04  Bruno Haible  <bruno@clisp.org>
9346
9347         sethostname: Fix documentation.
9348         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
9349         "not fixed" section.
9350
9351 2011-12-03  Bruno Haible  <bruno@clisp.org>
9352
9353         gnulib-tool: Verify that the License field is present and non-empty.
9354         * gnulib-tool (func_get_license_raw): New function, extracted from
9355         func_get_license.
9356         (func_get_license): Use it. Warn if the module is not a test module and
9357         has no license.
9358         Suggested by Jim Meyering.
9359
9360 2011-12-03  Bruno Haible  <bruno@clisp.org>
9361
9362         sethostname tests: Fix link error on mingw.
9363         * tests/test-sethostname1.c: New file, extracted from
9364         tests/test-sethostname.c.
9365         * tests/test-sethostname2.c: New file, extracted from
9366         tests/test-sethostname.c.
9367         * tests/test-sethostname.c: Remove file.
9368         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
9369         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
9370         (Depends-on): Add gethostname.
9371         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
9372         Link the latter with $(GETHOSTNAME_LIB).
9373
9374         sethostname tests: Fix compilation error on mingw.
9375         * tests/test-sethostname.c: Don't include <sys/types.h>.
9376         (geteuid): Use a dummy value without uid_t.
9377         * modules/sethostname-tests (Depends-on): Remove sys_types.
9378
9379         sethostname tests: Avoid a gcc warning.
9380         * tests/test-sethostname.c (main): Remove an unused variable.
9381
9382         Tweak last commit.
9383         * modules/sethostname-tests (Files): Sort by decreasing importance.
9384         (configure.ac): Check for geteuid.
9385         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
9386         the test when there's nothing to test. Drop an unnecessary cast.
9387         Improve an error message. Verify that the final sethostname() call
9388         succeeds.
9389
9390 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
9391
9392         Add a test suite for the sethostname module.
9393         * modules/sethostname-tests: New file.  A test program
9394         for the sethostname module.
9395         * tests/test-sethostname.c: Likewise.
9396
9397 2011-12-03  Bruno Haible  <bruno@clisp.org>
9398
9399         Tweak last commit.
9400         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
9401         Fix preprocessor directives indentation. Fix typos.
9402         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
9403         * modules/unistd (Makefile): Likewise.
9404
9405 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
9406
9407         Integrate the sethostname module into unistd.
9408         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
9409         into the unistd.h header.
9410         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
9411         preprocessor directives.
9412         * modules/unistd: Setup the Makefile substitutions of the
9413         SETHOSTNAME preprocessor directives.
9414
9415 2011-12-03  Bruno Haible  <bruno@clisp.org>
9416
9417         Tweak last commit.
9418         * lib/sethostname.c: Don't include <string.h>.
9419         (sethostname): No need to copy the argument string to the stack. Don't
9420         call clearerr. Preserve errno when fprintf failed.
9421         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
9422         Don't invoke AC_REPLACE_FUNCS.
9423         * modules/sethostname (Link): Remove empty section.
9424         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
9425         failure problem.
9426
9427 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
9428
9429         New module 'sethostname'.
9430         * lib/sethostname.c (sethostname): New file.  Provide sethostname
9431         for systems that lack it.
9432         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
9433         sethostname declaration and function.
9434         * modules/sethostname: New file.  Define the sethostname module.
9435
9436 2011-12-03  Bruno Haible  <bruno@clisp.org>
9437
9438         Tweak last commit.
9439         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
9440
9441 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
9442
9443         Split the HOST_NAME_MAX detection into a separate m4 macro.
9444         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
9445         macro so it can be used by the pending sethostname module.
9446
9447 2011-12-03  Bruno Haible  <bruno@clisp.org>
9448
9449         Fix module descriptions syntax.
9450         * modules/argv-iter (License): Fix syntax.
9451         * modules/di-set (License): Likewise.
9452         * modules/ino-map (License): Likewise.
9453         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
9454
9455 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
9456
9457         stdalign: port to Clang 3.0
9458         Problem reported by Simon Josefsson in
9459         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00005.html>.
9460         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
9461         which has <stdalign.h> but which does not define alignof.
9462         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
9463
9464 2011-12-01  Eric Blake  <eblake@redhat.com>
9465
9466         mktempd: silence dd usage
9467         * build-aux/mktempd (rand_bytes): Silence dd.
9468
9469 2011-11-30  Simon Josefsson  <simon@josefsson.org>
9470
9471         manywarnings: Don't mention gcc version in docstring.
9472         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
9473         Jim Meyering <meyering@redhat.com>.
9474
9475 2011-11-30  Jim Meyering  <meyering@redhat.com>
9476
9477         hash: mark a few floating point constants with "f" suffix
9478         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
9479         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
9480         floating point constants with "f", since they're destined to be
9481         saved/used as "float"s.
9482
9483 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
9484
9485         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
9486         * tests/test-float.c (test_long_double): Correct and re-enable the
9487         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
9488
9489 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
9490
9491         Avoid subtracting two pointers that don't point into the same block.
9492         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
9493         only pointers into the same memory block are subtracted. We cannot
9494         assume that sizeof (ptrdiff_t) == sizeof (void *).
9495
9496 2011-11-29  Eric Blake  <eblake@redhat.com>
9497
9498         maint.mk: add syntax check for use of compare from init.sh
9499         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
9500         moved here from coreutils.
9501
9502         manywarnings: drop -Wunsuffixed-float-constants
9503         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
9504         '1.0D', which is the only way to silence this warning for 'double'.
9505
9506 2011-11-29  Jim Meyering  <meyering@redhat.com>
9507
9508         hash: mark compute_bucket_size with the pure attribute
9509         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
9510
9511         quotearg, propername: correct pragma guard expression
9512         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
9513         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
9514
9515 2011-11-28  Jim Meyering  <meyering@redhat.com>
9516
9517         propername: do not mark proper_name with the const attribute
9518         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
9519         since it examines data pointed to by its parameter.
9520         * lib/propername.c (proper_name): Instead, add a pragma to suppress
9521         the suggestion from -Wsuggest-attribute=const.
9522
9523         propername: mark one more function as const
9524         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
9525
9526 2011-11-27  Jim Meyering  <meyering@redhat.com>
9527
9528         mark functions with const and pure attributes
9529
9530         Mark functions per suggestions from gcc-4.6 when using these options:
9531         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
9532         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
9533         Follow these guidelines: when possible, apply the attribute to
9534         an extern declaration, not to its definition.  Apply it to the
9535         definition only when the definition is static.
9536         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
9537         * lib/argv-iter.h (argv_iter_n_args): Likewise.
9538         * lib/base64.h (isbase64): Likewise.
9539         * lib/basename-lgpl.c (last_component, base_len): Likewise.
9540         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
9541         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
9542         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
9543         (c_tolower, c_toupper): Likewise.
9544         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
9545         * lib/chdir-long.c (find_non_slash): Likewise.
9546         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
9547         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
9548         * lib/file-type.h (file_type): Likewise.
9549         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
9550         * lib/filevercmp.c (verrevcmp): Likewise.
9551         * lib/freadahead.h (freadahead): Likewise.
9552         * lib/fts.c (fts_maxarglen): Likewise.
9553         * lib/hash-pjw.h (hash_pjw): Likewise.
9554         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
9555         * lib/hash.c (is_prime, next_prime): Likewise.
9556         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
9557         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
9558         (hash_table_ok, hash_get_first, hash_string): Likewise.
9559         (compute_bucket_size): Likewise.
9560         * lib/i-ring.h (i_ring_empty): Likewise.
9561         * lib/isnan.c (isnanl): Likewise.
9562         * lib/math.h (isnanl, rpl_isnanl): Likewise.
9563         * lib/memcasecmp.h (memcasecmp): Likewise.
9564         * lib/memchr2.h (memchr2): Likewise.
9565         * lib/memcmp2.h (memcmp2): Likewise.
9566         * lib/parse-datetime.y (lookup_zone): Likewise.
9567         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
9568         [!WINDOWS_SOCKETS]: Likewise.
9569         * lib/strnlen1.h (strnlen1): Likewise.
9570         * lib/uniwidth.in.h (uc_width): Likewise.
9571         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
9572         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
9573         (quoting_options_from_style): Add a comment.
9574         * lib/propername.h (proper_name): Add a comment.
9575
9576 2011-11-27  Bruno Haible  <bruno@clisp.org>
9577
9578         Remove unused macros from !_LIBC code in glibc-borrowed files.
9579         * lib/fnmatch.c (STRCOLL): Remove macro.
9580         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
9581         * lib/glob.c (__stat, __readdir64): Remove macros.
9582         * lib/tempname.c (__open64, __xstat64): Remove macros.
9583         Suggested by Paul Eggert.
9584
9585 2011-11-27  Bruno Haible  <bruno@clisp.org>
9586
9587         getcwd: Fix link error on MSVC 9.
9588         * modules/getcwd (Depends-on): Add readdir, rewinddir.
9589
9590 2011-11-27  Bruno Haible  <bruno@clisp.org>
9591
9592         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
9593         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
9594         HAVE_OPENDIR is 0.
9595         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
9596         HAVE_CLOSEDIR is 0.
9597         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
9598         is 0.
9599         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
9600
9601 2011-11-27  Bruno Haible  <bruno@clisp.org>
9602
9603         getcwd: Fix bug from 2011-08-17.
9604         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
9605         platforms that need it.
9606         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
9607         code of 4 to be a failure, not a success. This ensures that
9608         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
9609
9610 2011-11-27  Bruno Haible  <bruno@clisp.org>
9611
9612         binary-io tests: Avoid test failure on mingw when libtool is used.
9613         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
9614         Don't verify the size of t-bin-out1.tmp here.
9615         * tests/test-binary-io.sh: Verify it here.
9616         Reported by Simon Josefsson.
9617
9618 2011-11-26  Bruno Haible  <bruno@clisp.org>
9619
9620         Fix conflict between two instantiations of module 'unistd'.
9621         * gnulib-tool (func_emit_autoconf_snippet): Substitute
9622         ${include_guard_prefix} also in the autoconf snippet.
9623         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
9624         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
9625         GNULIB_UNISTD_H_GETOPT.
9626         * modules/getopt-posix (configure.ac): Set the
9627         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
9628         * modules/getopt-gnu (configure.ac): Likewise.
9629         * modules/unistd (Makefile.am): Change the substitution value of
9630         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
9631         Reported by Simon Josefsson.
9632
9633 2011-11-25  Bruno Haible  <bruno@clisp.org>
9634
9635         pagealign_alloc: Doc and comments.
9636         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
9637         module.
9638         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
9639
9640 2011-11-25  Jim Meyering  <meyering@redhat.com>
9641
9642         test-update-copyright.sh: avoid false-positive failure
9643         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
9644         around false positive failure on Cygwin/Windows.  The latter was
9645         matching erroneously-created files with names like
9646         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
9647
9648 2011-11-25  Simon Josefsson  <simon@josefsson.org>
9649
9650         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
9651         * m4/valgrind-tests.m4: Check that the parameters that will be
9652         used works, not just a subset of them.  Reported by Bruno Haible
9653         <bruno@clisp.org>.
9654
9655 2011-11-24  Jim Meyering  <meyering@redhat.com>
9656
9657         test-stdalign.c: comment out long double tests
9658         * tests/test-stdalign.c: Don't try to reduce alignment of long double
9659         variables.  That provokes errors like this from gcc-4.7.0 20111124:
9660         error: '_Alignas' specifiers cannot reduce alignment of \
9661         'static_longdouble_alignas'.
9662
9663 2011-11-22  Jim Meyering  <meyering@redhat.com>
9664
9665         init.sh: make "compare /dev/null FILE" output more readable
9666         * tests/init.sh (compare_): Document the preferred order of arguments.
9667         (emit_diff_u_header_): New function.
9668         (compare_dev_null_): Emit a simulated diff, rather than just the
9669         contents of the unexpected file.  Suggestion from Bruno Haible.
9670
9671 2011-11-21  Jim Meyering  <meyering@redhat.com>
9672             Eric Blake  <eblake@redhat.com>
9673
9674         init.sh: work around OSF/1 5.1's mishandling of /dev/null
9675         * tests/init.sh: Make our compare function slightly more portable.
9676         Reported by Bruno Haible in
9677         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
9678
9679 2011-11-21  Simon Josefsson  <simon@josefsson.org>
9680
9681         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
9682         before using it, in code that ends up in config.h.
9683
9684 2011-11-20  Bruno Haible  <bruno@clisp.org>
9685
9686         getcwd: Work around getcwd bug on AIX 5..7.
9687         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
9688         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
9689         Use a different value for gl_cv_func_getcwd_path_max. Move the
9690         definition of HAVE_PARTLY_WORKING_GETCWD from here...
9691         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
9692         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
9693         Define HAVE_MINIMALLY_WORKING_GETCWD.
9694         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
9695         where it is not even minimally working, that is, on AIX.
9696         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
9697         m4/getcwd-path-max.m4.
9698         (main): Update exit code computation.
9699         * doc/posix-functions/getcwd.texi: Mention list of platforms where
9700         getcwd does not handle long file names.
9701
9702 2011-11-20  Bruno Haible  <bruno@clisp.org>
9703
9704         getcwd: Fix bug from 2009-09-10.
9705         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
9706         like "no".
9707
9708 2011-11-20  Simon Josefsson  <simon@josefsson.org>
9709
9710         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
9711
9712 2011-11-20  Bruno Haible  <bruno@clisp.org>
9713
9714         fma tests: Avoid shadowing local variables.
9715         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
9716         expected.
9717
9718 2011-11-20  Bruno Haible  <bruno@clisp.org>
9719
9720         copysignf tests: Fix.
9721         * tests/test-copysignf.c: Fix signature check.
9722
9723 2011-11-20  Bruno Haible  <bruno@clisp.org>
9724
9725         fma: Remove unused code.
9726         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
9727         unused macros.
9728
9729 2011-11-20  Bruno Haible  <bruno@clisp.org>
9730
9731         sethostname: Fix doc about AIX.
9732         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
9733         sethostname; it has it.
9734
9735         sethostname: Mention more portability problems.
9736         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
9737         problem.
9738         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
9739
9740 2011-11-19  Bruno Haible  <bruno@clisp.org>
9741
9742         Depend on module fcntl-h when AT_FDCWD is used.
9743         * modules/utimens (Depends-on): Add fcntl-h.
9744         * modules/areadlinkat (Depends-on): Likewise.
9745         * modules/areadlinkat-with-size (Depends-on): Likewise.
9746         * modules/faccessat (Depends-on): Likewise.
9747         * modules/fchmodat (Depends-on): Likewise.
9748         * modules/fchownat (Depends-on): Likewise.
9749         * modules/getcwd (Depends-on): Likewise.
9750         * modules/mkdirat (Depends-on): Likewise.
9751         * modules/mkfifoat (Depends-on): Likewise.
9752         * modules/readlinkat (Depends-on): Likewise.
9753         * modules/symlinkat (Depends-on): Likewise.
9754         * modules/dup2-tests (Depends-on): Likewise.
9755         * modules/fdutimensat-tests (Depends-on): Likewise.
9756         * modules/futimens-tests (Depends-on): Likewise.
9757
9758 2011-11-19  Bruno Haible  <bruno@clisp.org>
9759
9760         euidaccess: Update a comment.
9761         * lib/euidaccess.c: Update comment about platforms with faccessat.
9762
9763 2011-11-19  Bruno Haible  <bruno@clisp.org>
9764
9765         openat: Fix file list.
9766         * modules/openat (Files): Remove lib/at-func.c.
9767
9768 2011-11-19  Bruno Haible  <bruno@clisp.org>
9769
9770         fstatat: Simplify.
9771         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
9772         gnulib should define rpl_fstatat, there is a
9773         "#define fstatat rpl_fstatat" in <sys/stat.h>.
9774
9775 2011-11-19  Bruno Haible  <bruno@clisp.org>
9776
9777         Ensure 'inline' can be used in tests/test-utimens-common.h.
9778         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
9779         * modules/futimens-tests (configure.ac): Likewise.
9780         * modules/utimens-tests (configure.ac): Likewise.
9781         * modules/utimensat-tests (configure.ac): Likewise.
9782
9783 2011-11-19  Simon Josefsson  <simon@josefsson.org>
9784
9785         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
9786         not hash_insert0.
9787         (hash_insert_if_absent): Doc fix.
9788
9789 2011-11-19  Simon Josefsson  <simon@josefsson.org>
9790
9791         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
9792
9793 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
9794
9795         test-getcwd: disambiguate exit status
9796         * tests/test-getcwd.c (test_long_name): Return 0..7.
9797         (main): Exit with an unambiguous exit status.  The old
9798         code yielded a mysterious mixture of two failure codes.
9799
9800         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
9801         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
9802         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
9803         rpl_fstatat or fstatat.  This should fix the other problem
9804         reported by Kai Habel in
9805         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
9806         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
9807         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00239.html>
9808         and I reproduced it on a Solaris 8 host we still have in production.
9809
9810 2011-11-18  Jim Meyering  <meyering@redhat.com>
9811
9812         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
9813         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
9814         Add a sentence to the comment.
9815         (hash_insert0): New function that simply calls hash_insert_if_absent.
9816         * lib/hash.h (hash_insert_if_absent): Declare it.
9817         (hash_insert0): Add deprecation attribute.
9818         (_GL_ATTRIBUTE_DEPRECATED): Define.
9819         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
9820         not hash_insert0.
9821         * NEWS: Mention it, even though it's not really an incompatible change.
9822
9823 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
9824
9825         openat: avoid compilation failure due to lack of <errno.h> inclusion
9826         * lib/openat.c: Include <errno.h>.
9827
9828 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
9829
9830         * modules/getcwd (Depends-on): Add fdopendir.
9831         This fixes one of the two problems reported by Kai Habel in
9832         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
9833
9834         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
9835         stdalign problem reported by Ian Beckwith in
9836         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00238.html>.
9837         * modules/crypto/gc-arcfour (Depends-on):
9838         Depend conditionally on crypto/arcfour.
9839         * modules/crypto/gc-arctwo (Depends-on):
9840         Depend conditionally on crypto/arctwo.
9841         * modules/crypto/gc-des (Depends-on):
9842         Depend conditionally on crypto/des.
9843         * modules/crypto/gc-hmac-md5 (Depends-on):
9844         Depend conditionally on crypto/hmac-md5.
9845         * modules/crypto/gc-hmac-sha1 (Depends-on):
9846         Depend conditionally on crypto/hmac-sha1.
9847         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
9848         * modules/crypto/gc-md4 (Depends-on):
9849         Depend conditionally on crypto/md4.
9850         * modules/crypto/gc-md5 (Depends-on):
9851         Depend conditionally on crypto/md5.
9852         * modules/crypto/gc-rijndael (Depends-on):
9853         Depend conditionally on crypto/rijndael.
9854         * modules/crypto/gc-sha1 (Depends-on):
9855         Depend conditionally on crypto/sha1.
9856         * modules/crypto/gc-arcfour:
9857         * modules/crypto/gc-arctwo:
9858         * modules/crypto/gc-des:
9859         * modules/crypto/gc-hmac-md5:
9860         * modules/crypto/gc-hmac-sha1:
9861         * modules/crypto/gc-md2:
9862         * modules/crypto/gc-md4:
9863         * modules/crypto/gc-md5:
9864         * modules/crypto/gc-rijndael:
9865         * modules/crypto/gc-sha1:
9866         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
9867         now that the conditional dependencies do the work for us.
9868
9869 2011-11-17  Jim Meyering  <meyering@redhat.com>
9870
9871         tests: factor st_ctime-comparison out of two headers
9872         * tests/test-utimens-common.h (ctime_compare): Define.
9873         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
9874         * tests/test-lutimens.h (test_lutimens): Likewise.
9875         * tests/test-utimens.h (test_utimens): Likewise.
9876
9877         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
9878         Invoke the test program via an init.sh-using wrapper.
9879         * tests/test-getcwd.sh: New file.
9880         * modules/getcwd-tests (Files): Add it.
9881         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
9882
9883 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
9884
9885         gitlog-to-changelog: support multi-author commits.
9886         The FSF cares about keeping track of all authors of patches to its
9887         projects, but Git doesn't provide obvious support for multi-author
9888         changesets. Consensus seems to be forming around the use of extra
9889         Signed-off-by inspired lines in the log message formatted as
9890         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
9891         multi-author commits between version control systems.
9892         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
9893         log message and output in standard ChangeLog multi-author format.
9894         Reported by Peter Rosin <peda@lysator.liu.se>
9895
9896 2011-11-15  Ben Walton <bwalton@artsci.utoronto.ca>  (tiny change)
9897             Bruno Haible  <bruno@clisp.org>
9898
9899         Fix some modules' file list.
9900         * modules/fstatat (Files): Add m4/lstat.m4.
9901         * modules/openat (Files): Likewise.
9902         * modules/unlinkat (Files): Likewise.
9903
9904 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
9905
9906         maint.mk: fix tight-scope.mk generation in VPATH builds.
9907         * top/maint.mk (tight-scope.mk): Make sure to prefix file
9908         reference with $(srcdir) so that the file is found correctly even
9909         when running `make syntax-check' in a VPATH build.
9910
9911 2011-11-13  Bruno Haible  <bruno@clisp.org>
9912             Jim Meyering  <meyering@redhat.com>
9913
9914         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
9915         * tests/init.sh (compare): Remove "No differences encountered" or
9916         synonymous output from the 'diff' program.
9917
9918 2011-11-13  Bruno Haible  <bruno@clisp.org>
9919
9920         Makefile: Tweak indentation.
9921         * Makefile: Use tab as first character in every line that contains rule
9922         commands.
9923
9924 2011-11-13  Bruno Haible  <bruno@clisp.org>
9925
9926         Syntax check for copyright statements.
9927         * check-copyright: New file.
9928         * Makefile (sc_check_copyright): New rule.
9929
9930 2011-11-13  Simon Josefsson  <simon@josefsson.org>
9931
9932         * build-aux/git-version-gen: Add --prefix to configure the tag
9933         match string.
9934
9935 2011-11-13  Simon Josefsson  <simon@josefsson.org>
9936
9937         * build-aux/git-version-gen: Add --help and --version.
9938
9939 2011-11-12  Jim Meyering  <meyering@redhat.com>
9940
9941         revamp the other test-exclude?.sh scripts to use init.sh, too
9942         * tests/test-exclude1.sh: Use init.sh.
9943         * tests/test-exclude2.sh: Likewise.
9944         * tests/test-exclude3.sh: Likewise.
9945         * tests/test-exclude4.sh: Likewise.
9946         * tests/test-exclude5.sh: Likewise.
9947         * tests/test-exclude6.sh: Likewise.
9948         * tests/test-exclude7.sh: Likewise.
9949         * tests/test-exclude8.sh: Likewise.
9950         * modules/exclude-tests (Files): List init.sh.
9951
9952         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
9953         These shell scripts ignored failure of the binary test-exclude,
9954         so making the latter return 77 didn't cause them to be skipped.
9955         * tests/test-exclude5.sh: Exit with test-exclude's error status
9956         when that program fails.  Revamp to use init.sh.
9957         * tests/test-exclude2.sh: Likewise.
9958
9959         test-exclude: fix a typo
9960         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
9961
9962 2011-11-11  Bruno Haible  <bruno@clisp.org>
9963
9964         obstack: Fix compilation error on MSVC 9.
9965         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
9966
9967 2011-11-11  Jim Meyering  <meyering@redhat.com>
9968
9969         test-exclude: skip tests rather than failing on deficient systems
9970         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
9971         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
9972         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
9973         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
9974
9975 2011-11-10  Bruno Haible  <bruno@clisp.org>
9976
9977         ptsname_r test: Avoid gcc warning on glibc systems.
9978         * tests/test-ptsname_r.c (null_ptr): New function.
9979         (test_errors): Use it.
9980
9981 2011-11-10  Bruno Haible  <bruno@clisp.org>
9982
9983         ptsname_r: Avoid compilation error on OSF/1 5.1.
9984         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
9985         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
9986         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
9987         function is not declared or incompatibly declared.
9988         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
9989         * modules/ptsname_r (Depends-on, configure.ac): Update.
9990         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
9991
9992 2011-11-10  Bruno Haible  <bruno@clisp.org>
9993
9994         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
9995         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
9996         When cross-compiling, guess yes on all platforms except AIX.
9997         Reported by Ludovic Courtès <ludo@gnu.org>.
9998
9999 2011-11-09  Bruno Haible  <bruno@clisp.org>
10000
10001         ptsname_r tests: Fix bugs.
10002         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
10003         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
10004
10005 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
10006
10007         fstatat: work with cross-compilation
10008         Problem reported by Ludovic Courtès in
10009         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00136.html>.
10010         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
10011         "cross-compiling" and assume the bug is present.  Replace
10012         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
10013         an inverted sense, to be more conservative about our assumptions.
10014         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
10015
10016 2011-11-09  Bruno Haible  <bruno@clisp.org>
10017
10018         Improve MODULES.html output.
10019         * modules/mkfifoat (Description): Use the word "function".
10020         * modules/readlinkat (Description): Likewise.
10021         * modules/symlinkat (Description): Likewise.
10022
10023 2011-11-09  Eric Blake  <eblake@redhat.com>
10024
10025         ptsname_r-tests: new test module
10026         * modules/ptsname_r-tests: New module.
10027         * tests/test-ptsname_r.c: New file.
10028
10029         ptsname_r: new module
10030         * modules/ptsname_r: New module.
10031         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
10032         * lib/ptsname.c (__ptsname_r): Split...
10033         * lib/ptsname_r.c: ...into new file.
10034         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
10035         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
10036         * modules/stdlib (Makefile.am): Substitute witnesses.
10037         * lib/stdlib.in.h (ptsname_r): Declare it.
10038         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
10039         * MODULES.html.sh (Misc): Likewise.
10040         * modules/ptsname (Depends-on): Alter dependency.
10041         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
10042
10043 2011-11-09  Jim Meyering  <meyering@redhat.com>
10044
10045         announce-gen: be more concise when there's only one URL+tarball
10046         * build-aux/announce-gen (get_tool_versions): When you distribute
10047         only one type of tarball, combine the first two "Here are..."
10048         sections and make the key-checking grammar independent of
10049         how many tarballs there are.
10050
10051 2011-11-09  Eric Blake  <eblake@redhat.com>
10052
10053         openpty: provide a stub on mingw
10054         * lib/pty.in.h (includes): Provide forward declarations.
10055         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
10056
10057         raise: fix mingw handling of SIGPIPE
10058         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
10059
10060 2011-11-08  Bruno Haible  <bruno@clisp.org>
10061
10062         More conditional dependencies.
10063         * modules/faccessat (Depends-on): Add conditions.
10064         * modules/fchmodat (Depends-on): Likewise.
10065         * modules/fchownat (Depends-on): Likewise.
10066         * modules/fstatat (Depends-on): Likewise.
10067         * modules/mkfifoat (Depends-on): Likewise.
10068         * modules/readlinkat (Depends-on): Likewise.
10069         * modules/symlinkat (Depends-on): Likewise.
10070         * modules/unlinkat (Depends-on): Likewise.
10071         * modules/utimensat (Depends-on): Likewise.
10072         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
10073         * modules/linkat (Depends-on): Refine the conditions.
10074         * modules/renameat (Depends-on): Likewise.
10075
10076 2011-11-08  Bruno Haible  <bruno@clisp.org>
10077
10078         faccessat: Move AC_LIBOBJ invocation to module description.
10079         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
10080         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
10081         invocation from here...
10082         * modules/faccessat (configure.ac): ... to here. Invoke
10083         gl_PREREQ_FACCESSAT.
10084
10085 2011-11-08  Bruno Haible  <bruno@clisp.org>
10086
10087         faccessat: Simplify autoconf macro.
10088         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
10089         gl_FUNC_EUIDACCESS.
10090
10091 2011-11-08  Bruno Haible  <bruno@clisp.org>
10092
10093         renameat: Fix dependencies.
10094         * modules/renameat (Depends-on): Add stdbool.
10095
10096 2011-11-08  Bruno Haible  <bruno@clisp.org>
10097
10098         mkfifoat: Fix module description.
10099         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
10100         not gl_UNISTD_MODULE_INDICATOR.
10101
10102 2011-11-08  Bruno Haible  <bruno@clisp.org>
10103
10104         fstatat: Remove unused dependency.
10105         * modules/fstatat (Depends-on): Remove fstat.
10106
10107 2011-11-08  Simon Josefsson  <simon@josefsson.org>
10108
10109         GNUmakefile: behave when Makefile is missing.
10110         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
10111
10112 2011-11-08  Bruno Haible  <bruno@clisp.org>
10113
10114         openat: Conditionalize dependencies.
10115         * lib/openat.c: Reduce the scope of some #includes.
10116         * modules/openat (Depends-on): Add conditions.
10117
10118 2011-11-07  Jim Meyering  <meyering@redhat.com>
10119
10120         maint.mk: extract GPG key ID without using a temporary file
10121         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
10122         without using a temporary file.  Based on a suggestion from Werner Koch
10123         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
10124
10125 2011-11-07  Eric Blake  <eblake@redhat.com>
10126
10127         grantpt: fix typo
10128         * lib/stdlib.in.h (grantpt): Check correct function.
10129
10130         maint.mk: silence new syntax check
10131         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
10132
10133 2011-11-06  Bruno Haible  <bruno@clisp.org>
10134
10135         Doc about floating-point and math API.
10136         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
10137         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
10138
10139 2011-11-06  Bruno Haible  <bruno@clisp.org>
10140
10141         stdalign tests: Skip the test when compiled by Sun C.
10142         * tests/test-stdalign.c (main): Skip the test on Sun C.
10143
10144 2011-11-06  Bruno Haible  <bruno@clisp.org>
10145
10146         ansi-c++-opt: Complete the 2011-06-05 change.
10147         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
10148         does not support namespaces, set the variable to "no", not to ":".
10149
10150 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
10151
10152         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
10153
10154 2011-11-06  Bruno Haible  <bruno@clisp.org>
10155
10156         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
10157         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
10158         (minus_zerol) [HP-UX]: New macro.
10159         (unary_minus) [HP-UX]: New function.
10160         (copysignl) [HP-UX]: Use unary_minus function.
10161
10162 2011-11-06  Bruno Haible  <bruno@clisp.org>
10163
10164         ldexp, ldexpf, ldexpl: Enhance tests.
10165         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
10166         and tests/test-ldexpl.c.
10167         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
10168         LDEXP, MIN_EXP, MAX_EXP): New macros.
10169         Include test-ldexp.h.
10170         (main): Just call test_function.
10171         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
10172         infinity.h, nan.h.
10173         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
10174         MAX_EXP): New macros.
10175         Include test-ldexp.h.
10176         (x, y): Remove variables.
10177         (main): Just call test_function.
10178         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
10179         infinity.h, nan.h.
10180         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
10181         MAX_EXP): New macros.
10182         Include test-ldexp.h.
10183         (x, y): Remove variables.
10184         (main): Just call test_function.
10185         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
10186         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
10187         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
10188         (Depends-on): Add isnand-nolibm, signbit, float.
10189         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
10190         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
10191         (Depends-on): Add isnanf-nolibm, signbit, float.
10192
10193 2011-11-06  Bruno Haible  <bruno@clisp.org>
10194
10195         math tests: Cosmetics.
10196         * tests/test-math-c++.cc: Reorder declarations.
10197
10198 2011-11-05  Bruno Haible  <bruno@clisp.org>
10199
10200         fma*: Simplify test.
10201         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
10202         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
10203
10204         Tests for module 'fmal'.
10205         * modules/fmal-tests: New file.
10206         * tests/test-fmal1.c: New file.
10207         * tests/test-fmal2.c: New file.
10208
10209         New module 'fmal'.
10210         * lib/math.in.h (fmal): New declaration.
10211         * lib/fmal.c: New file.
10212         * m4/fmal.m4: New file.
10213         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
10214         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
10215         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
10216         REPLACE_FMAL.
10217         * modules/fmal: New file.
10218         * doc/posix-functions/fmal.texi: Mention the new module and the various
10219         bugs.
10220
10221         Tests for module 'fmaf'.
10222         * modules/fmaf-tests: New file.
10223         * tests/test-fmaf1.c: New file.
10224         * tests/test-fmaf2.c: New file.
10225
10226         New module 'fmaf'.
10227         * lib/math.in.h (fmaf): New declaration.
10228         * lib/fmaf.c: New file.
10229         * m4/fmaf.m4: New file.
10230         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
10231         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
10232         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
10233         REPLACE_FMAF.
10234         * modules/fmaf: New file.
10235         * doc/posix-functions/fmaf.texi: Mention the new module and the various
10236         bugs.
10237
10238         Tests for module 'fma'.
10239         * modules/fma-tests: New file.
10240         * tests/test-fma1.c: New file.
10241         * tests/test-fma1.h: New file.
10242         * tests/test-fma2.c: New file.
10243         * tests/test-fma2.h: New file.
10244
10245         New module 'fma'.
10246         * lib/math.in.h (fma): New declaration.
10247         * lib/fma.c: New file.
10248         * m4/fma.m4: New file.
10249         * m4/fegetround.m4: New file.
10250         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
10251         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
10252         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
10253         REPLACE_FMA.
10254         * modules/fma: New file.
10255         * doc/posix-functions/fma.texi: Mention the new module and the various
10256         bugs.
10257
10258         Extend gl_MATHFUNC.
10259         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
10260         Support 'void' as argument type.
10261         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
10262
10263 2011-11-05  Jim Meyering  <meyering@redhat.com>
10264
10265         maint.mk: also prohibit inclusion of dirent.h without use
10266         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
10267
10268 2011-11-05  Bruno Haible  <bruno@clisp.org>
10269
10270         ldexpl tests: Avoid test failure on MSVC 9.
10271         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
10272         value. Needed in order to enforce the conversion from a value greater
10273         than LDBL_MAX to Infinity.
10274
10275 2011-11-05  Bruno Haible  <bruno@clisp.org>
10276
10277         New modules 'at-internal', 'openat-h', split off from module 'openat'.
10278         * modules/at-internal: New file, extracted from modules/openat.
10279         * modules/openat-h: New file.
10280         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
10281         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
10282         * modules/openat (Description): Add reference to POSIX function.
10283         (Files): Remove lib/openat.h, lib/openat-proc.c.
10284         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
10285         intprops, unistd.
10286         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
10287         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
10288         gl_FCNTL_MODULE_INDICATOR.
10289         (Include): Remove unistd.h, openat.h.
10290         * modules/areadlinkat (Files): Add lib/at-func.c.
10291         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
10292         openat-die, openat-h, save-cwd.
10293         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
10294         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
10295         openat-die, openat-h, save-cwd, unistd.
10296         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
10297         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
10298         openat-h, save-cwd. Remove fcntl-h, openat.
10299         * modules/fchmodat (Files): Remove lib/openat.h.
10300         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
10301         openat, stdbool, unistd.
10302         * modules/fchownat (Files): Remove lib/openat.h.
10303         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
10304         openat, stdbool, sys_stat.
10305         * modules/fdopendir (Files): Remove lib/openat-priv.h,
10306         lib/openat-proc.c.
10307         (Depends-on): Add at-internal.
10308         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
10309         * modules/fstatat (Files): Remove lib/openat.h.
10310         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
10311         stdbool, unistd.
10312         * modules/fts (Depends-on): Add openat-h.
10313         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
10314         openat.
10315         * modules/mkdirat (Files): Remove lib/openat.h.
10316         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
10317         openat, stdbool, sys_stat.
10318         * modules/mkfifoat (Files): Add lib/at-func.c.
10319         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
10320         openat-h, save-cwd. Remove fcntl-h, openat.
10321         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
10322         * modules/readlinkat (Files): Add lib/at-func.c.
10323         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
10324         openat-h, save-cwd. Remove fcntl-h, openat.
10325         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
10326         openat.
10327         * modules/selinux-at (Files): Add lib/at-func.c.
10328         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
10329         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
10330         * modules/symlinkat (Files): Add lib/at-func.c.
10331         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
10332         openat-h, save-cwd. Remove fcntl-h, openat.
10333         * modules/unlinkat (Files): Remove lib/openat.h.
10334         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
10335         stdbool.
10336         * modules/utimensat (Files): Add lib/at-func.c.
10337         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
10338         openat-die, openat-h, save-cwd.
10339         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
10340         * modules/fdutimensat-tests (Depends-on): Add openat.
10341         * modules/fstatat-tests (Depends-on): Add openat-h.
10342         * modules/readlinkat-tests (Depends-on): Add openat.
10343         * modules/symlinkat-tests (Depends-on): Add openat.
10344
10345 2011-11-05  Bruno Haible  <bruno@clisp.org>
10346
10347         openat: Include <stdbool.h>.
10348         * lib/openat.c: Include <stdbool.h>.
10349
10350 2011-11-04  Bruno Haible  <bruno@clisp.org>
10351
10352         fchownat, renameat, unlinkat: Fix dependencies.
10353         * modules/fchownat (Depends-on): Add fstatat.
10354         * modules/renameat (Depends-on): Likewise.
10355         * modules/unlinkat (Depends-on): Likewise.
10356
10357 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
10358
10359         openat: remove direct dependency on dirent
10360         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
10361         and hasn't been needed ever since fdopendir was split into its own
10362         module on 2009-08-31.
10363         * modules/openat (Depends-on): Remove dirent.
10364
10365 2011-11-04  Bruno Haible  <bruno@clisp.org>
10366
10367         renameat: Optimize code size.
10368         * modules/renameat (configure.ac): Don't compile at-func2.c if
10369         REPLACE_RENAMEAT is 1.
10370
10371 2011-11-04  Bruno Haible  <bruno@clisp.org>
10372
10373         openat tests: Fix file list.
10374         * modules/openat-tests (Files): Add tests/test-open.h.
10375
10376 2011-11-04  Bruno Haible  <bruno@clisp.org>
10377
10378         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
10379         * modules/fchmodat (Depends-on): Add openat-die.
10380         * modules/fchownat (Depends-on): Likewise.
10381         * modules/linkat (Depends-on): Likewise.
10382         * modules/renameat (Depends-on): Likewise.
10383         * modules/openat (Depends-on): Add dirent.
10384
10385 2011-11-04  Jim Meyering  <meyering@redhat.com>
10386
10387         at-func*.c: fix comments
10388         * lib/at-func2.c: Correct/improve first-line comment.
10389         * lib/at-func.c: Correct grammar in first-line comment.
10390
10391 2011-11-04  Bruno Haible  <bruno@clisp.org>
10392
10393         New module 'mkdirat', split off from module 'openat'.
10394         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
10395         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
10396         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
10397         * modules/mkdirat: New file, extracted from modules/openat.
10398         * modules/openat (Files): Remove lib/mkdirat.c.
10399         (Depends-on): Remove mkdir.
10400         (configure.ac): Remove AC_LIBOBJ of mkdirat.
10401         (Include): Remove <sys/stat.h>.
10402         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
10403         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
10404         tests/test-mkdir.h.
10405         (Depends-on): Remove ignore-value.
10406         (Makefile.am): Remove rules for test-mkdirat.
10407         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
10408         of module 'openat'.
10409         * NEWS: Mention the change.
10410
10411 2011-11-04  Bruno Haible  <bruno@clisp.org>
10412
10413         closedir: Avoid warning on mingw.
10414         * lib/closedir.c: Include <unistd.h>.
10415
10416 2011-11-04  Bruno Haible  <bruno@clisp.org>
10417
10418         New module 'fstatat', split off from module 'openat'.
10419         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
10420         defined.
10421         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
10422         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
10423         gl_FUNC_FSTATAT.
10424         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
10425         * modules/fstatat: New file, extracted from modules/openat.
10426         * modules/openat (Files): Remove lib/fstatat.c.
10427         (Depends-on): Remove lstat.
10428         (configure.ac): Remove AC_LIBOBJ of fstatat.
10429         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
10430         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
10431         tests/test-lstat.h, tests/test-stat.h.
10432         (Depends-on): Remove getcwd-lgpl.
10433         (Makefile.am): Remove rules for test-fstatat.
10434         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
10435         of module 'openat'.
10436         * NEWS: Mention the change.
10437         * modules/getcwd (Depends-on): Add fstatat.
10438         * modules/linkat (Depends-on): Likewise.
10439         * modules/mkfifoat-tests (Depends-on): Likewise.
10440         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
10441
10442 2011-11-03  Bruno Haible  <bruno@clisp.org>
10443
10444         New module 'unlinkat', split off from module 'openat'.
10445         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
10446         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
10447         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
10448         * modules/unlinkat: New file, extracted from modules/openat. Correct
10449         the dependency conditions.
10450         * modules/openat (Files): Remove lib/unlinkat.c.
10451         (Depends-on): Remove rmdir, unlink.
10452         (configure.ac): Remove AC_LIBOBJ of unlinkat.
10453         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
10454         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
10455         tests/test-rmdir.h, tests/test-unlink.h.
10456         (Depends-on): Remove unlinkdir.
10457         (Makefile.am): Remove rules for test-unlinkat.
10458         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
10459         of module 'openat'.
10460         * NEWS: Mention the change.
10461         * modules/linkat-tests (Depends-on): Add unlinkat.
10462         * modules/mkfifoat-tests (Depends-on): Likewise.
10463         * modules/readlinkat-tests (Depends-on): Likewise.
10464
10465 2011-11-02  Bruno Haible  <bruno@clisp.org>
10466
10467         New module 'fchmodat', split off from module 'openat'.
10468         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
10469         defined.
10470         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
10471         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
10472         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
10473         * modules/fchmodat: New file, extracted from modules/openat.
10474         * modules/openat (Files): Remove lib/fchmodat.c.
10475         (configure.ac): Remove AC_LIBOBJ of fchmodat.
10476         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
10477         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
10478         (Makefile.am): Remove rules for test-fchmodat.
10479         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
10480         of module 'openat'.
10481         * NEWS: Mention the change.
10482
10483 2011-11-02  Jim Meyering  <meyering@redhat.com>
10484
10485         putenv: indent #definition of "environ" to placate cppi
10486         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
10487
10488         gitlog-to-changelog: provide a ChangeLog-repair mechanism
10489         Git logs are often treated as immutable, because editing them
10490         changes the SHA1 checksums of all descendants.  Thus, errors in
10491         git logs tend to stay there forever.  However, when we generate
10492         a ChangeLog file -- typically for distribution -- from that git log,
10493         we can actually make corrections in the generated file.  The key
10494         lies in recording in machine-readable/applicable form the desired
10495         corrections.  See --help for description and an example.
10496         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
10497         (usage): Describe it; alphabetize option descriptions.
10498         (main): Honor the new option, carefully.
10499
10500 2011-11-01  Jim Meyering  <meyering@redhat.com>
10501
10502         gitlog-to-changelog: avoid an infloop
10503         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
10504         that ends up being empty.
10505
10506 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
10507
10508         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
10509         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
10510         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
10511         contains (possibly-quoted) backslashes.  This should avoid
10512         all-too-common shell bugs if COMPLICATED contains backslashes in
10513         the "wrong" places.  Reported by David Evans in
10514         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
10515         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
10516         because we want ASCII ranges.  Is there some reason we don't use
10517         the C locale everywhere in this script?
10518         (func_module, top level): Avoid unwanted pathname expansion when
10519         $repo_url_prefix or $repo_url_suffix_repl contain shell
10520         metacharacters like '?' and '*'.
10521
10522 2011-11-01  Bruno Haible  <bruno@clisp.org>
10523
10524         fchownat: Improve description.
10525         * modules/fchownat (Description): Add link to function.
10526
10527 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
10528
10529         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
10530         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
10531         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
10532         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
10533
10534 2011-11-01  Bruno Haible  <bruno@clisp.org>
10535
10536         alignof: Avoid collision with stdalign module.
10537         * lib/alignof.h (alignof): Remove macro.
10538         * NEWS: Mention the change.
10539         Reported by Paul Eggert.
10540
10541 2011-11-01  Bruno Haible  <bruno@clisp.org>
10542
10543         New module 'fchownat', split off from module 'openat'.
10544         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
10545         defined.
10546         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
10547         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
10548         invoke gl_FUNC_FCHOWNAT.
10549         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
10550         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
10551         * modules/fchownat: New file, extracted from modules/openat.
10552         * modules/openat (Files): Remove lib/fchownat.c.
10553         (Depends-on): Remove lchown.
10554         (configure.ac): Remove AC_LIBOBJ of fchownat.
10555         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
10556         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
10557         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
10558         (Depends-on): Remove mgetgroups, usleep, stat-time.
10559         (configure.ac): Remove test for getegid.
10560         (Makefile.am): Remove rules for test-fchownat.
10561         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
10562         of module 'openat'.
10563         * NEWS: Mention the change.
10564
10565 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
10566
10567         stdalign: port better to MSVC and to Sun C 5.11
10568         This fixes some of the problems reported by Bruno Haible in
10569         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
10570         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
10571         shortcomings of MSVC and of Sun C 5.11.
10572         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
10573         around __declspec arg.
10574         * modules/stdalign-tests (Files): Add tests/macros.h.
10575         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
10576         Include macros.h, for ASSERT.
10577         (DECLARE_ALIGNED): Remove.
10578         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
10579         to catch bug), and to 1 if not (simplifies the rest of the code).
10580         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
10581         (CHECK_AUTO): Remove.
10582         (CHECK_ALIGNED): Check only the alignment of the static vars,
10583         since auto var alignment isn't supported by Sun C 5.11.
10584         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
10585         ASSERT failures are easier to diagnose.
10586
10587 2011-10-31  Bruno Haible  <bruno@clisp.org>
10588
10589         doc about some IRIX 5.3 problems.
10590         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
10591         on IRIX 5.3.
10592         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
10593         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
10594         5.3.
10595         * doc/posix-functions/grantpt.texi: Likewise.
10596         * doc/posix-functions/unlockpt.texi: Likewise.
10597         * doc/posix-functions/lgamma.texi: Likewise.
10598         * doc/posix-functions/nextafter.texi: Likewise.
10599         * doc/posix-functions/remainder.texi: Likewise.
10600         * doc/posix-functions/select.texi: Mention misplaced declaration on
10601         IRIX 5.3.
10602         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10603
10604 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
10605
10606         gitlog-to-changelog: fix git-log invocation.
10607         git-log mishandles date strings before 1970-01-01 UTC, and there is
10608         no use to specify --since=1970-01-01 by default anyway.
10609         * build-aux/gitlog-to-changelog: By default, when no --since option
10610         was given, do not specify explicit --since option to git-log.
10611
10612 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
10613
10614         gitlog-to-changelog: new option --append-dot.
10615         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
10616         first non-blank line of each commit message terminated with a dot.
10617
10618 2011-10-30  Bruno Haible  <bruno@clisp.org>
10619
10620         ffsl, ffsll: Avoid compilation error due to 'restrict'.
10621         * lib/ffsl.h: Include <config.h>.
10622         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
10623
10624 2011-10-30  Jim Meyering  <meyering@redhat.com>
10625
10626         GNUmakefile: reenable "make syntax-check" for most projects
10627         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
10628         build-aux variable", "syntax-check" would do nothing but succeed with
10629         the "No version control files detected..." diagnostic (unless you
10630         happened to override _build-aux via cfg.mk).
10631         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
10632         to precede inclusion of maint.mk.  Otherwise, these variables would
10633         be used undefined in any project that does not override the default.
10634
10635 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
10636
10637         gitlog-to-changelog: treat a message with only blank lines as empty.
10638         * build-aux/gitlog-to-changelog: Move the code that removes leading and
10639         trailing blank lines before the code that issues a warning about an
10640         empty commit message.
10641
10642 2011-10-30  Jim Meyering  <meyering@redhat.com>
10643
10644         test-parse-datetime.c: avoid new DST-related false positive test failure
10645         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
10646         based on the time/date we'll convert, not the current time.
10647         Otherwise, the moment we cross a DST boundary like today's in
10648         Europe, (CEST to CET), that offset ends up being one hour off.
10649
10650 2011-10-27  Bruno Haible  <bruno@clisp.org>
10651
10652         fstat: Tweak documentation.
10653         * modules/fstat (Description): More precise description.
10654
10655 2011-10-27  Bruno Haible  <bruno@clisp.org>
10656
10657         Update documentation regarding 'largefile' module.
10658         * doc/posix-functions/fstat.texi: Tweak wording.
10659         * doc/posix-functions/opendir.texi: Mention that the module fixes the
10660         problems with huge directories and/or small ino_t types.
10661         * doc/posix-functions/readdir.texi: Likewise.
10662         * doc/posix-functions/rewinddir.texi: Likewise.
10663
10664 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
10665
10666         maint.mk: don't maintain a second build-aux variable.
10667         * maint.mk (build_aux): Removed.  The maintainer-makefile module
10668         depends on GNUmakefile, which already maintains a cfg.mk
10669         overridable $(_build-aux) for projects with a non-standard
10670         build-aux directory location, although without the $(srcdir)
10671         prefix.  Use that variable consistently instead of introducing a
10672         second one.  Adjust all call sites.
10673
10674 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
10675
10676         Add stdalign module and use it in other modules.
10677         This is based on a previous proposal by Bruno Haible
10678         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
10679
10680         stdalign: new module
10681         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
10682         * modules/stdalign: New files.
10683         * MODULES.html.sh (c1x_core_properties): Add stdalign.
10684         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
10685
10686         stdalign-tests: new module
10687         * modules/stdalign-tests, tests/test-stdalign.c: New files.
10688
10689         argp: use stdalign
10690         * lib/argp-parse.c: Include <stdalign.h>.
10691         (alignof): Remove.
10692         * modules/argp (Depends-on): Add stdalign.
10693
10694         crypto libraries: use stdalign
10695         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
10696         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
10697         Do not include <stdlib.h> twice, in md4.c.
10698         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
10699         because we are accessing a pointer's bit-pattern, not a size.
10700         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
10701         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
10702         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
10703         * modules/crypto/sha512: Likewise.
10704
10705         sys_socket: use stdalign, not alignof
10706         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
10707         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
10708
10709 2011-10-27  Bruno Haible  <bruno@clisp.org>
10710
10711         raise test: Avoid a test failure on Linux/MIPS.
10712         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
10713         because 99 is a valid signal on Linux/MIPS.
10714
10715 2011-10-27  Bruno Haible  <bruno@clisp.org>
10716
10717         nonblocking tests: Fix test failure on Linux/MIPS.
10718         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
10719         Set to 270000.
10720
10721 2011-10-27  Bruno Haible  <bruno@clisp.org>
10722
10723         utimensat: Work around problem on Linux/hppa.
10724         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
10725         values.
10726         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
10727
10728 2011-10-25  Jim Meyering  <meyering@redhat.com>
10729
10730         maint.mk: fix a bug in sc_prohibit_stddef_without_use
10731         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
10732         after symbols like NULL, size_t, etc.
10733         Reported by Alfred M. Szmidt.
10734
10735         maint.mk: exempt ENODATA from a syntax-check rule
10736         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
10737         from the sc_prohibit_always-defined_macros syntax-check rule.
10738         Add a comment.  See this for more details:
10739         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
10740
10741 2011-10-23  Jim Meyering  <meyering@redhat.com>
10742
10743         fts: close parent dir FD before returning from post-traversal fts_read
10744         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
10745         unlink A, even though an FD open on A remained.  This is suboptimal
10746         (holding a file descriptor open longer than needed), but otherwise not
10747         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
10748         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
10749         that represents a real problem: it causes the removal of A to fail
10750         with e.g., "rm: cannot remove `A': Device or resource busy"
10751
10752         fts visits each directory twice and keeps a cache (fts_fd_ring) of
10753         directory file descriptors.  After completing the final, FTS_DP,
10754         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
10755         cache, but then proceeded to add a new FD to it via the subsequent
10756         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
10757         final file descriptor would be closed only via fts_close's call to
10758         fd_ring_clear.  Now, it is usually closed earlier, via the final
10759         FTS_DP-returning fts_read call.
10760         * lib/fts.c (restore_initial_cwd): New function, converted from
10761         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
10762         Update callers.
10763         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
10764         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
10765
10766 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
10767             Bruno Haible  <bruno@clisp.org>
10768             Jim Meyering  <jim@meyering.net>
10769
10770         readme-release: improve safety of release prep instructions.
10771         * README-release: Don't git pull all branches when only master
10772         is needed for the release process.
10773         Run make maintainer-clean before changing trees and merging.
10774         Don't try to run ./configure right after git pull in case files
10775         that influence the bootstrap process have changed, move the
10776         ./configure step to after running ./bootstrap.
10777         Don't bootstrap "one last time"... it's the first time!
10778
10779 2011-10-22  Bruno Haible  <bruno@clisp.org>
10780
10781         errno, strerror-override: Support for MSVC 10.
10782         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
10783         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
10784         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
10785         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
10786         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
10787         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
10788         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
10789         Assign values compatible with MSVC 10.
10790         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
10791         New macros.
10792         (GNULIB_defined_EWINSOCK): New macro.
10793         * lib/strerror-override.c (strerror_override): Update accordingly.
10794         * lib/strerror-override.h: Likewise.
10795         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
10796         longer equal to the corresponding errno value.
10797         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
10798
10799 2011-10-22  Bruno Haible  <bruno@clisp.org>
10800
10801         perror: Recognize when test program crashes.
10802         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
10803         strerror, set gl_cv_func_perror_works to no.
10804         Reported by Daniel Richard G. <skunk@iskunk.org>.
10805
10806         perror: Fix indentation.
10807         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
10808
10809 2011-10-22  Bruno Haible  <bruno@clisp.org>
10810
10811         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
10812         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
10813         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
10814         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
10815         functions, not as a macro.
10816         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
10817         macros.
10818         (isfinite, isinf, isnan, signbit): Check overloaded functions and
10819         absence of macro.
10820         Suggested by Eric Blake.
10821         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
10822
10823 2011-10-21  Bruno Haible  <bruno@clisp.org>
10824
10825         relocatable-prog-wrapper: Don't leave object files behind.
10826         * build-aux/install-reloc: Re-synchronize list of .o files to be
10827         removed with list of compilation units.
10828
10829 2011-10-20  Bruno Haible  <bruno@clisp.org>
10830
10831         openpty, posix_openpt: Remove code duplication.
10832         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
10833         * lib/openpty.c: Include <stdlib.h>.
10834         (openpty): Use posix_openpt on all platforms except IRIX.
10835         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
10836
10837 2011-10-20  Bruno Haible  <bruno@clisp.org>
10838
10839         unlockpt: Detect invalid argument.
10840         * lib/unlockpt.c: Include <fcntl.h>.
10841         (unlockpt): Check whether fd is valid, using fcntl().
10842         * modules/unlockpt (Depends-on): Add fcntl-h.
10843
10844 2011-10-20  Bruno Haible  <bruno@clisp.org>
10845
10846         openpty: Avoid compilation error on AIX 6.1.
10847         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
10848
10849 2011-10-20  Bruno Haible  <bruno@clisp.org>
10850
10851         posix_openpt: Support for OpenBSD.
10852         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
10853         (posix_openpt) [OpenBSD]: New code.
10854         * lib/grantpt.c: Include <fcntl.h>.
10855         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
10856         * modules/grantpt (Depends-on): Add fcntl-h.
10857
10858 2011-10-20  Bruno Haible  <bruno@clisp.org>
10859
10860         posix_openpt test: Coding style.
10861         * tests/test-posix_openpt.c: Use GNU coding style.
10862
10863 2011-10-20  Bruno Haible  <bruno@clisp.org>
10864
10865         grantpt: Support --avoid=pt_chown.
10866         * modules/grantpt (Files): Add lib/pty-private.h.
10867
10868 2011-10-20  Bruno Haible  <bruno@clisp.org>
10869
10870         posix_openpt: Fix autoconf macro.
10871         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
10872         unneeded check for _getpty.
10873
10874 2011-10-20  Bruno Haible  <bruno@clisp.org>
10875
10876         openpty: Update comments.
10877         * lib/openpty.c: Add comments about Minix.
10878
10879 2011-10-19  Eric Blake  <eblake@redhat.com>
10880
10881         openpty: relax license
10882         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
10883
10884         pt_chown: use configmake to simplify build
10885         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
10886
10887         ptsname and others: relax license
10888         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
10889         * modules/unlockpt (License): Likewise.
10890         * modules/pt_chown (License): Likewise.
10891         * modules/ptsname (License): Likewise.
10892         * modules/ttyname_r (License): Likewise.
10893
10894 2011-10-19  Jim Meyering  <meyering@redhat.com>
10895
10896         posix_openpt: remove spurious #endif
10897         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
10898
10899 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
10900
10901         maint.mk: Respect $(build_aux) in web-manual rule.
10902         * top/maint.mk (web-manual): Find gen-announce script in user's
10903         $(build_aux) directory instead of hard-coding 'build-aux'.
10904
10905 2011-10-19  Bruno Haible  <bruno@clisp.org>
10906
10907         posix_openpt: Fix compilation error.
10908         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
10909         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
10910         Mention the openpty module as an alternative.
10911
10912 2011-10-19  Bruno Haible  <bruno@clisp.org>
10913
10914         Support for old NeXTstep 3.3 frexp().
10915         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
10916         execution time of the test to 5 seconds.
10917         Reported by Daniel Richard G. <skunk@iskunk.org>.
10918
10919 2011-10-19  Bruno Haible  <bruno@clisp.org>
10920
10921         Support for old NeXTstep 3.3 sed.
10922         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
10923         part, use /.../, not \|...|. Escape periods in the header file name.
10924         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
10925         Reported by Daniel Richard G. <skunk@iskunk.org>.
10926
10927 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
10928
10929         Support for old NeXTstep 3.3 gcc.
10930         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
10931         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
10932         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
10933         * lib/spawn.in.h (_Restrict_arr_): Likewise.
10934         * lib/regex.h (_Restrict_arr_): Likewise.
10935         * lib/regex_internal.h (re_token_t): Likewise.
10936         * lib/regexec.c (check_node_accept_bytes): Likewise.
10937         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
10938
10939 2011-10-18  Eric Blake  <eblake@redhat.com>
10940
10941         posix_openpt: new module
10942         * modules/posix_openpt: New module.
10943         * m4/posix_openpt.m4: New file.
10944         * lib/posix_openpt.c: Likewise.
10945         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
10946         (gl_STDLIB_H_DEFAULTS): Set defaults.
10947         * modules/stdlib (Makefile.am): Substitute macros.
10948         * lib/stdlib.in.h (posix_openpt): Declare.
10949         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
10950         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
10951         * modules/posix_openpt-tests: New test module.
10952         * tests/test-posix_openpt.c: New test.
10953
10954 2011-10-15  Bruno Haible  <bruno@clisp.org>
10955
10956         xstrtoll: Fix compilation failure.
10957         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
10958         from lib/strtol.c.
10959         * doc/posix-headers/limits.texi: Mention missing numerical limits on
10960         some platforms.
10961         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10962
10963 2011-10-15  Bruno Haible  <bruno@clisp.org>
10964
10965         vasnprintf: Optimize bit search operation.
10966         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
10967         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
10968         gl_DOUBLE_EXPONENT_LOCATION.
10969         * modules/vasnprintf (Files): Add m4/exponentd.m4.
10970         * modules/unistdio/u8-vasnprintf (Files): Likewise.
10971         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
10972         * modules/unistdio/u16-vasnprintf (Files): Likewise.
10973         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
10974         * modules/unistdio/u32-vasnprintf (Files): Likewise.
10975         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
10976         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
10977         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
10978
10979 2011-10-15  Bruno Haible  <bruno@clisp.org>
10980
10981         vasnprintf: Fix comments.
10982         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
10983
10984 2011-10-14  Bruno Haible  <bruno@clisp.org>
10985
10986         Tests for module 'integer_length_ll'.
10987         * modules/integer_length_ll-tests: New file.
10988         * tests/test-integer_length_ll.c: New file.
10989
10990         New module 'integer_length_ll'.
10991         * lib/integer_length_ll.c: New file.
10992         * modules/integer_length_ll: New file.
10993
10994 2011-10-14  Bruno Haible  <bruno@clisp.org>
10995
10996         Tests for module 'integer_length_l'.
10997         * modules/integer_length_l-tests: New file.
10998         * tests/test-integer_length_l.c: New file.
10999
11000         New module 'integer_length_l'.
11001         * lib/integer_length_l.c: New file.
11002         * modules/integer_length_l: New file.
11003
11004 2011-10-14  Bruno Haible  <bruno@clisp.org>
11005
11006         Tests for module 'integer_length'.
11007         * modules/integer_length-tests: New file.
11008         * tests/test-integer_length.c: New file.
11009
11010         New module 'integer_length'.
11011         * lib/integer_length.h: New file.
11012         * lib/integer_length.c: New file.
11013         * modules/integer_length: New file.
11014
11015 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
11016
11017         popen: Fix dependency conditions.
11018         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
11019
11020 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
11021
11022         perror: Fix autoconf test.
11023         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
11024         <stdlib.h> and <string.h>.
11025
11026 2011-10-14  Bruno Haible  <bruno@clisp.org>
11027
11028         ffsl: Optimize on 64-bit platforms.
11029         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
11030         unrolling.
11031
11032 2011-10-13  Bruno Haible  <bruno@clisp.org>
11033
11034         ffsl: Optimize on 32-bit platforms.
11035         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
11036         use ffs() without a loop.
11037
11038         ffsl, ffsll: Optimize for GCC.
11039         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
11040         * lib/ffsl.c (GCC_BUILTIN): New macro.
11041         * lib/ffsll.c (GCC_BUILTIN): Likewise.
11042
11043 2011-10-13  Bruno Haible  <bruno@clisp.org>
11044
11045         ffs, bcopy, memset: Support symbol renaming via config.h.
11046         * lib/ffs.c: Include <config.h>.
11047         * lib/bcopy.c: Likewise.
11048         * lib/memset.c: Likewise.
11049
11050 2011-10-10  Bruno Haible  <bruno@clisp.org>
11051
11052         atanl: Simplify for platforms where 'long double' == 'double'.
11053         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11054         alternative implementation.
11055         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11056         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11057         * modules/atanl (Depends-on): Add atan. Update conditions.
11058
11059 2011-10-10  Bruno Haible  <bruno@clisp.org>
11060
11061         acosl: Simplify for platforms where 'long double' == 'double'.
11062         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11063         alternative implementation.
11064         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11065         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11066         * modules/acosl (Depends-on): Add acos. Update conditions.
11067
11068 2011-10-10  Bruno Haible  <bruno@clisp.org>
11069
11070         asinl: Simplify for platforms where 'long double' == 'double'.
11071         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11072         alternative implementation.
11073         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11074         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11075         * modules/asinl (Depends-on): Add asin. Update conditions.
11076
11077 2011-10-10  Bruno Haible  <bruno@clisp.org>
11078
11079         tanl: Simplify for platforms where 'long double' == 'double'.
11080         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
11081         implementation.
11082         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11083         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11084         * modules/tanl (Depends-on): Add tan. Update conditions.
11085         (configure.ac): Don't compile trigl.c if
11086         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11087
11088 2011-10-10  Bruno Haible  <bruno@clisp.org>
11089
11090         cosl: Simplify for platforms where 'long double' == 'double'.
11091         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
11092         implementation.
11093         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11094         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11095         * modules/cosl (Depends-on): Add cos. Update conditions.
11096         (configure.ac): Don't compile sincosl.c and trigl.c if
11097         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11098
11099 2011-10-10  Bruno Haible  <bruno@clisp.org>
11100
11101         sinl: Simplify for platforms where 'long double' == 'double'.
11102         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
11103         implementation.
11104         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11105         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11106         * modules/sinl (Depends-on): Add sin. Update conditions.
11107         (configure.ac): Don't compile sincosl.c and trigl.c if
11108         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11109
11110 2011-10-10  Bruno Haible  <bruno@clisp.org>
11111
11112         logl: Simplify for platforms where 'long double' == 'double'.
11113         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
11114         implementation.
11115         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11116         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11117         * modules/logl (Depends-on): Add log. Update conditions.
11118
11119 2011-10-10  Bruno Haible  <bruno@clisp.org>
11120
11121         expl: Simplify for platforms where 'long double' == 'double'.
11122         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
11123         implementation.
11124         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11125         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11126         * modules/expl (Depends-on): Add exp. Update conditions.
11127
11128 2011-10-10  Bruno Haible  <bruno@clisp.org>
11129
11130         sqrtl: Simplify for platforms where 'long double' == 'double'.
11131         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11132         alternative implementation.
11133         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11134         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11135         * modules/sqrtl (Depends-on): Update conditions.
11136
11137 2011-10-10  Bruno Haible  <bruno@clisp.org>
11138
11139         ldexpl: Simplify for platforms where 'long double' == 'double'.
11140         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11141         alternative implementation.
11142         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11143         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11144         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
11145
11146 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
11147
11148         ffsll: set correct witness
11149         * modules/ffsll (configure.ac): Fix typo.
11150
11151 2011-10-10  Bruno Haible  <bruno@clisp.org>
11152
11153         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
11154         * lib/printf-frexpl.c: Include <config.h>.
11155         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11156         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
11157         second time.
11158         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
11159         gl_LONG_DOUBLE_VS_DOUBLE.
11160         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
11161         conditions.
11162
11163 2011-10-10  Bruno Haible  <bruno@clisp.org>
11164
11165         frexpl: Simplify for platforms where 'long double' == 'double'.
11166         * lib/frexpl.c: Include <config.h>.
11167         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11168         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11169         time.
11170         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11171         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11172         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
11173         * modules/frexpl (Depends-on): Add frexp. Update conditions.
11174         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
11175         conditions.
11176
11177 2011-10-10  Jim Meyering  <meyering@redhat.com>
11178
11179         test-renameat: don't leave behind a temporary file
11180         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
11181           ERROR: files left in build directory after distclean:
11182           ./gltests/test-renameat.too
11183           make[1]: *** [distcleancheck] Error 1
11184         Reported by Tom G. Christensen.
11185
11186 2011-10-09  Bruno Haible  <bruno@clisp.org>
11187
11188         rint: Determine RINT_LIBM correctly on AIX 7.
11189         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
11190         directly, not only through a function pointer. Also accept an optional
11191         4th argument with extra code.
11192         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
11193         rintf() call by gcc when optimizing.
11194
11195         mathfunc.m4: Refactor.
11196         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
11197         m4 variable.
11198
11199 2011-10-09  Bruno Haible  <bruno@clisp.org>
11200
11201         rintl: Simplify for platforms where 'long double' == 'double'.
11202         * lib/rintl.c: Include <config.h>.
11203         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11204         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11205         time.
11206         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11207         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11208         * modules/rintl (Depends-on): Add rint. Update conditions.
11209
11210 2011-10-09  Bruno Haible  <bruno@clisp.org>
11211
11212         roundl: Simplify for platforms where 'long double' == 'double'.
11213         * lib/roundl.c: Include <config.h>.
11214         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11215         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11216         time.
11217         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11218         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11219         * modules/roundl (Depends-on): Add round. Update conditions.
11220
11221 2011-10-09  Bruno Haible  <bruno@clisp.org>
11222
11223         truncl: Simplify for platforms where 'long double' == 'double'.
11224         * lib/truncl.c: Include <config.h>.
11225         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11226         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11227         time.
11228         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11229         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11230         * modules/truncl (Depends-on): Add trunc. Update conditions.
11231
11232 2011-10-09  Bruno Haible  <bruno@clisp.org>
11233
11234         ceill: Simplify for platforms where 'long double' == 'double'.
11235         * lib/ceill.c: Include <config.h>.
11236         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11237         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11238         time.
11239         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11240         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11241         * modules/ceill (Depends-on): Add ceil. Update conditions.
11242
11243 2011-10-09  Bruno Haible  <bruno@clisp.org>
11244
11245         floorl: Simplify for platforms where 'long double' == 'double'.
11246         * lib/floorl.c: Include <config.h>.
11247         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11248         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11249         time.
11250         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11251         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11252         * modules/floorl (Depends-on): Add floor. Update conditions.
11253
11254 2011-10-09  Bruno Haible  <bruno@clisp.org>
11255
11256         rint: Fix ordering constraints.
11257         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
11258         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
11259         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
11260
11261 2011-10-09  Bruno Haible  <bruno@clisp.org>
11262
11263         copysignl: Simplify for platforms where 'long double' == 'double'.
11264         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11265         alternative.
11266         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11267         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11268         * modules/copysignl (Depends-on): Add copysign. Update conditions.
11269
11270 2011-10-09  Bruno Haible  <bruno@clisp.org>
11271
11272         Tests for module 'rintl'.
11273         * modules/rintl-tests: New file.
11274         * tests/test-rintl.c: New file.
11275
11276         New module 'rintl'.
11277         * lib/math.in.h (rintl): New declaration.
11278         * lib/rintl.c: New file.
11279         * m4/rintl.m4: New file.
11280         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
11281         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
11282         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
11283         * modules/rintl: New file.
11284         * tests/test-math-c++.cc: Check the declaration of rintl.
11285         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
11286         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
11287         * doc/posix-functions/rintl.texi: Mention the new module.
11288
11289 2011-10-09  Bruno Haible  <bruno@clisp.org>
11290
11291         Tests for module 'rintf'.
11292         * modules/rintf-tests: New file.
11293         * tests/test-rintf.c: New file.
11294
11295         New module 'rintf'.
11296         * lib/math.in.h (rintf): New declaration.
11297         * lib/rintf.c: New file.
11298         * m4/rintf.m4: New file.
11299         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
11300         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
11301         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
11302         * modules/rintf: New file.
11303         * tests/test-math-c++.cc: Check the declaration of rintf.
11304         * doc/posix-functions/rintf.texi: Mention the new module.
11305
11306 2011-10-09  Bruno Haible  <bruno@clisp.org>
11307
11308         rint: Support for MSVC.
11309         * lib/math.in.h (rint): New declaration.
11310         * lib/rint.c: New file.
11311         * m4/rint.m4: New file.
11312         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
11313         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
11314         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
11315         * modules/rint (Description): Fix.
11316         (Files): Add lib/rint.c, m4/rint.m4.
11317         (Depends-on): Add math.
11318         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
11319         gl_MATH_MODULE_INDICATOR.
11320         * tests/test-math-c++.cc: Check the declaration of rint.
11321         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
11322         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
11323         * doc/posix-functions/rint.texi: Mention the replacement provided by
11324         the module.
11325
11326         rint tests: More tests.
11327         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
11328         minus-zero.h, infinity.h, nan.h.
11329         (main): Skip the test if the current rounding mode is not standard. Add
11330         tests for negative numbers, minus zero, infinity, NaN.
11331         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
11332         tests/nan.h.
11333         (Depends-on): Add isnand-nolibm.
11334
11335 2011-10-09  Bruno Haible  <bruno@clisp.org>
11336
11337         Tests for module 'copysignl'.
11338         * modules/copysignl-tests: New file.
11339         * tests/test-copysignl.c: New file.
11340
11341         New module 'copysignl'.
11342         * lib/math.in.h (copysignl): New declaration.
11343         * lib/copysignl.c: New file.
11344         * m4/copysignl.m4: New file.
11345         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
11346         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
11347         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
11348         HAVE_COPYSIGNL.
11349         * modules/copysignl: New file.
11350         * tests/test-math-c++.cc: Check the declaration of copysignl.
11351         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
11352         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
11353         * doc/posix-functions/copysignl.texi: Mention the new module.
11354
11355 2011-10-09  Bruno Haible  <bruno@clisp.org>
11356
11357         Tests for module 'copysignf'.
11358         * modules/copysignf-tests: New file.
11359         * tests/test-copysignf.c: New file.
11360
11361         New module 'copysignf'.
11362         * lib/math.in.h (copysignf): New declaration.
11363         * lib/copysignf.c: New file.
11364         * m4/copysignf.m4: New file.
11365         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
11366         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
11367         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
11368         HAVE_COPYSIGNF.
11369         * modules/copysignf: New file.
11370         * tests/test-math-c++.cc: Check the declaration of copysignf.
11371         * doc/posix-functions/copysignf.texi: Mention the new module.
11372
11373 2011-10-09  Bruno Haible  <bruno@clisp.org>
11374
11375         Ensure that HAVE_* variables are set to 1 before they are set to 0.
11376         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
11377         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
11378         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
11379         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
11380         gl_SIGNAL_H_DEFAULTS.
11381
11382 2011-10-09  Bruno Haible  <bruno@clisp.org>
11383
11384         poll: Make macro safer.
11385         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
11386         ac_cv_header_poll_h is not set.
11387
11388 2011-10-09  Bruno Haible  <bruno@clisp.org>
11389
11390         copysign: Provide replacement.
11391         * lib/math.in.h (copysign): New declaration.
11392         * lib/copysign.c: New file.
11393         * m4/copysign.m4: New file.
11394         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
11395         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
11396         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
11397         HAVE_COPYSIGN.
11398         * modules/copysign (Description): Clarify.
11399         (Files): Add lib/copysign.c, m4/copysign.m4.
11400         (Depends-on): Add math, signbit.
11401         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
11402         gl_MATH_MODULE_INDICATOR.
11403         * tests/test-math-c++.cc: Check the declaration of copysign.
11404         * doc/posix-functions/copysign.texi: Mention the effects of the module
11405         on Minix and MSVC.
11406
11407 2011-10-09  Bruno Haible  <bruno@clisp.org>
11408
11409         isinf: Ensure macro on AIX 5.1.
11410         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
11411         macro.
11412         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
11413
11414 2011-10-09  Bruno Haible  <bruno@clisp.org>
11415
11416         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
11417         * modules/snprintf-posix-tests (configure.ac): Require
11418         gl_LONG_DOUBLE_VS_DOUBLE.
11419         * modules/sprintf-posix-tests (configure.ac): Likewise.
11420         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
11421         * modules/vasprintf-posix-tests (configure.ac): Likewise.
11422         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
11423         * modules/vsprintf-posix-tests (configure.ac): Likewise.
11424         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
11425         tests on platforms where 'long double' is the same as 'double'.
11426         * tests/test-sprintf-posix.h (test_function): Likewise.
11427         * tests/test-vasnprintf-posix.c (test_function): Likewise.
11428         * tests/test-vasprintf-posix.c (test_function): Likewise.
11429
11430         *printf: Fix for platforms where 'long double' == 'double'.
11431         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
11432         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
11433         * modules/dprintf-posix (Files): Add m4/math_h.m4.
11434         * modules/fprintf-posix (Files): Likewise.
11435         * modules/obstack-printf-posix (Files): Likewise.
11436         * modules/snprintf-posix (Files): Likewise.
11437         * modules/sprintf-posix (Files): Likewise.
11438         * modules/vasnprintf (Files): Likewise.
11439         * modules/vasnprintf-posix (Files): Likewise.
11440         * modules/vasprintf-posix (Files): Likewise.
11441         * modules/vdprintf-posix (Files): Likewise.
11442         * modules/vfprintf-posix (Files): Likewise.
11443         * modules/vsnprintf-posix (Files): Likewise.
11444         * modules/vsprintf-posix (Files): Likewise.
11445         * modules/unistdio/u8-vasnprintf (Files): Likewise.
11446         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
11447         * modules/unistdio/u16-vasnprintf (Files): Likewise.
11448         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
11449         * modules/unistdio/u32-vasnprintf (Files): Likewise.
11450         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
11451         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
11452
11453         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
11454         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
11455         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11456         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
11457         'long double'.
11458         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
11459
11460         isinf: Fix for platforms where 'long double' == 'double'.
11461         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
11462         Don't blindly assume 80-bit 'long double'.
11463
11464         isfinite: Fix for platforms where 'long double' == 'double'.
11465         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
11466         Don't blindly assume 80-bit 'long double'.
11467
11468         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
11469         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
11470         * modules/isfinite-tests (configure.ac): Require
11471         gl_LONG_DOUBLE_VS_DOUBLE.
11472         * modules/isinf-tests (configure.ac): Likewise.
11473         * modules/isnan-tests (configure.ac): Likewise.
11474         * modules/isnanl-tests (configure.ac): Likewise.
11475         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
11476         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
11477         tests on platforms where 'long double' is the same as 'double'.
11478         * tests/test-isinf.c (test_isinfl): Likewise.
11479         * tests/test-isnan.c (test_long_double): Likewise.
11480         * tests/test-isnanl.h (main): Likewise.
11481
11482 2011-10-08  Bruno Haible  <bruno@clisp.org>
11483
11484         Tests for module 'tanhf'.
11485         * modules/tanhf-tests: New file.
11486         * tests/test-tanhf.c: New file.
11487
11488         New module 'tanhf'.
11489         * lib/math.in.h (tanhf): New declaration.
11490         * lib/tanhf.c: New file.
11491         * m4/tanhf.m4: New file.
11492         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
11493         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
11494         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
11495         * modules/tanhf: New file.
11496         * tests/test-math-c++.cc: Check the declaration of tanhf.
11497         * doc/posix-functions/tanhf.texi: Mention the new module.
11498
11499         tanh: Use a .m4 file.
11500         * m4/tanh.m4: New file.
11501         * modules/tanh (Files): Add it.
11502         (configure.ac): Just invoke gl_FUNC_TANH.
11503
11504 2011-10-08  Bruno Haible  <bruno@clisp.org>
11505
11506         Tests for module 'coshf'.
11507         * modules/coshf-tests: New file.
11508         * tests/test-coshf.c: New file.
11509
11510         New module 'coshf'.
11511         * lib/math.in.h (coshf): New declaration.
11512         * lib/coshf.c: New file.
11513         * m4/coshf.m4: New file.
11514         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
11515         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
11516         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
11517         * modules/coshf: New file.
11518         * tests/test-math-c++.cc: Check the declaration of coshf.
11519         * doc/posix-functions/coshf.texi: Mention the new module.
11520
11521         cosh: Use a .m4 file.
11522         * m4/cosh.m4: New file.
11523         * modules/cosh (Files): Add it.
11524         (configure.ac): Just invoke gl_FUNC_COSH.
11525
11526 2011-10-08  Bruno Haible  <bruno@clisp.org>
11527
11528         Tests for module 'sinhf'.
11529         * modules/sinhf-tests: New file.
11530         * tests/test-sinhf.c: New file.
11531
11532         New module 'sinhf'.
11533         * lib/math.in.h (sinhf): New declaration.
11534         * lib/sinhf.c: New file.
11535         * m4/sinhf.m4: New file.
11536         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
11537         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
11538         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
11539         * modules/sinhf: New file.
11540         * tests/test-math-c++.cc: Check the declaration of sinhf.
11541         * doc/posix-functions/sinhf.texi: Mention the new module.
11542
11543         sinh: Use a .m4 file.
11544         * m4/sinh.m4: New file.
11545         * modules/sinh (Files): Add it.
11546         (configure.ac): Just invoke gl_FUNC_SINH.
11547
11548 2011-10-08  Bruno Haible  <bruno@clisp.org>
11549
11550         Tests for module 'atan2f'.
11551         * modules/atan2f-tests: New file.
11552         * tests/test-atan2f.c: New file.
11553
11554         New module 'atan2f'.
11555         * lib/math.in.h (atan2f): New declaration.
11556         * lib/atan2f.c: New file.
11557         * m4/atan2f.m4: New file.
11558         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
11559         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
11560         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
11561         * modules/atan2f: New file.
11562         * tests/test-math-c++.cc: Check the declaration of atan2f.
11563         * doc/posix-functions/atan2f.texi: Mention the new module.
11564
11565         atan2: Use a .m4 file.
11566         * m4/atan2.m4: New file.
11567         * modules/atan2 (Files): Add it.
11568         (configure.ac): Just invoke gl_FUNC_ATAN2.
11569
11570 2011-10-08  Bruno Haible  <bruno@clisp.org>
11571
11572         Tests for module 'atanf'.
11573         * modules/atanf-tests: New file.
11574         * tests/test-atanf.c: New file.
11575
11576         New module 'atanf'.
11577         * lib/math.in.h (atanf): New declaration.
11578         * lib/atanf.c: New file.
11579         * m4/atanf.m4: New file.
11580         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
11581         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
11582         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
11583         * modules/atanf: New file.
11584         * tests/test-math-c++.cc: Check the declaration of atanf.
11585         * doc/posix-functions/atanf.texi: Mention the new module.
11586
11587         atan: Use a .m4 file.
11588         * m4/atan.m4: New file.
11589         * modules/atan (Files): Add it.
11590         (configure.ac): Just invoke gl_FUNC_ATAN.
11591
11592 2011-10-08  Bruno Haible  <bruno@clisp.org>
11593
11594         Tests for module 'acosf'.
11595         * modules/acosf-tests: New file.
11596         * tests/test-acosf.c: New file.
11597
11598         New module 'acosf'.
11599         * lib/math.in.h (acosf): New declaration.
11600         * lib/acosf.c: New file.
11601         * m4/acosf.m4: New file.
11602         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
11603         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
11604         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
11605         * modules/acosf: New file.
11606         * tests/test-math-c++.cc: Check the declaration of acosf.
11607         * doc/posix-functions/acosf.texi: Mention the new module.
11608
11609         acos: Use a .m4 file.
11610         * m4/acos.m4: New file.
11611         * modules/acos (Files): Add it.
11612         (configure.ac): Just invoke gl_FUNC_ACOS.
11613
11614 2011-10-08  Bruno Haible  <bruno@clisp.org>
11615
11616         Tests for module 'asinf'.
11617         * modules/asinf-tests: New file.
11618         * tests/test-asinf.c: New file.
11619
11620         New module 'asinf'.
11621         * lib/math.in.h (asinf): New declaration.
11622         * lib/asinf.c: New file.
11623         * m4/asinf.m4: New file.
11624         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
11625         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
11626         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
11627         * modules/asinf: New file.
11628         * tests/test-math-c++.cc: Check the declaration of asinf.
11629         * doc/posix-functions/asinf.texi: Mention the new module.
11630
11631         asin: Use a .m4 file.
11632         * m4/asin.m4: New file.
11633         * modules/asin (Files): Add it.
11634         (configure.ac): Just invoke gl_FUNC_ASIN.
11635
11636 2011-10-08  Bruno Haible  <bruno@clisp.org>
11637
11638         Tests for module 'tanf'.
11639         * modules/tanf-tests: New file.
11640         * tests/test-tanf.c: New file.
11641
11642         New module 'tanf'.
11643         * lib/math.in.h (tanf): New declaration.
11644         * lib/tanf.c: New file.
11645         * m4/tanf.m4: New file.
11646         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
11647         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
11648         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
11649         * modules/tanf: New file.
11650         * tests/test-math-c++.cc: Check the declaration of tanf.
11651         * doc/posix-functions/tanf.texi: Mention the new module.
11652
11653         tan: Use a .m4 file.
11654         * m4/tan.m4: New file.
11655         * modules/tan (Files): Add it.
11656         (configure.ac): Just invoke gl_FUNC_TAN.
11657
11658 2011-10-08  Bruno Haible  <bruno@clisp.org>
11659
11660         Tests for module 'cosf'.
11661         * modules/cosf-tests: New file.
11662         * tests/test-cosf.c: New file.
11663
11664         New module 'cosf'.
11665         * lib/math.in.h (cosf): New declaration.
11666         * lib/cosf.c: New file.
11667         * m4/cosf.m4: New file.
11668         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
11669         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
11670         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
11671         * modules/cosf: New file.
11672         * tests/test-math-c++.cc: Check the declaration of cosf.
11673         * doc/posix-functions/cosf.texi: Mention the new module.
11674
11675         cos: Use a .m4 file.
11676         * m4/cos.m4: New file.
11677         * modules/cos (Files): Add it.
11678         (configure.ac): Just invoke gl_FUNC_COS.
11679
11680 2011-10-08  Bruno Haible  <bruno@clisp.org>
11681
11682         Tests for module 'sinf'.
11683         * modules/sinf-tests: New file.
11684         * tests/test-sinf.c: New file.
11685
11686         New module 'sinf'.
11687         * lib/math.in.h (sinf): New declaration.
11688         * lib/sinf.c: New file.
11689         * m4/sinf.m4: New file.
11690         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
11691         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
11692         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
11693         * modules/sinf: New file.
11694         * tests/test-math-c++.cc: Check the declaration of sinf.
11695         * doc/posix-functions/sinf.texi: Mention the new module.
11696
11697         sin: Use a .m4 file.
11698         * m4/sin.m4: New file.
11699         * modules/sin (Files): Add it.
11700         (configure.ac): Just invoke gl_FUNC_SIN.
11701
11702 2011-10-08  Bruno Haible  <bruno@clisp.org>
11703
11704         Tests for module 'powf'.
11705         * modules/powf-tests: New file.
11706         * tests/test-powf.c: New file.
11707
11708         New module 'powf'.
11709         * lib/math.in.h (powf): New declaration.
11710         * lib/powf.c: New file.
11711         * m4/powf.m4: New file.
11712         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
11713         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
11714         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
11715         * modules/powf: New file.
11716         * tests/test-math-c++.cc: Check the declaration of powf.
11717         * doc/posix-functions/powf.texi: Mention the new module.
11718
11719         pow: Use a .m4 file.
11720         * m4/pow.m4: New file.
11721         * modules/pow (Files): Add it.
11722         (configure.ac): Just invoke gl_FUNC_POW.
11723
11724 2011-10-08  Bruno Haible  <bruno@clisp.org>
11725
11726         Tests for module 'log10f'.
11727         * modules/log10f-tests: New file.
11728         * tests/test-log10f.c: New file.
11729
11730         New module 'log10f'.
11731         * lib/math.in.h (log10f): New declaration.
11732         * lib/log10f.c: New file.
11733         * m4/log10f.m4: New file.
11734         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
11735         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
11736         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
11737         * modules/log10f: New file.
11738         * tests/test-math-c++.cc: Check the declaration of log10f.
11739         * doc/posix-functions/log10f.texi: Mention the new module.
11740
11741         log10: Use a .m4 file.
11742         * m4/log10.m4: New file.
11743         * modules/log10 (Files): Add it.
11744         (configure.ac): Just invoke gl_FUNC_LOG10.
11745
11746 2011-10-08  Bruno Haible  <bruno@clisp.org>
11747
11748         Tests for module 'logf'.
11749         * modules/logf-tests: New file.
11750         * tests/test-logf.c: New file.
11751
11752         New module 'logf'.
11753         * lib/math.in.h (logf): New declaration.
11754         * lib/logf.c: New file.
11755         * m4/logf.m4: New file.
11756         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
11757         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
11758         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
11759         * modules/logf: New file.
11760         * tests/test-math-c++.cc: Check the declaration of logf.
11761         * doc/posix-functions/logf.texi: Mention the new module.
11762
11763         log: Use a .m4 file.
11764         * m4/log.m4: New file.
11765         * modules/log (Files): Add it.
11766         (configure.ac): Just invoke gl_FUNC_LOG.
11767
11768 2011-10-08  Bruno Haible  <bruno@clisp.org>
11769
11770         Tests for module 'expf'.
11771         * modules/expf-tests: New file.
11772         * tests/test-expf.c: New file.
11773
11774         New module 'expf'.
11775         * lib/math.in.h (expf): New declaration.
11776         * lib/expf.c: New file.
11777         * m4/expf.m4: New file.
11778         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
11779         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
11780         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
11781         * modules/expf: New file.
11782         * tests/test-math-c++.cc: Check the declaration of expf.
11783         * doc/posix-functions/expf.texi: Mention the new module.
11784
11785         exp: Use a .m4 file.
11786         * m4/exp.m4: New file.
11787         * modules/exp (Files): Add it.
11788         (configure.ac): Just invoke gl_FUNC_EXP.
11789
11790 2011-10-08  Bruno Haible  <bruno@clisp.org>
11791
11792         Tests for module 'sqrtf'.
11793         * modules/sqrtf-tests: New file.
11794         * tests/test-sqrtf.c: New file.
11795
11796         New module 'sqrtf'.
11797         * lib/math.in.h (sqrtf): New declaration.
11798         * lib/sqrtf.c: New file.
11799         * m4/sqrtf.m4: New file.
11800         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
11801         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
11802         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
11803         * modules/sqrtf: New file.
11804         * tests/test-math-c++.cc: Check the declaration of sqrtf.
11805         * doc/posix-functions/sqrtf.texi: Mention the new module.
11806
11807 2011-10-08  Bruno Haible  <bruno@clisp.org>
11808
11809         Tests: Avoid link failures w.r.t. libintl.
11810         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
11811         $(LIBINTL).
11812         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
11813         $(LIBINTL).
11814         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
11815         against $(LIBINTL).
11816         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
11817         $(LIBINTL).
11818         * modules/openat-tests (Makefile.am): Link test-fchmodat against
11819         $(LIBINTL).
11820         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
11821
11822 2011-10-08  Bruno Haible  <bruno@clisp.org>
11823
11824         pow tests: Defeat compiler optimizations.
11825         * tests/test-pow.c (main): Assign arguments to x and y before use.
11826
11827 2011-10-08  Bruno Haible  <bruno@clisp.org>
11828
11829         gnulib-tool: Improve last commit.
11830         * gnulib-tool (func_modules_transitive_closure): Simplify code.
11831         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
11832         ignore dependencies that are not among the modules list.
11833
11834 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
11835
11836         gnulib-tool: don't follow dependencies to avoided modules
11837         This fixes a bug that is related to the previous one.
11838         * gnulib-tool (func_modules_transitive_closure)
11839         (func_emit_autoconf_snippets):
11840         Check whether a dependency is acceptable before using it.
11841         (--extract-dependencies): Report an error if --avoid is also used,
11842         since this combination of options is not yet supported.
11843
11844         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
11845         Problem reported by Peter Dyballa in
11846         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
11847         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
11848         when echoing "$condition".
11849
11850 2011-10-07  Bruno Haible  <bruno@clisp.org>
11851
11852         Fix documentation about math functions on MacOS X.
11853         * doc/posix-functions/exp2.texi: Don't say the function is missing on
11854         MacOS X 10.5.
11855         * doc/posix-functions/fdim.texi: Likewise.
11856         * doc/posix-functions/feclearexcept.texi: Likewise.
11857         * doc/posix-functions/fegetenv.texi: Likewise.
11858         * doc/posix-functions/fegetround.texi: Likewise.
11859         * doc/posix-functions/feholdexcept.texi: Likewise.
11860         * doc/posix-functions/feraiseexcept.texi: Likewise.
11861         * doc/posix-functions/fesetenv.texi: Likewise.
11862         * doc/posix-functions/fesetround.texi: Likewise.
11863         * doc/posix-functions/fetestexcept.texi: Likewise.
11864         * doc/posix-functions/feupdateenv.texi: Likewise.
11865         * doc/posix-functions/fmax.texi: Likewise.
11866         * doc/posix-functions/fmin.texi: Likewise.
11867         * doc/posix-functions/log2.texi: Likewise.
11868         * doc/posix-functions/modff.texi: Likewise.
11869         * doc/posix-functions/nan.texi: Likewise.
11870         * doc/posix-functions/nanf.texi: Likewise.
11871         * doc/posix-functions/nextafterf.texi: Likewise.
11872         * doc/posix-functions/remquo.texi: Likewise.
11873
11874 2011-10-07  Bruno Haible  <bruno@clisp.org>
11875
11876         modff: Drop assumption about library that defines modff.
11877         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
11878         AC_CHECK_FUNCS.
11879         * modules/modff (Files): Add m4/mathfunc.m4.
11880
11881 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
11882
11883         raise tests: Avoid a GCC warning.
11884         * tests/test-raise.c (handler): Use _Noreturn.
11885
11886 2011-10-07  Bruno Haible  <bruno@clisp.org>
11887
11888         Tests for module 'ldexpf'.
11889         * modules/ldexpf-tests: New file.
11890         * tests/test-ldexpf.c: New file.
11891
11892         New module 'ldexpf'.
11893         * lib/math.in.h (ldexpf): New declaration.
11894         * lib/ldexpf.c: New file.
11895         * m4/ldexpf.m4: New file.
11896         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
11897         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
11898         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
11899         * modules/ldexpf: New file.
11900         * tests/test-math-c++.cc: Check the declaration of ldexpf.
11901         * doc/posix-functions/ldexpf.texi: Mention the new module.
11902
11903 2011-10-06  Bruno Haible  <bruno@clisp.org>
11904
11905         frexpf: Work around problems on IRIX and mingw.
11906         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
11907         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
11908         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
11909         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
11910         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
11911         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
11912         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
11913
11914 2011-10-06  Bruno Haible  <bruno@clisp.org>
11915
11916         fabsf: Drop assumption about library that defines fabsf.
11917         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
11918         AC_CHECK_FUNCS.
11919         * modules/fabsf (Files): Add m4/mathfunc.m4.
11920
11921 2011-10-06  Bruno Haible  <bruno@clisp.org>
11922
11923         frexpf: Drop assumption about library that defines frexpf.
11924         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
11925         'int *', 'float *', 'long double *', 'float', 'long double'.
11926         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
11927         AC_CHECK_FUNCS.
11928         * modules/frexpf (Files): Add m4/mathfunc.m4.
11929
11930         Tests for module 'frexpf'.
11931         * modules/frexpf-tests: New file.
11932         * tests/test-frexpf.c: New file.
11933
11934         New module 'frexpf'.
11935         * lib/math.in.h (frexpf): New declaration.
11936         * lib/frexpf.c: New file.
11937         * m4/frexpf.m4: New file.
11938         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
11939         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
11940         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
11941         * modules/frexpf: New file.
11942         * tests/test-math-c++.cc: Check the declaration of frexpf.
11943         * doc/posix-functions/frexpf.texi: Mention the new module.
11944
11945 2011-10-06  Bruno Haible  <bruno@clisp.org>
11946
11947         math: Sort function declarations of math.in.h.
11948         * lib/math.in.h (frexp, logb): Move declarations.
11949
11950 2011-10-05  Bruno Haible  <bruno@clisp.org>
11951
11952         Tests for module 'modff'.
11953         * modules/modff-tests: New file.
11954         * tests/test-modff.c: New file.
11955
11956         New module 'modff'.
11957         * lib/math.in.h (modff): New declaration.
11958         * lib/modff.c: New file.
11959         * m4/modff.m4: New file.
11960         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
11961         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
11962         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
11963         * modules/modff: New file.
11964         * tests/test-math-c++.cc: Check the declaration of modff.
11965         * doc/posix-functions/modff.texi: Mention the new module.
11966
11967         modf tests: Make test sharper.
11968         * tests/test-modf.c (main): Strengthen upper bound.
11969
11970         modf: Use a .m4 file.
11971         * m4/modf.m4: New file.
11972         * modules/modf (Files): Add it.
11973         (configure.ac): Just invoke gl_FUNC_MODF.
11974
11975 2011-10-05  Bruno Haible  <bruno@clisp.org>
11976
11977         Tests for module 'fmodf'.
11978         * modules/fmodf-tests: New file.
11979         * tests/test-fmodf.c: New file.
11980
11981         New module 'fmodf'.
11982         * lib/math.in.h (fmodf): New declaration.
11983         * lib/fmodf.c: New file.
11984         * m4/fmodf.m4: New file.
11985         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
11986         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
11987         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
11988         * modules/fmodf: New file.
11989         * tests/test-math-c++.cc: Check the declaration of fmodf.
11990         * doc/posix-functions/fmodf.texi: Mention the new module.
11991
11992         fmod: Use a .m4 file.
11993         * m4/fmod.m4: New file.
11994         * modules/fmod (Files): Add it.
11995         (configure.ac): Just invoke gl_FUNC_FMOD.
11996
11997 2011-10-05  Bruno Haible  <bruno@clisp.org>
11998
11999         Tests for module 'fabsf'.
12000         * modules/fabsf-tests: New file.
12001         * tests/test-fabsf.c: New file.
12002
12003         New module 'fabsf'.
12004         * lib/math.in.h (fabsf): New declaration.
12005         * lib/fabsf.c: New file.
12006         * m4/fabsf.m4: New file.
12007         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
12008         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
12009         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
12010         * modules/fabsf: New file.
12011         * tests/test-math-c++.cc: Check the declaration of fabsf.
12012         * doc/posix-functions/fabsf.texi: Mention the new module.
12013
12014         fabs: Use a .m4 file.
12015         * m4/fabs.m4: New file.
12016         * modules/fabs (Files): Add it.
12017         (configure.ac): Just invoke gl_FUNC_FABS.
12018
12019 2011-10-05  Jim Meyering  <meyering@redhat.com>
12020
12021         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
12022         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
12023         ls -lL regression introduced in coreutils-8.12, it does so at the
12024         cost of an additional stat call in the common case.  Besides, now
12025         that the kernel change that prompted commit 95f7c57f has been reverted
12026         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
12027         we have no use for commit 95f7c57f, "file-has-acl: use
12028         acl_extended_file_nofollow if available".
12029
12030 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
12031
12032         file-has-acl: revert unintended change in behavior of ls -L
12033         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
12034         derived from...
12035         (file_has_acl): ...code here.  Call it.
12036         This problem was introduced with 2011-07-22 commit 95f7c57f,
12037         "file-has-acl: use acl_extended_file_nofollow if available".
12038         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
12039
12040 2011-10-03  Bruno Haible  <bruno@clisp.org>
12041
12042         poll: Avoid link errors on MSVC.
12043         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
12044         * modules/poll (Depends-on): Add sockets.
12045         (Link): New section.
12046         * NEWS: Mention the change.
12047         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
12048         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
12049         $(LIB_POLL) instead of $(LIBSOCKET).
12050
12051 2011-10-03  Bruno Haible  <bruno@clisp.org>
12052
12053         sys_select tests: Fix link error on MSVC 9.
12054         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
12055         with $(LIB_SELECT) instead of $(LIBSOCKET).
12056
12057 2011-10-03  Bruno Haible  <bruno@clisp.org>
12058
12059         sys_select: Fix compilation error on mingw.
12060         * lib/sys_select.in.h: On native Windows, include <io.h>.
12061
12062 2011-10-03  Bruno Haible  <bruno@clisp.org>
12063
12064         wmemset: Support for MSVC.
12065         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
12066         whether wmemset() exists.
12067
12068 2011-10-03  Bruno Haible  <bruno@clisp.org>
12069
12070         wmemmove: Support for MSVC.
12071         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
12072         whether wmemmove() exists.
12073
12074 2011-10-03  Bruno Haible  <bruno@clisp.org>
12075
12076         wmemcpy: Support for MSVC.
12077         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
12078         whether wmemcpy() exists.
12079
12080 2011-10-03  Bruno Haible  <bruno@clisp.org>
12081
12082         wmemcmp: Support for MSVC.
12083         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
12084         whether wmemcmp() exists.
12085
12086 2011-10-03  Bruno Haible  <bruno@clisp.org>
12087
12088         wmemchr: Support for MSVC.
12089         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
12090         whether wmemchr() exists.
12091
12092 2011-10-03  Bruno Haible  <bruno@clisp.org>
12093
12094         glthread/*, strsignal: Support for MSVC.
12095         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
12096         including <winsock.h> on MSVC 9.
12097         * lib/glthread/lock.h: Likewise.
12098         * lib/glthread/thread.h: Likewise.
12099         * lib/glthread/tls.h: Likewise.
12100         * lib/glthread/yield.h: Likewise.
12101         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
12102         if HAVE_UNISTD_H is false.
12103         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
12104
12105 2011-10-03  Bruno Haible  <bruno@clisp.org>
12106
12107         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
12108         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
12109         Set to 100000.
12110
12111 2011-10-03  Bruno Haible  <bruno@clisp.org>
12112
12113         acl: Fix specification.
12114         * lib/file-has-acl.c (file_has_acl): Fix specification.
12115
12116 2011-10-03  Bruno Haible  <bruno@clisp.org>
12117
12118         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
12119         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
12120         (compute_curr_prefix, shared_library_fullname,
12121         find_shared_library_fullname, get_shared_library_fullname, relocate):
12122         Use it together with PIC && INSTALLDIR.
12123         Reported by <jojelino@gmail.com>
12124         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
12125
12126 2011-10-01  Jim Meyering  <meyering@redhat.com>
12127
12128         maint.mk: adjust a release-related rule not to require use of gzip
12129         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
12130         Instead, check each file in $(DIST_ARCHIVES).  This is better for
12131         projects that build only .tar.xz files.  Also fix an erroneous test.
12132
12133         test-linkat: don't leave behind a temporary file
12134         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
12135         Otherwise, coreutils' "make distcheck" would fail with this:
12136           Only in /c/cu/tests/torture/coreutils/test/\
12137             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
12138           make[2]: *** [my-distcheck] Error 1
12139
12140         float, math: add omitted file
12141         * lib/itold.c: Add file, required for yesterday's float change.
12142
12143 2011-10-01  Bruno Haible  <bruno@clisp.org>
12144
12145         isinf: Fix for OpenBSD/x86.
12146         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
12147         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
12148         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
12149
12150 2011-10-01  Bruno Haible  <bruno@clisp.org>
12151
12152         isfinite: Fix syntax error in configure test.
12153         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
12154
12155         isfinite: Fix typo.
12156         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
12157         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
12158
12159 2011-10-01  Bruno Haible  <bruno@clisp.org>
12160
12161         nonblocking tests: Fix test failure on Linux/IA-64.
12162         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
12163         Set to 270000.
12164
12165 2011-10-01  Bruno Haible  <bruno@clisp.org>
12166
12167         mkfifoat tests: Fix a test failure on mingw.
12168         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
12169         with error ENOSYS.
12170
12171 2011-09-30  Bruno Haible  <bruno@clisp.org>
12172
12173         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
12174         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
12175         'long double'. Set REPLACE_ITOLD.
12176         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
12177         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
12178         * lib/itold.c: New file.
12179         * modules/float (Files): Add lib/itold.c.
12180         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
12181         (Makefile.am): Substitute REPLACE_ITOLD.
12182         * modules/math (Depends-on): Add float.
12183         (Makefile.am): Substitute REPLACE_ITOLD.
12184         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
12185         * doc/posix-headers/math.texi: Likewise.
12186         * doc/posix-functions/logl.texi: Likewise.
12187
12188 2011-09-30  Bruno Haible  <bruno@clisp.org>
12189
12190         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
12191         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
12192         Set to 140000.
12193
12194 2011-09-30  Bruno Haible  <bruno@clisp.org>
12195
12196         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
12197         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
12198         invocation, say "right after AC_PROG_CC_STDC", not "right after
12199         AC_PROG_CC".
12200         Reported by Gary V. Vaughan <gary@gnu.org>.
12201
12202 2011-09-30  Bruno Haible  <bruno@clisp.org>
12203
12204         Centralize C99 requirement.
12205         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
12206         * modules/stdarg (configure.ac-early): Invoke it instead of
12207         AC_PROG_CC_STDC.
12208         Reported by Gary V. Vaughan and Paul Eggert.
12209
12210 2011-09-29  Bruno Haible  <bruno@clisp.org>
12211
12212         float: Fix LDBL_MAX value on Linux/PowerPC.
12213         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
12214         on Linux/PowerPC.
12215         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
12216         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
12217         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
12218         platform.
12219         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
12220
12221 2011-09-29  Bruno Haible  <bruno@clisp.org>
12222
12223         doc: Improve doc about gl_EARLY.
12224         * doc/gnulib-tool.texi (Initial import): Mention where to place an
12225         AC_PROG_CC_STDC invocation.
12226         Reported by Gary V. Vaughan <gary@gnu.org>.
12227
12228 2011-09-28  Bruno Haible  <bruno@clisp.org>
12229
12230         fgetc, fputc, fread, fwrite tests: Fix link error.
12231         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
12232         on non-MSVC platforms.
12233         * tests/test-fputc.c (main): Likewise.
12234         * tests/test-fread.c (main): Likewise.
12235         * tests/test-fwrite.c (main): Likewise.
12236         Reported by Jim Meyering.
12237
12238 2011-09-27  Bruno Haible  <bruno@clisp.org>
12239
12240         fputc, fwrite tests: Avoid test failure on MSVC.
12241         * tests/test-fgetc.c: Include msvc-inval.h.
12242         (main): Invoke gl_msvc_inval_ensure_handler.
12243         * tests/test-fputc.c: Include msvc-inval.h.
12244         (main): Invoke gl_msvc_inval_ensure_handler.
12245         * tests/test-fread.c: Include msvc-inval.h.
12246         (main): Invoke gl_msvc_inval_ensure_handler.
12247         * tests/test-fwrite.c: Include msvc-inval.h.
12248         (main): Invoke gl_msvc_inval_ensure_handler.
12249         * modules/fgetc-tests (Depends-on): Add msvc-inval.
12250         * modules/fputc-tests (Depends-on): Likewise.
12251         * modules/fread-tests (Depends-on): Likewise.
12252         * modules/fwrite-tests (Depends-on): Likewise.
12253
12254 2011-09-27  Bruno Haible  <bruno@clisp.org>
12255
12256         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
12257         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
12258         (raise): Remove older, duplicated declaration.
12259         (_gl_raise_SIGPIPE): New declaration.
12260         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
12261         (rpl_raise): Remove function.
12262         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
12263         a gnulib-defined SIGPIPE here.
12264         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
12265         'sigprocmask' has detected missing signal-blocking and the module
12266         'sigpipe' is enabled.
12267         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
12268
12269 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
12270
12271         base64-tests: avoid memory leak
12272         * tests/test-base64.c (main): Plug memory leak.
12273
12274         base32: new module
12275         * modules/base32: New module.
12276         * lib/base32.c: New file.
12277         * lib/base32.h: Likewise.
12278         * m4/base32.m4: Likewise.
12279         * modules/base32-tests: New test.
12280         * tests/test-base32.c: Likewise.
12281         * MODULES.html.sh (Misc): Mention it.
12282
12283 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
12284
12285         gnulib: use more-standard license notice wording
12286         * gnulib-tool (func_emit_copyright_notice): When emitting a
12287         license notice into a file, use the standard wording as suggested
12288         by the current information for GNU maintainers, except say "file"
12289         rather than "program".  The new wording gives a license version
12290         number, which addresses an issue raised by Glenn Morris in
12291         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
12292         * m4/onceonly.m4: Use that same wording here, too.
12293
12294         dup2: minor simplification
12295         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
12296         as lib/dup2.c no longer uses 'inline'.
12297
12298 2011-09-25  Bruno Haible  <bruno@clisp.org>
12299
12300         strings: Fix compilation error on MSVC.
12301         * lib/strings.in.h: Include <stddef.h> for size_t.
12302
12303 2011-09-25  Bruno Haible  <bruno@clisp.org>
12304
12305         fflush et al.: Document limitation on MSVC.
12306         * doc/posix-functions/fflush.texi: Document possible crash in handling
12307         mode other than DEFAULT_HANDLING.
12308         * doc/posix-functions/fgetc.texi: Likewise.
12309         * doc/posix-functions/fputc.texi: Likewise.
12310         * doc/posix-functions/fread.texi: Likewise.
12311         * doc/posix-functions/fwrite.texi: Likewise.
12312
12313 2011-09-25  Bruno Haible  <bruno@clisp.org>
12314
12315         msvc-inval: Allow three invalid parameter handling modes.
12316         * lib/msvc-inval.h: Don't include <stdlib.h> here.
12317         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
12318         macros.
12319         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
12320         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
12321         SANE_LIBRARY_HANDLING as a no-op.
12322         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
12323         <stdlib.h>.
12324         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
12325
12326 2011-09-25  Bruno Haible  <bruno@clisp.org>
12327
12328         msvc-inval: Make handler multithread-safe.
12329         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
12330         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
12331         declarations.
12332         (gl_msvc_inval_current): New declaration.
12333         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
12334         Operate on the structure returned by gl_msvc_inval_current().
12335         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
12336         Remove varaiables.
12337         (tls_index, tls_initialized): New variables.
12338         (not_per_thread): New variable.
12339         (gl_msvc_inval_current): New function.
12340         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
12341         returned by gl_msvc_inval_current().
12342
12343 2011-09-25  Bruno Haible  <bruno@clisp.org>
12344
12345         msvc-inval: Install handler globally.
12346         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
12347         !_MSC_VER.
12348         (gl_msvc_invalid_parameter_handler): Remove declaration.
12349         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
12350         declarations.
12351         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
12352         Install the handler globally, don't uninstall it.
12353         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
12354         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
12355         currently valid, call RaiseException instead.
12356         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
12357         for !_MSC_VER.
12358
12359 2011-09-25  Bruno Haible  <bruno@clisp.org>
12360
12361         strerror_r-posix: Fix for MSVC 9.
12362         * lib/strerror_r.c (local_snprintf): New function.
12363         (snprintf): Define to local_snprintf, not to _snprintf.
12364
12365 2011-09-25  Bruno Haible  <bruno@clisp.org>
12366
12367         ftruncate: Support for MSVC 9.
12368         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
12369         (chsize_nothrow): New function.
12370         (chsize): Redefine as a macro.
12371         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
12372         * modules/ftruncate (Depends-on): Add msvc-inval.
12373
12374 2011-09-25  Bruno Haible  <bruno@clisp.org>
12375
12376         New module 'fstat'.
12377         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
12378         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
12379         * lib/fchdir.c (rpl_fstat): Remove function.
12380         * m4/fstat.m4: New file.
12381         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
12382         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
12383         declared.
12384         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
12385         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
12386         * modules/fstat: New file.
12387         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
12388         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
12389         is set.
12390         * doc/posix-functions/fstat.texi: Mention the new module and the
12391         problem on MSVC.
12392         * NEWS: Mention the change.
12393         * modules/acl (Depends-on): Add fstat.
12394         * modules/chdir-safer (Depends-on): Likewise.
12395         * modules/chown (Depends-on): Likewise.
12396         * modules/copy-file (Depends-on): Likewise.
12397         * modules/fchdir (Depends-on): Likewise.
12398         * modules/fdopendir (Depends-on): Likewise.
12399         * modules/fopen (Depends-on): Likewise.
12400         * modules/fts (Depends-on): Likewise.
12401         * modules/getcwd (Depends-on): Likewise.
12402         * modules/isapipe (Depends-on): Likewise.
12403         * modules/linkat (Depends-on): Likewise.
12404         * modules/lseek (Depends-on): Likewise.
12405         * modules/mkdir-p (Depends-on): Likewise.
12406         * modules/open (Depends-on): Likewise.
12407         * modules/openat (Depends-on): Likewise.
12408         * modules/read-file (Depends-on): Likewise.
12409         * modules/renameat (Depends-on): Likewise.
12410         * modules/utimens (Depends-on): Likewise.
12411
12412 2011-09-25  Bruno Haible  <bruno@clisp.org>
12413
12414         linkat: Fix compilation on MSVC 9.
12415         * lib/linkat.c: Don't include <stdint.h>.
12416
12417 2011-09-25  Bruno Haible  <bruno@clisp.org>
12418
12419         fclose: Support for MSVC 9.
12420         * lib/fclose.c: Include msvc-inval.h.
12421         (fclose_nothrow): New function.
12422         (rpl_fclose): Use it.
12423         * modules/fclose (Depends-on): Add msvc-inval.
12424         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
12425
12426 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
12427
12428         dup2: minor simplifications
12429         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
12430         that it's a performance win.
12431         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
12432         ! defined __CYGWIN__)" to "ifdef F_GETFL".
12433
12434 2011-09-24  Jim Meyering  <meyering@redhat.com>
12435
12436         test-futimens: avoid a warning from gcc -Wshadow
12437         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
12438         to avoid a shadowing warning.
12439
12440 2011-09-24  Bruno Haible  <bruno@clisp.org>
12441
12442         fdopen: Support for MSVC 9.
12443         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
12444         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
12445         * lib/fdopen.c: Include msvc-inval.h.
12446         (fdopen_nothrow): New function.
12447         (rpl_fdopen): Use it.
12448         * modules/fdopen (Depends-on): Add msvc-inval.
12449         * modules/fclose-tests (Depends-on): Add fdopen.
12450         * modules/fflush-tests (Depends-on): Likewise.
12451         * modules/fgetc-tests (Depends-on): Likewise.
12452         * modules/fputc-tests (Depends-on): Likewise.
12453         * modules/fread-tests (Depends-on): Likewise.
12454         * modules/freopen-tests (Depends-on): Likewise.
12455         * modules/fseeko-tests (Depends-on): Likewise.
12456         * modules/ftello-tests (Depends-on): Likewise.
12457         * modules/fwrite-tests  (Depends-on): Likewise.
12458         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
12459
12460 2011-09-24  Bruno Haible  <bruno@clisp.org>
12461
12462         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
12463         * modules/fgetc-tests (Depends-on): Add unistd.
12464         * modules/fputc-tests (Depends-on): Likewise.
12465         * modules/fread-tests (Depends-on): Likewise.
12466         * modules/fwrite-tests (Depends-on): Likewise.
12467
12468 2011-09-24  Bruno Haible  <bruno@clisp.org>
12469
12470         dup: Simplify autoconf test.
12471         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
12472         on gl_MSVC_INVAL's result.
12473
12474 2011-09-24  Bruno Haible  <bruno@clisp.org>
12475
12476         Tests for function fwrite().
12477         * modules/fwrite-tests: New file.
12478         * tests/test-fwrite.c: New file.
12479         * modules/stdio-tests (Depends-on): Add fwrite-tests.
12480
12481         Tests for function fread().
12482         * modules/fread-tests: New file.
12483         * tests/test-fread.c: New file.
12484         * modules/stdio-tests (Depends-on): Add fread-tests.
12485
12486         Activate fputc tests.
12487         * modules/stdio-tests (Depends-on): Add fputc-tests.
12488
12489         Enhance fgetc, fputc tests.
12490         * tests/test-fgetc.c (main): Also test the stream's error indicator.
12491         * tests/test-fputc.c (main): Likewise.
12492
12493 2011-09-24  Bruno Haible  <bruno@clisp.org>
12494
12495         write: Support for MSVC 9.
12496         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
12497         is not 1.
12498         * lib/write.c (write_nothrow): New function.
12499         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
12500         not 1. Use write_nothrow.
12501         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
12502         invalid parameter handler.
12503         (gl_PREREQ_WRITE): New macro.
12504         * modules/write (Depends-on): Add msvc-inval.
12505         (configure.ac): Invoke gl_PREREQ_WRITE.
12506         * doc/posix-functions/write.texi: Mention the problem on MSVC.
12507
12508 2011-09-24  Bruno Haible  <bruno@clisp.org>
12509
12510         read: Fix last commit.
12511         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
12512
12513 2011-09-24  Bruno Haible  <bruno@clisp.org>
12514
12515         dup2: Fix last commit.
12516         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
12517         (rpl_dup2): Disable fcntl workaround on native Windows.
12518
12519         sigprocmask: Make code safer.
12520         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
12521         section that changes macro definitions for this compilation unit.
12522
12523 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
12524
12525         dup2: clarify by coalescing Windows-specific material
12526         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
12527         "msvc-nothrow.h"' to the Windows-specific section, so that the
12528         Emacs source need not contain these include files.
12529         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
12530         Windows-specific fixes into this function rather than just the
12531         nothrow fix, as this shortens and clarifies the code.  Always
12532         define as a function, as that's a bit cleaner than having it be
12533         sometimes a function and sometimes a macro.
12534         (rpl_dup2): Move the Windows-specific stuff out of here and into
12535         ms_windows_dup2.  Don't protect the Haiku-related fix with
12536         "#if !defined __linux__", as the same code also works around
12537         a Linux kernel bug, and it doesn't add any system calls on any
12538         platform.  Add comment about FreeBSD 6.1.
12539
12540         sigprocmask: move #include directive
12541         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
12542         Windows-specific section, so that the Emacs source need not
12543         contain msvc-inval.h.
12544
12545 2011-09-23  Bruno Haible  <bruno@clisp.org>
12546
12547         read: Support for MSVC 9.
12548         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
12549         is not 1.
12550         * lib/read.c (read_nothrow): New function.
12551         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
12552         read_nothrow.
12553         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
12554         invalid parameter handler.
12555         (gl_PREREQ_READ): New macro.
12556         * modules/read (Depends-on): Add msvc-inval.
12557         (configure.ac): Invoke gl_PREREQ_READ.
12558         * doc/posix-functions/read.texi: Mention the problem on MSVC.
12559
12560 2011-09-23  Bruno Haible  <bruno@clisp.org>
12561
12562         close: Support for MSVC 9.
12563         * lib/close.c: Include <errno.h>, msvc-inval.h.
12564         (close_nothrow): New function.
12565         (rpl_close): Use it.
12566         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
12567         invalid parameter handler.
12568         * modules/close (Depends-on): Add msvc-inval.
12569         * modules/dup2-tests (Depends-on): Add close.
12570         * modules/dup3-tests (Depends-on): Likewise.
12571         * modules/fcntl-tests (Depends-on): Likewise.
12572         * modules/spawn-pipe-tests (Depends-on): Likewise.
12573         * modules/unistd-safer-tests (Depends-on): Likewise.
12574         * doc/posix-functions/close.texi: Mention the problem on MSVC.
12575
12576 2011-09-23  Bruno Haible  <bruno@clisp.org>
12577
12578         New module 'dup'.
12579         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
12580         Allow replacement.
12581         * lib/dup.c: New file.
12582         * lib/fchdir.c (rpl_dup): Remove function.
12583         * m4/dup.m4: New file.
12584         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
12585         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
12586         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
12587         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
12588         * modules/dup: New file.
12589         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
12590         'dup' module is in use.
12591         * modules/fdopendir (Depends-on): Add dup.
12592         * modules/fdutimensat-tests (Depends-on): Likewise.
12593         * modules/fts (Depends-on): Likewise.
12594         * modules/futimens-tests (Depends-on): Likewise.
12595         * modules/posix_spawnp-tests (Depends-on): Likewise.
12596         * modules/unistd-safer-tests (Depends-on): Likewise.
12597         * modules/utimens-tests (Depends-on): Likewise.
12598         * doc/posix-functions/dup.texi: Mention the new module and the problem
12599         on MSVC.
12600
12601 2011-09-23  Bruno Haible  <bruno@clisp.org>
12602
12603         getdtablesize: Support for MSVC 9.
12604         * lib/getdtablesize.c: Include msvc-inval.h.
12605         (_setmaxstdio_nothrow): New function.
12606         (_setmaxstdio): Redefine it.
12607         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
12608         * modules/getdtablesize (Depends-on): Add msvc-inval.
12609         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
12610
12611 2011-09-23  Bruno Haible  <bruno@clisp.org>
12612
12613         signal-h: Rename from signal.
12614         * modules/signal-h: Renamed from modules/signal.
12615         * modules/pthread_sigmask (Depends-on): Update.
12616         * modules/raise (Depends-on): Likewise.
12617         * modules/sigaction (Depends-on): Likewise.
12618         * modules/sigpipe (Depends-on): Likewise.
12619         * modules/sigprocmask (Depends-on): Likewise.
12620         * modules/sys_select (Depends-on): Likewise.
12621         * modules/signal-h-tests: Renamed from modules/signal-tests.
12622         (Files, Depends-on, Makefile.am): Update.
12623         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
12624         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
12625         (Files, Makefile.am): Update.
12626         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
12627         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
12628         * modules/signal: New placeholder file.
12629         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
12630         * doc/posix-headers/signal.texi: Update.
12631         * NEWS: Mention the change.
12632
12633 2011-09-23  Bruno Haible  <bruno@clisp.org>
12634
12635         sigprocmask: Avoid crashes through signal() on MSVC 9.
12636         * lib/sigprocmask.c: Include msvc-inval.h.
12637         (signal_nothrow): New function.
12638         (signal): Redefine it.
12639         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
12640         * modules/sigprocmask (Depends-on): Add msvc-inval.
12641         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
12642
12643 2011-09-23  Bruno Haible  <bruno@clisp.org>
12644
12645         Tests for module 'raise'.
12646         * modules/raise-tests: New file.
12647         * tests/test-raise.c: New file.
12648
12649         raise: Support for MSVC.
12650         * lib/signal.in.h (raise): New declaration.
12651         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
12652         for native Windows platforms.
12653         * m4/raise.m4: New file.
12654         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
12655         HAVE_RAISE, REPLACE_RAISE.
12656         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
12657         REPLACE_RAISE.
12658         * modules/raise (Status, Notice): Remove fields.
12659         (Files): Add m4/raise.m4.
12660         (Depends-on): Add signal, msvc-inval.
12661         (configure.ac): Use the common idioms.
12662         (Maintainer): Add me.
12663         * tests/test-signal-c++.cc: Check the signature of raise.
12664         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
12665
12666 2011-09-23  Bruno Haible  <bruno@clisp.org>
12667
12668         pipe2: Fix compilation on pre-C99 compilers.
12669         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
12670
12671 2011-09-23  Bruno Haible  <bruno@clisp.org>
12672
12673         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
12674         * lib/msvc-nothrow.h: New file.
12675         * lib/msvc-nothrow.c: New file.
12676         * m4/msvc-nothrow.m4: New file.
12677         * modules/msvc-nothrow: New file.
12678         * lib/dup2.c: Include msvc-nothrow.h.
12679         (rpl_dup2): No need to protect _get_osfhandle call here.
12680         * lib/accept4.c: Include msvc-nothrow.h.
12681         * lib/error.c: Likewise.
12682         * lib/fcntl.c: Likewise.
12683         * lib/lseek.c: Likewise.
12684         * lib/nonblocking.c: Likewise.
12685         * lib/poll.c: Likewise.
12686         * lib/read.c: Likewise.
12687         * lib/select.c: Likewise.
12688         * lib/sockets.h: Likewise.
12689         * lib/sockets.c: Likewise.
12690         * lib/stdio-read.c: Likewise.
12691         * lib/stdio-write.c: Likewise.
12692         * lib/write.c: Likewise.
12693         * lib/w32sock.h: Likewise.
12694         * lib/w32spawn.h: Likewise.
12695         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
12696         * lib/fsync.c: Likewise.
12697         * lib/isapipe.c: Likewise.
12698         * modules/dup2 (Depends-on): Add msvc-nothrow.
12699         * modules/accept4 (Depends-on): Likewise.
12700         * modules/error (Depends-on): Likewise.
12701         * modules/fcntl (Depends-on): Likewise.
12702         * modules/lseek (Depends-on): Likewise.
12703         * modules/nonblocking (Depends-on): Likewise.
12704         * modules/poll (Depends-on): Likewise.
12705         * modules/read (Depends-on): Likewise.
12706         * modules/select (Depends-on): Likewise.
12707         * modules/sockets (Depends-on): Likewise.
12708         * modules/sigpipe (Depends-on): Likewise.
12709         * modules/write (Depends-on): Likewise.
12710         * modules/accept (Depends-on): Likewise.
12711         * modules/bind (Depends-on): Likewise.
12712         * modules/connect (Depends-on): Likewise.
12713         * modules/gethostname (Depends-on): Likewise.
12714         * modules/getpeername (Depends-on): Likewise.
12715         * modules/getsockname (Depends-on): Likewise.
12716         * modules/getsockopt (Depends-on): Likewise.
12717         * modules/ioctl (Depends-on): Likewise.
12718         * modules/listen (Depends-on): Likewise.
12719         * modules/recv (Depends-on): Likewise.
12720         * modules/recvfrom (Depends-on): Likewise.
12721         * modules/send (Depends-on): Likewise.
12722         * modules/sendto (Depends-on): Likewise.
12723         * modules/setsockopt (Depends-on): Likewise.
12724         * modules/shutdown (Depends-on): Likewise.
12725         * modules/socket (Depends-on): Likewise.
12726         * modules/execute (Depends-on): Likewise.
12727         * modules/spawn-pipe (Depends-on): Likewise.
12728         * modules/flock (Depends-on): Likewise.
12729         * modules/fsync (Depends-on): Likewise.
12730         * modules/isapipe (Depends-on): Likewise.
12731         * tests/test-cloexec.c: Include msvc-nothrow.h.
12732         * tests/test-dup-safer.c: Likewise.
12733         * tests/test-dup2.c: Likewise.
12734         * tests/test-dup3.c: Likewise.
12735         * tests/test-fcntl.c: Likewise.
12736         * tests/test-pipe.c: Likewise.
12737         * tests/test-pipe2.c: Likewise.
12738         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
12739         * modules/unistd-safer-tests (Depends-on): Likewise.
12740         * modules/dup2-tests (Depends-on): Likewise.
12741         * modules/dup3-tests (Depends-on): Likewise.
12742         * modules/fcntl-tests (Depends-on): Likewise.
12743         * modules/pipe-posix-tests (Depends-on): Likewise.
12744         * modules/pipe2-tests (Depends-on): Likewise.
12745
12746 2011-09-23  Bruno Haible  <bruno@clisp.org>
12747
12748         dup2: Make code more maintainable.
12749         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
12750         (rpl_dup2): Use it.
12751         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
12752         * modules/dup2 (configure.ac): Invoke it.
12753         Reported by Paul Eggert.
12754
12755 2011-09-23  Bruno Haible  <bruno@clisp.org>
12756
12757         msvc-inval: Fix compilation error.
12758         * lib/msvc-inval.h: Include <excpt.h>.
12759
12760 2011-09-23  Bruno Haible  <bruno@clisp.org>
12761
12762         mkdir: Tweak for MSVC 9.
12763         * lib/sys_stat.in.h: Update comments.
12764         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
12765
12766         Tests for module 'chdir'.
12767         * modules/chdir-tests: New file.
12768         * tests/test-chdir.c: New file.
12769
12770         New module 'chdir'.
12771         * modules/chdir: New file.
12772         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
12773         (chdir): New declaration.
12774         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
12775         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
12776         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
12777         * tests/test-unistd-c++.cc: Check signature of chdir.
12778         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
12779         * modules/chdir-long (Depends-on): Add chdir.
12780         * modules/fchdir (Depends-on): Likewise.
12781         * modules/rename (Depends-on): Likewise.
12782         * modules/savewd (Depends-on): Likewise.
12783
12784         rmdir: Support for mingw, MSVC 9.
12785         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
12786         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
12787
12788         getcwd: Tweak for MSVC 9.
12789         * lib/unistd.in.h: Update comments.
12790         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
12791
12792 2011-09-22  Bruno Haible  <bruno@clisp.org>
12793
12794         strerror_r-posix: Avoid a link error on MSVC.
12795         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
12796         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
12797
12798 2011-09-22  Bruno Haible  <bruno@clisp.org>
12799
12800         select: Avoid link errors on MSVC.
12801         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
12802         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
12803         * modules/pselect (Link): Likewise.
12804         * NEWS: Mention the change.
12805         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
12806         test-select-stdin against $(LIB_SELECT).
12807         * modules/pselect-tests (Makefile.am): Link test-pselect against
12808         $(LIB_SELECT).
12809
12810 2011-09-22  Bruno Haible  <bruno@clisp.org>
12811
12812         select: Avoid compilation error on MSVC.
12813         * lib/select.c: Don't include <stdbool.h>.
12814
12815 2011-09-21  Bruno Haible  <bruno@clisp.org>
12816
12817         Consolidate all uses of PATH_MAX in *.m4 files.
12818         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
12819         macros.
12820         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
12821         and gl_PATHMAX_SNIPPET.
12822         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
12823         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
12824         * modules/chdir-long (Files): Add m4/pathmax.m4.
12825         * modules/getcwd (Files): Likewise.
12826
12827 2011-09-21  Bruno Haible  <bruno@clisp.org>
12828
12829         ftruncate: Un-deprecate, concentrate on Win32 support.
12830         * modules/ftruncate (Status, Notice): Remove sections.
12831         (Depends-on): Add largefile.
12832         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
12833         non-mingw platforms.
12834         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
12835         include <io.h>.
12836         * modules/perror-tests (Depends-on): Add ftruncate.
12837         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
12838         'ftruncate' module.
12839
12840 2011-09-21  Bruno Haible  <bruno@clisp.org>
12841
12842         Add dependencies to new dirent related modules.
12843         * modules/opendir (Depends-on): Add closedir.
12844         * modules/getcwd (Depends-on): Add opendir, closedir.
12845         * modules/dirent-safer-tests (Depends-on): Likewise.
12846         * modules/fdopendir-tests (Depends-on): Likewise.
12847         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
12848         * modules/renameat-tests (Depends-on): Likewise.
12849
12850 2011-09-21  Bruno Haible  <bruno@clisp.org>
12851
12852         opendir: Avoid compilation error on mingw.
12853         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
12854         * modules/opendir (Depends-on): Add unistd.
12855
12856 2011-09-21  Bruno Haible  <bruno@clisp.org>
12857
12858         ftruncate tests: Avoid a test failure on mingw.
12859         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
12860
12861 2011-09-21  Bruno Haible  <bruno@clisp.org>
12862
12863         select tests: Avoid test failures on OSF/1 5.1 and mingw.
12864         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
12865         native Windows.
12866
12867 2011-09-21  Bruno Haible  <bruno@clisp.org>
12868
12869         New module 'fdopen'.
12870         * lib/stdio.in.h (fdopen): New declaration.
12871         * lib/fdopen.c: New file.
12872         * m4/fdopen.m4: New file.
12873         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
12874         REPLACE_FDOPEN.
12875         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
12876         REPLACE_FDOPEN.
12877         * modules/fdopen: New file.
12878         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
12879         * tests/test-stdio-c++.cc: Check signature of fdopen.
12880         * doc/posix-functions/fdopen.texi: Mention the new module.
12881
12882 2011-09-21  Bruno Haible  <bruno@clisp.org>
12883
12884         unlockpt tests: Avoid test failure on NetBSD 5.1.
12885         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
12886         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
12887
12888 2011-09-21  Bruno Haible  <bruno@clisp.org>
12889
12890         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
12891         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
12892         * tests/test-getlogin_r.c (main): Likewise.
12893
12894 2011-09-20  Bruno Haible  <bruno@clisp.org>
12895
12896         time tests: Don't require pid_t.
12897         * doc/posix-headers/time.texi: Revert last change.
12898         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
12899         * tests/test-time.c: Comment out the check for pid_t.
12900
12901 2011-09-20  Bruno Haible  <bruno@clisp.org>
12902
12903         fsync tests: Avoid a test failure on mingw.
12904         * tests/test-fsync.c (main): Allow a failure with EIO.
12905
12906 2011-09-20  Bruno Haible  <bruno@clisp.org>
12907
12908         euidaccess: Update comments.
12909         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
12910
12911 2011-09-20  Bruno Haible  <bruno@clisp.org>
12912
12913         Ensure EBADF returns for socket functions on mingw.
12914         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
12915         descriptor is invalid.
12916         * lib/bind.c (rpl_bind): Likewise.
12917         * lib/connect.c (rpl_connect): Likewise.
12918         * lib/getpeername.c (rpl_getpeername): Likewise.
12919         * lib/getsockname.c (rpl_getsockname): Likewise.
12920         * lib/getsockopt.c (rpl_getsockopt): Likewise.
12921         * lib/listen.c (rpl_listen): Likewise.
12922         * lib/recv.c (rpl_recv): Likewise.
12923         * lib/recvfrom.c (rpl_recvfrom): Likewise.
12924         * lib/send.c (rpl_send): Likewise.
12925         * lib/sendto.c (rpl_sendto): Likewise.
12926         * lib/setsockopt.c (rpl_setsockopt): Likewise.
12927         * lib/shutdown.c (rpl_shutdown): Likewise.
12928
12929 2011-09-20  Bruno Haible  <bruno@clisp.org>
12930
12931         select tests: EBADF tests.
12932         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
12933         test_bad_fd): New functions.
12934         (test_function): Invoke also test_bad_fd.
12935
12936 2011-09-20  Bruno Haible  <bruno@clisp.org>
12937
12938         Tests for module 'posix_spawn_file_actions_addopen.
12939         * modules/posix_spawn_file_actions_addopen-tests: New file.
12940         * tests/test-posix_spawn_file_actions_addopen.c: New file.
12941
12942         Tests for module 'posix_spawn_file_actions_adddup2'.
12943         * modules/posix_spawn_file_actions_adddup2-tests: New file.
12944         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
12945
12946         Tests for module 'posix_spawn_file_actions_addclose'.
12947         * modules/posix_spawn_file_actions_addclose-tests: New file.
12948         * tests/test-posix_spawn_file_actions_addclose.c: New file.
12949
12950 2011-09-20  Bruno Haible  <bruno@clisp.org>
12951
12952         Tests for module 'unlockpt'.
12953         * modules/unlockpt-tests: New file.
12954         * tests/test-unlockpt.c: New file.
12955         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
12956
12957         Tests for module 'grantpt'.
12958         * modules/grantpt-tests: New file.
12959         * tests/test-grantpt.c: New file.
12960         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
12961
12962 2011-09-20  Bruno Haible  <bruno@clisp.org>
12963
12964         freopen tests: EBADF tests.
12965         * tests/test-freopen.c: Include errno.h, unistd.h.
12966         (main): Add tests for EBADF, commented out for the moment.
12967
12968         fclose tests: EBADF tests.
12969         * tests/test-fclose.c (main): Add tests for EBADF.
12970
12971         fflush tests: EBADF tests.
12972         * tests/test-fflush.c: Include errno.h, macros.h.
12973         (main): Add tests for EBADF.
12974
12975         ftello tests: EBADF tests.
12976         * tests/test-ftello4.sh: New file.
12977         * tests/test-ftello4.c: New file.
12978         * modules/ftello-tests (Files): Add them.
12979         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
12980
12981         fseeko tests: EBADF tests.
12982         * tests/test-fseeko4.sh: New file.
12983         * tests/test-fseeko4.c: New file.
12984         * modules/fseeko-tests (Files): Add them.
12985         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
12986
12987         Tests for function fputc().
12988         * modules/fputc-tests: New file.
12989         * tests/test-fputc.c: New file.
12990         * modules/stdio-tests (Depends-on): Add fputc-tests.
12991
12992         Tests for function fgetc().
12993         * modules/fgetc-tests: New file.
12994         * tests/test-fgetc.c: New file.
12995         * modules/stdio-tests (Depends-on): Add fgetc-tests.
12996
12997         Tests for function fdopen().
12998         * modules/fdopen-tests: New file.
12999         * tests/test-fdopen.c: New file.
13000         * modules/stdio-tests (Depends-on): Add fdopen-tests.
13001
13002         Tests for module 'vdprintf'.
13003         * modules/vdprintf-tests: New file.
13004         * tests/test-vdprintf.c: New file.
13005
13006         Tests for module 'dprintf'.
13007         * modules/dprintf-tests: New file.
13008         * tests/test-dprintf.c: New file.
13009
13010 2011-09-20  Bruno Haible  <bruno@clisp.org>
13011
13012         Tests for module 'ioctl'.
13013         * modules/ioctl-tests: New file.
13014         * tests/test-ioctl.c: New file.
13015
13016 2011-09-20  Bruno Haible  <bruno@clisp.org>
13017
13018         fcntl tests: EBADF tests.
13019         * tests/test-fcntl.c (main): Add more tests for EBADF.
13020
13021 2011-09-20  Bruno Haible  <bruno@clisp.org>
13022
13023         utimensat tests: EBADF tests.
13024         * tests/test-utimensat.c (main): Add tests for EBADF.
13025
13026         renameat tests: EBADF tests.
13027         * tests/test-renameat.c (main): Add tests for EBADF.
13028
13029         mkfifoat tests: EBADF tests.
13030         * tests/test-mkfifoat.c (main): Add tests for EBADF.
13031
13032         readlinkat tests: EBADF tests.
13033         * tests/test-readlinkat.c (main): Add tests for EBADF.
13034
13035         symlinkat tests: EBADF tests.
13036         * tests/test-symlinkat.c (main): Add tests for EBADF.
13037
13038         linkat tests: EBADF tests.
13039         * tests/test-linkat.c (main): Add tests for EBADF.
13040
13041         Tests for module 'faccessat'.
13042         * modules/faccessat-tests: New file.
13043         * tests/test-faccessat.c: New file.
13044
13045         fdopendir tests: EBADF tests.
13046         * tests/test-fdopendir.c (main): Add more tests for EBADF.
13047
13048         openat tests: EBADF tests.
13049         * tests/test-fchownat.c (main): Add tests for EBADF.
13050         * tests/test-fstatat.c (main): Likewise.
13051         * tests/test-mkdirat.c (main): Likewise.
13052         * tests/test-openat.c (main): Likewise.
13053         * tests/test-unlinkat.c (main): Likewise.
13054         * tests/test-fchmodat.c: New file.
13055         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
13056         (Makefile.am): Also run 'test-fchmodat'.
13057
13058 2011-09-20  Bruno Haible  <bruno@clisp.org>
13059
13060         utimens, futimens, fdutimensat tests: EBADF tests.
13061         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
13062
13063         Tests for function fstat().
13064         * modules/fstat-tests: New file.
13065         * tests/test-fstat.c: New file.
13066         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
13067
13068 2011-09-20  Bruno Haible  <bruno@clisp.org>
13069
13070         test-ttyname_r tests: EBADF tests.
13071         * tests/test-ttyname_r.c (main): Add tests for EBADF.
13072
13073         Tests for module 'isatty'.
13074         * modules/isatty-tests: New file.
13075         * tests/test-isatty.c: New file.
13076
13077         Tests for module 'write'.
13078         * modules/write-tests: New file.
13079         * tests/test-write.c: New file.
13080
13081         Tests for module 'read'.
13082         * modules/read-tests: New file.
13083         * tests/test-read.c: New file.
13084
13085         pwrite tests: EBADF tests.
13086         * tests/test-pwrite.c (main): Add tests for EBADF.
13087
13088         pread tests: EBADF tests.
13089         * tests/test-pread.c (main): Add tests for EBADF.
13090
13091         lseek tests: EBADF tests.
13092         * tests/test-lseek.c (main): Add more tests for EBADF.
13093
13094         Tests for module 'ftruncate'.
13095         * modules/ftruncate-tests: New file.
13096         * tests/test-ftruncate.sh: New file.
13097         * tests/test-ftruncate.c: New file.
13098
13099         fsync tests: EBADF tests.
13100         * tests/test-fsync.c (main): Add more tests for EBADF.
13101
13102         fdatasync tests: EBADF tests.
13103         * tests/test-fdatasync.c (main): Add more tests for EBADF.
13104
13105         Tests for module 'fchown'.
13106         * modules/fchown-tests: New file.
13107         * tests/test-fchown.c: New file.
13108
13109         Tests for module 'fchmod'.
13110         * modules/fchmod-tests: New file.
13111         * tests/test-fchmod.c: New file.
13112
13113         fchdir tests: EBADF tests.
13114         * tests/test-fchdir.c (main): Add more tests for EBADF.
13115
13116         dup2 tests: EBADF tests.
13117         * tests/test-dup2.c (main): Add more tests for EBADF.
13118
13119         Tests for module 'dup'.
13120         * modules/dup-tests: New file.
13121         * tests/test-dup.c: New file.
13122
13123         Tests for module 'close'.
13124         * modules/close-tests: New file.
13125         * tests/test-close.c: New file.
13126
13127 2011-09-20  Bruno Haible  <bruno@clisp.org>
13128
13129         Tests for module 'shutdown'.
13130         * modules/shutdown-tests: New file.
13131         * tests/test-shutdown.c: New file.
13132
13133         Tests for module 'setsockopt'.
13134         * modules/setsockopt-tests: New file.
13135         * tests/test-setsockopt.c: New file.
13136
13137         Tests for module 'sendto'.
13138         * modules/sendto-tests: New file.
13139         * tests/test-sendto.c: New file.
13140
13141         Tests for module 'send'.
13142         * modules/send-tests: New file.
13143         * tests/test-send.c: New file.
13144
13145         Tests for module 'recvfrom'.
13146         * modules/recvfrom-tests: New file.
13147         * tests/test-recvfrom.c: New file.
13148
13149         Tests for module 'recv'.
13150         * modules/recv-tests: New file.
13151         * tests/test-recv.c: New file.
13152
13153         Tests for module 'listen'.
13154         * modules/listen-tests: New file.
13155         * tests/test-listen.c: New file.
13156
13157         Tests for module 'getsockopt'.
13158         * modules/getsockopt-tests: New file.
13159         * tests/test-getsockopt.c: New file.
13160
13161         Tests for module 'getsockname'.
13162         * modules/getsockname-tests: New file.
13163         * tests/test-getsockname.c: New file.
13164
13165         Tests for module 'getpeername'.
13166         * modules/getpeername-tests: New file.
13167         * tests/test-getpeername.c: New file.
13168
13169         Tests for module 'connect'.
13170         * modules/connect-tests: New file.
13171         * tests/test-connect.c: New file.
13172
13173         Tests for module 'bind'.
13174         * modules/bind-tests: New file.
13175         * tests/test-bind.c: New file.
13176
13177         accept4 tests: Fix for native Windows.
13178         * tests/test-accept4.c: Include sockets.h.
13179         (main): Invoke gl_sockets_startup.
13180         * modules/accept4-tests (Depends-on): Add sockets.
13181
13182         accept tests: Fix for native Windows.
13183         * tests/test-accept.c: Include sockets.h.
13184         (main): Invoke gl_sockets_startup.
13185         * modules/accept-tests (Depends-on): Add sockets.
13186
13187 2011-09-19  Bruno Haible  <bruno@clisp.org>
13188
13189         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
13190         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
13191         do...while(0).
13192         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
13193         Suggested by Paul Eggert.
13194
13195 2011-09-19  Bruno Haible  <bruno@clisp.org>
13196
13197         sched: Ensure pid_t is defined.
13198         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
13199         not define pid_t.
13200         * lib/sched.in.h: Include <sys/types.h>.
13201         * doc/posix-headers/sched.texi: Mention the pid_t problem.
13202         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13203
13204 2011-09-19  Bruno Haible  <bruno@clisp.org>
13205
13206         msvc-inval: Ensure the entire expansion is a single statement.
13207         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
13208         of braces.
13209
13210 2011-09-19  Jim Meyering  <meyering@redhat.com>
13211
13212         tests: use printf, not echo in init.sh's warn_ function
13213         * tests/init.sh (warn_): Use printf, not echo.  The latter would
13214         misbehave when given strings containing a backslash or starting
13215         with e.g., -n.  James Youngman suggested setting IFS.
13216
13217 2011-09-19  Eric Blake  <eblake@redhat.com>
13218
13219         futimens: enhance test
13220         * tests/test-futimens.h (test_futimens): Also check for EBADF on
13221         closed non-negative fd.
13222
13223         date: accept 'hence' as opposite of 'ago'
13224         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
13225         * tests/test-parse-datetime.c (main): Enhance test.
13226         Suggested by Jesse Wilson.
13227
13228 2011-09-19  Jim Meyering  <meyering@redhat.com>
13229
13230         getcwd: don't fail in a deep directory on a system without openat
13231         Before this change, getcwd would fail when called from a directory
13232         of depth PATH_MAX / 3 or greater.  That was due to the fact that
13233         the non-openat implementation used "..", "../..", "../../..", etc.
13234         to access ancestor directories.  With too many, that string would
13235         be longer than PATH_MAX.
13236         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
13237         using gnulib's openat replacement.
13238         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
13239         we're using the replacement function.
13240
13241 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
13242
13243         maint.mk: avoid warnings from perl about missing files
13244         * top/maint.mk (def_sym_regex): Ignore files listed in
13245         $(gl_other_headers_) that do not exist, say because a project
13246         does not use a corresponding module.
13247
13248 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
13249
13250         stat: use pathmax.h only if needed
13251         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
13252         This is better for Emacs, which does not have a mingw port and
13253         therefore can avoid the pathmax module.
13254
13255         utimens: remove dependency on dup2
13256         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
13257         to work around the Linux kernel bug.
13258         * modules/utimens (Depends-on): Remove dup2.
13259
13260 2011-09-18  Bruno Haible  <bruno@clisp.org>
13261
13262         inet_ntop, inet_pton: Look for it also in libresolv.
13263         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
13264         libnsl, search for it in libresolv.
13265         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
13266         Needed on Solaris 7.
13267
13268 2011-09-18  Bruno Haible  <bruno@clisp.org>
13269
13270         accept, accept4 tests: Avoid link error on Solaris.
13271         * modules/accept-tests (Makefile.am): Link test-accept against
13272         $(LIBSOCKET).
13273         * modules/accept4-tests (Makefile.am): Link test-accept4 against
13274         $(LIBSOCKET).
13275
13276         accept4: Avoid link error on Solaris.
13277         * modules/accept4 (Link): New section.
13278
13279         socket functions: Avoid link errors on Solaris.
13280         * modules/accept (Depends-on): Add socketlib.
13281         (Link): New section.
13282         * modules/bind (Depends-on): Add socketlib.
13283         (Link): New section.
13284         * modules/connect (Depends-on): Add socketlib.
13285         (Link): New section.
13286         * modules/getpeername (Depends-on): Add socketlib.
13287         (Link): New section.
13288         * modules/getsockname (Depends-on): Add socketlib.
13289         (Link): New section.
13290         * modules/getsockopt (Depends-on): Add socketlib.
13291         (Link): New section.
13292         * modules/listen (Depends-on): Add socketlib.
13293         (Link): New section.
13294         * modules/recv (Depends-on): Add socketlib.
13295         (Link): New section.
13296         * modules/recvfrom (Depends-on): Add socketlib.
13297         (Link): New section.
13298         * modules/send (Depends-on): Add socketlib.
13299         (Link): New section.
13300         * modules/sendto (Depends-on): Add socketlib.
13301         (Link): New section.
13302         * modules/setsockopt (Depends-on): Add socketlib.
13303         (Link): New section.
13304         * modules/shutdown (Depends-on): Add socketlib.
13305         (Link): New section.
13306         * modules/socket (Depends-on): Add socketlib.
13307         (Link): New section.
13308
13309 2011-09-18  Bruno Haible  <bruno@clisp.org>
13310
13311         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
13312         * tests/test-ptsname.c (main): Terminate the test if it takes longer
13313         than 5 seconds.
13314         * modules/ptsname-tests (configure.ac): Test for alarm.
13315
13316 2011-09-18  Bruno Haible  <bruno@clisp.org>
13317
13318         posix_spawn_file_actions_add*: Fix module dependencies.
13319         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
13320         posix_spawn_file_actions_init.
13321         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
13322         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
13323
13324 2011-09-18  Bruno Haible  <bruno@clisp.org>
13325
13326         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
13327         * tests/test-rename.h (test_rename): Allow error code EEXIST.
13328         * tests/test-renameat.c (main): Likewise.
13329
13330 2011-09-18  Bruno Haible  <bruno@clisp.org>
13331
13332         Tests for module 'accept4'.
13333         * modules/accept4-tests: New file.
13334         * tests/test-accept4.c: New file.
13335
13336 2011-09-18  Bruno Haible  <bruno@clisp.org>
13337
13338         Tests for module 'accept'.
13339         * modules/accept-tests: New file.
13340         * tests/test-accept.c: New file.
13341
13342 2011-09-18  Bruno Haible  <bruno@clisp.org>
13343
13344         dup2: Support for MSVC.
13345         * lib/dup2.c: Include msvc-inval.h.
13346         (rpl_dup2): Handle invalid parameter notifications during dup2 and
13347         _get_osfhandle calls.
13348         * modules/dup2 (Depends-on): Add msvc-inval.
13349         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
13350
13351         New module 'msvc-inval'.
13352         * lib/msvc-inval.h: New file.
13353         * lib/msvc-inval.c: New file.
13354         * m4/msvc-inval.m4: New file.
13355         * modules/msvc-inval: New file.
13356
13357 2011-09-17  Bruno Haible  <bruno@clisp.org>
13358
13359         Tests for module 'pclose'.
13360         * modules/pclose-tests: New file.
13361
13362         New module 'pclose'.
13363         * lib/stdio.in.h (pclose): New declaration.
13364         * lib/pclose.c: New file.
13365         * m4/pclose.m4: New file.
13366         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
13367         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
13368         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
13369         * modules/pclose: New file.
13370         * modules/popen-tests (Depends-on): Add pclose.
13371         * modules/popen-safer-tests (Depends-on): Likewise.
13372         * doc/posix-functions/pclose.texi: Mention the new module.
13373
13374 2011-09-17  Bruno Haible  <bruno@clisp.org>
13375
13376         popen: Support for MSVC.
13377         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
13378         * lib/popen.c (popen): Provide alternate definition for native Windows.
13379         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
13380         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
13381         * modules/popen (Depends-on, configure.ac): Update condition.
13382         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
13383         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
13384         fixed.
13385
13386 2011-09-17  Bruno Haible  <bruno@clisp.org>
13387
13388         isnanl, isnand, isnanf: Work around MSVC bug.
13389         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
13390
13391 2011-09-17  Bruno Haible  <bruno@clisp.org>
13392
13393         sys_socket tests: Fix recent mistake.
13394         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
13395
13396 2011-09-17  Bruno Haible  <bruno@clisp.org>
13397
13398         putenv: Support for MSVC.
13399         * modules/putenv (Depends-on): Add environ.
13400         * lib/putenv.c (environ): Disable declaration.
13401         * lib/unistd.in.h: Update comment.
13402
13403 2011-09-17  Bruno Haible  <bruno@clisp.org>
13404
13405         math: Avoid macro redefinition warnings on MSVC.
13406         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
13407         Undefine before redefining.
13408
13409 2011-09-17  Bruno Haible  <bruno@clisp.org>
13410
13411         doc: Mention functions which are declared as macros.
13412         * doc/posix-functions/*[fl].texi: Mention that some functions are
13413         defined as macros with arguments only.
13414
13415 2011-09-17  Bruno Haible  <bruno@clisp.org>
13416
13417         Add dependencies to new dirent related modules.
13418         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
13419         * modules/fts (Depends-on): Likewise.
13420         * modules/glob (Depends-on): Likewise.
13421         * modules/savedir (Depends-on): Likewise.
13422         * modules/scandir (Depends-on): Likewise.
13423         * modules/dirent-safer (Depends-on): Add opendir, closedir.
13424         * modules/fdopendir (Depends-on): Add opendir.
13425
13426 2011-09-17  Bruno Haible  <bruno@clisp.org>
13427
13428         inet_pton: Support for MSVC on Windows Vista or newer.
13429         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
13430         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
13431         HAVE_DECL_INET_PTON is defined.
13432         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
13433         On platforms with <winsock2.h>, test whether inet_pton is declared in
13434         <ws2tcpip.h>. If so, arrange to replace it.
13435         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
13436         REPLACE_INET_PTON.
13437         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
13438         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
13439         (Depends-on, configure.ac): Update condition.
13440         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
13441
13442 2011-09-17  Bruno Haible  <bruno@clisp.org>
13443
13444         inet_ntop: Support for MSVC on Windows Vista or newer.
13445         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
13446         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
13447         HAVE_DECL_INET_NTOP is defined.
13448         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
13449         On platforms with <winsock2.h>, test whether inet_ntop is declared in
13450         <ws2tcpip.h>. If so, arrange to replace it.
13451         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
13452         REPLACE_INET_NTOP.
13453         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
13454         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
13455         (Depends-on, configure.ac): Update condition.
13456         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
13457
13458 2011-09-16  Eric Blake  <eblake@redhat.com>
13459
13460         test-fsync: yet another enhancement
13461         * tests/test-fsync.c (main): Also test behavior on read-only text
13462         file.
13463
13464 2011-09-16  Bruno Haible  <bruno@clisp.org>
13465
13466         Enhance fsync, fdatasync tests.
13467         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
13468         * tests/test-fdatasync.c (main): Likewise.
13469
13470 2011-09-16  Bruno Haible  <bruno@clisp.org>
13471
13472         Support for MSVC compiler: Ensure mode_t gets defined.
13473         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
13474         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
13475         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
13476         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
13477         * tests/test-fcntl-h.c: Check that mode_t is defined.
13478         * tests/test-sys_stat.c: Likewise.
13479         * tests/test-sys_types.c: Likewise.
13480         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
13481         * doc/posix-headers/sys_stat.texi: Likewise.
13482         * doc/posix-headers/sys_types.texi: Likewise.
13483
13484 2011-09-16  Bruno Haible  <bruno@clisp.org>
13485
13486         sys_stat: Support for MSVC.
13487         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
13488         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
13489         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
13490         MSVC.
13491
13492 2011-09-16  Bruno Haible  <bruno@clisp.org>
13493
13494         Support for MSVC compiler: Ensure off_t gets defined.
13495         * lib/unistd.in.h: Include <sys/types.h>.
13496         * tests/test-fcntl-h.c: Check that off_t is defined.
13497         * tests/test-sys_stat.c: Likewise.
13498         * tests/test-sys_types.c: Likewise.
13499
13500 2011-09-16  Eric Blake  <eblake@redhat.com>
13501
13502         fdatasync: port to Solaris
13503         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
13504         * modules/fdatasync (Link): Document it.
13505         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
13506
13507         fdatasync: port to MacOS X 10.7
13508         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
13509         declared.
13510         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
13511         * modules/unistd (Makefile.am): Substitute it.
13512         * lib/unistd.in.h (fdatasync): Declare on MacOS.
13513         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
13514
13515         fdatasync: minor improvements
13516         * modules/fdatasync (Depends-on): Add condition for fsync.
13517         * lib/fdatasync.c (fdatasync): Add comment.
13518         * tests/test-unistd-c++.cc: Test fdatasync.
13519
13520         unistd: update refs to newer POSIX
13521         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
13522         Suggested by Bruno Haible.
13523
13524         fdatasync: new module
13525         * modules/fsync (Description): Document difference to fdatasync.
13526         * modules/fdatasync: New module.
13527         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
13528         * lib/fdatasync.c (fdatasync): Likewise.
13529         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
13530         defaults.
13531         * modules/unistd (Makefile.am): Set witnesses.
13532         * lib/unistd.in.h (fdatasync): Declare.
13533         * MODULES.html.sh: Document it.
13534         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
13535         * modules/fdatasync-tests: New test.
13536         * tests/test-fdatasync.c: Likewise.
13537
13538 2011-09-16  Eric Blake  <eblake@redhat.com>
13539
13540         test-fsync: enhance tests
13541         * modules/fsync-tests (Depends-on): Add errno, for mingw.
13542         * tests/test-fsync.c (main): Enhance test.
13543
13544 2011-09-15  Bruno Haible  <bruno@clisp.org>
13545
13546         Support for MSVC compiler: Ensure ssize_t gets defined.
13547         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
13548         * doc/posix-headers/stdio.texi: Likewise.
13549         * modules/stdio (Depends-on): Add ssize_t.
13550         * modules/sys_socket (Depends-on): Likewise.
13551         * modules/sys_types (Depends-on): Likewise.
13552         * modules/sys_uio (Depends-on): Likewise.
13553         * modules/unistd (Depends-on): Likewise.
13554         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
13555         * tests/test-sys_types.c: Check that ssize_t is defined.
13556
13557 2011-09-14  Bruno Haible  <bruno@clisp.org>
13558
13559         Avoid using #, the m4 comment starter character, near brackets.
13560         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
13561         delimiter character in sed expressions.
13562         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
13563         Suggested by Eric Blake.
13564
13565         Properly quote AC_CHECK_DECLS' 4th argument.
13566         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
13567         argument.
13568         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
13569         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
13570         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
13571         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
13572         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
13573         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
13574         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
13575         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
13576         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
13577         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
13578         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
13579         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
13580         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
13581         * m4/isinf.m4 (gl_ISINF): Likewise.
13582         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
13583         * m4/readutmp.m4 (gl_READUTMP): Likewise.
13584         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
13585         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
13586         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
13587         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
13588         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
13589         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
13590         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
13591         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
13592         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
13593         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
13594         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
13595         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
13596         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
13597         Reported by Eric Blake.
13598
13599         Properly quote AC_CHECK_DECL's 4th argument.
13600         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
13601         argument.
13602         * m4/argp.m4 (gl_ARGP): Likewise.
13603         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
13604         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
13605         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
13606         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
13607         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
13608         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
13609         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
13610         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
13611         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
13612         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
13613         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
13614         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
13615         Reported by Eric Blake.
13616
13617 2011-09-14  Eric Blake  <eblake@redhat.com>
13618
13619         opendir: avoid compile warning
13620         * lib/opendir.c (includes): Always include errno.h.
13621         Reported by Tatsuro MATSUOKA.
13622
13623 2011-09-14  Jim Meyering  <meyering@redhat.com>
13624
13625         maint.mk: sc_tight_scope: propagate failure from sub-make
13626         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
13627         Reported by Martin von Gagern.
13628
13629 2011-09-13  Bruno Haible  <bruno@clisp.org>
13630
13631         tempname: Support for MSVC.
13632         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
13633         MSVC.
13634         * modules/tempname (Depends-on): Add fcntl-h.
13635
13636 2011-09-13  Bruno Haible  <bruno@clisp.org>
13637
13638         sys_time: Support for MSVC.
13639         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
13640         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
13641         include <winsock2.h>.
13642         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
13643         function declarations that collide with POSIX.
13644         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
13645         (Makefile.am): Substitute HAVE_WINSOCK2_H.
13646
13647 2011-09-13  Bruno Haible  <bruno@clisp.org>
13648
13649         stat: Support for MSVC.
13650         * lib/stat.c: Include pathmax.h.
13651         * modules/stat (Depends-on): Add pathmax.
13652
13653         pathmax: Support for native Windows.
13654         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
13655
13656 2011-09-12  Bruno Haible  <bruno@clisp.org>
13657
13658         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
13659         * lib/dirent.in.h (struct dirent): New type.
13660         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
13661         DT_WHT): New macros.
13662         (DIR): New type.
13663         (opendir, closedir): Declare only if the module 'opendir' is enabled.
13664         (readdir, rewinddir): New declarations.
13665         * lib/dirent-private.h: New file.
13666         * lib/opendir.c: New file.
13667         * lib/readdir.c: New file.
13668         * lib/rewinddir.c: New file.
13669         * lib/closedir.c: New file.
13670         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
13671         * m4/opendir.m4: New file.
13672         * m4/readdir.m4: New file.
13673         * m4/rewinddir.m4: New file.
13674         * m4/closedir.m4: New file.
13675         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
13676         REPLACE_CLOSEDIR here.
13677         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
13678         readdir, rewinddir are declared.
13679         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
13680         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
13681         HAVE_REWINDDIR, HAVE_CLOSEDIR.
13682         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
13683         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
13684         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
13685         * modules/opendir: New file.
13686         * modules/readdir: New file.
13687         * modules/rewinddir: New file.
13688         * modules/closedir: New file.
13689         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
13690         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
13691         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
13692         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
13693         * NEWS: Mention the 'fchdir' change.
13694
13695 2011-09-11  Bruno Haible  <bruno@clisp.org>
13696
13697         asm-underscore.m4: Support for MSVC.
13698         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
13699         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
13700
13701 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
13702
13703         Doc about crypt functions.
13704         * doc/posix-functions/crypt.texi: Expand range of glibc versions
13705         needing for _GNU_SOURCE to get crypt.
13706         * doc/posix-functions/encrypt.texi: Likewise.
13707         * doc/posix-functions/setkey.texi: Likewise.
13708
13709 2011-09-11  Bruno Haible  <bruno@clisp.org>
13710
13711         doc: Update regarding MSVC 9.
13712         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
13713         tested".
13714         * doc/posix-functions/*.texi: Update with info about MSVC 9.
13715         * doc/posix-headers/*.texi: Likewise.
13716         * doc/pastposix-functions/*.texi: Likewise.
13717         * doc/glibc-functions/*.texi: Likewise.
13718         * doc/glibc-headers/*.texi: Likewise.
13719
13720 2011-09-11  Bruno Haible  <bruno@clisp.org>
13721
13722         unistd et al.: Don't assume <unistd.h> exists.
13723         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
13724         does not exist.
13725         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
13726         exist. But include <stdlib.h>.
13727         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
13728         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
13729         symlink() does not exist.
13730         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
13731         include <io.h> instead.
13732         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
13733         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
13734         include <direct.h> instead.
13735         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
13736         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
13737         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
13738         <io.h> instead.
13739         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
13740         correctly if the system does not have hard links.
13741         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
13742         <direct.h> instead.
13743         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
13744         it when looking for function declarations.
13745         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
13746         <direct.h> and <io.h> instead.
13747         * doc/posix-headers/unistd.texi: More details about MSVC problem.
13748
13749 2011-09-11  Bruno Haible  <bruno@clisp.org>
13750
13751         strcase: Support for MSVC.
13752         * modules/strcase (Status, Notice): Remove obsoletion mark.
13753         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
13754         * doc/posix-functions/strncasecmp.texi: Likewise.
13755
13756         strings: Don't assume <strings.h> exists.
13757         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
13758         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
13759         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
13760         * doc/posix-headers/strings.texi: Mention the MSVC problem.
13761
13762 2011-09-11  Bruno Haible  <bruno@clisp.org>
13763
13764         dirent: Don't assume <dirent.h> exists.
13765         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
13766         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
13767         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
13768         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
13769
13770 2011-09-11  Bruno Haible  <bruno@clisp.org>
13771
13772         Fix wint_t on MSVC.
13773         * lib/wchar.in.h (wint_t): On MSVC, override it.
13774         * lib/wctype.in.h (wint_t): Likewise.
13775         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
13776         MSVC.
13777         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
13778         * doc/posix-headers/wctype.texi: Likewise.
13779
13780 2011-09-11  Bruno Haible  <bruno@clisp.org>
13781
13782         sys_types: Fix typo.
13783         * lib/sys_types.in.h: Fix typo in comment.
13784         Reported by Paul Eggert.
13785
13786         Support for MSVC compiler: Ensure size_t gets defined.
13787         * modules/strings (Depends-on): Add 'sys_types'.
13788         * modules/sys_uio (Depends-on): Likewise.
13789         * lib/sys_uio.in.h: Update comment.
13790
13791         C++ tests for module 'sys_types'.
13792         * modules/sys_types-c++-tests: New file.
13793         * tests/test-sys_types-c++.cc: New file.
13794
13795         Tests for module 'sys_types'.
13796         * modules/sys_types-tests: New file.
13797         * tests/test-sys_types.c: New file.
13798
13799         New module 'sys_types'.
13800         * lib/sys_types.in.h: New file.
13801         * m4/sys_types_h.m4: New file.
13802         * modules/sys_types: New file.
13803         * doc/posix-headers/sys_types.texi: Mention the new module and the
13804         size_t problem on MSVC 9.
13805
13806 2011-09-11  Bruno Haible  <bruno@clisp.org>
13807
13808         Support for MSVC compiler: Avoid division by a literal 0.
13809         * lib/math.in.h (NAN): Define through a function call also on MSVC.
13810         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
13811         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
13812         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
13813         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
13814         * tests/infinity.h: New file.
13815         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
13816         on MSVC.
13817         * tests/test-ceilf1.c: Include infinity.h.
13818         (main): Use Infinityf.
13819         * tests/test-ceil1.c: Include infinity.h.
13820         (main): Use Infinityd.
13821         * tests/test-ceill.c: Include infinity.h.
13822         (main): Use Infinityl.
13823         * tests/test-dprintf-posix.c: Include infinity.h.
13824         (test_function): Use Infinityd.
13825         * tests/test-floorf1.c: Include infinity.h.
13826         (main): Use Infinityf.
13827         * tests/test-floor1.c: Include infinity.h.
13828         (main): Use Infinityd.
13829         * tests/test-floorl.c: Include infinity.h.
13830         (main): Use Infinityl.
13831         * tests/test-fprintf-posix.c: Include infinity.h.
13832         (test_function): Use Infinityd.
13833         * tests/test-frexp.c: Include infinity.h.
13834         (main): Use Infinityd.
13835         * tests/test-frexpl.c: Include infinity.h.
13836         (main): Use Infinityl.
13837         * tests/test-isfinite.c: Include infinity.h.
13838         (test_isfinitef): Use Infinityf.
13839         (test_isfinited): Use Infinityd.
13840         (test_isfinitel): Use Infinityl.
13841         * tests/test-isinf.c: Include infinity.h.
13842         (test_isinff): Use Infinityf.
13843         (test_isinfd): Use Infinityd.
13844         (test_isinfl): Use Infinityl.
13845         * tests/test-isnan.c: Include infinity.h.
13846         (test_float): Use Infinityf.
13847         (test_double): Use Infinityd.
13848         (test_long_double): Use Infinityl.
13849         * tests/test-isnanf.h: Include infinity.h.
13850         (main): Use Infinityf.
13851         * tests/test-isnand.h: Include infinity.h.
13852         (main): Use Infinityd.
13853         * tests/test-isnanl.h: Include infinity.h.
13854         (main): Use Infinityl.
13855         * tests/test-ldexpl.c: Include infinity.h.
13856         (main): Use Infinityl.
13857         * tests/test-printf-posix.h: Include infinity.h.
13858         (test_function): Use Infinityd.
13859         * tests/test-roundf1.c: Include infinity.h.
13860         (main): Use Infinityf.
13861         * tests/test-round1.c: Include infinity.h.
13862         (main): Use Infinityd.
13863         * tests/test-roundl.c: Include infinity.h.
13864         (main): Use Infinityl.
13865         * tests/test-signbit.c: Include infinity.h.
13866         (test_signbitf): Use Infinityf.
13867         (test_signbitd): Use Infinityd.
13868         (test_signbitl): Use Infinityl.
13869         * tests/test-snprintf-posix.h: Include infinity.h.
13870         (test_function): Use Infinityd, Infinityl.
13871         * tests/test-sprintf-posix.h: Include infinity.h.
13872         (test_function): Use Infinityd, Infinityl.
13873         * tests/test-truncf1.c: Include infinity.h.
13874         (main): Use Infinityf.
13875         * tests/test-trunc1.c: Include infinity.h.
13876         (main): Use Infinityd.
13877         * tests/test-truncl.c: Include infinity.h.
13878         (main): Use Infinityl.
13879         * tests/test-vasnprintf-posix.c: Include infinity.h.
13880         (test_function): Use Infinityd, Infinityl.
13881         * tests/test-vasprintf-posix.c: Include infinity.h.
13882         (test_function): Use Infinityd, Infinityl.
13883         * modules/ceilf-tests (Files): Add tests/infinity.h.
13884         * modules/ceil-tests (Files): Likewise.
13885         * modules/ceill-tests (Files): Likewise.
13886         * modules/dprintf-posix-tests (Files): Likewise.
13887         * modules/floorf-tests (Files): Likewise.
13888         * modules/floor-tests (Files): Likewise.
13889         * modules/floorl-tests (Files): Likewise.
13890         * modules/fprintf-posix-tests (Files): Likewise.
13891         * modules/frexp-tests (Files): Likewise.
13892         * modules/frexp-nolibm-tests (Files): Likewise.
13893         * modules/frexpl-tests (Files): Likewise.
13894         * modules/frexpl-nolibm-tests (Files): Likewise.
13895         * modules/isfinite-tests (Files): Likewise.
13896         * modules/isinf-tests (Files): Likewise.
13897         * modules/isnan-tests (Files): Likewise.
13898         * modules/isnanf-tests (Files): Likewise.
13899         * modules/isnanf-nolibm-tests (Files): Likewise.
13900         * modules/isnand-tests (Files): Likewise.
13901         * modules/isnand-nolibm-tests (Files): Likewise.
13902         * modules/isnanl-tests (Files): Likewise.
13903         * modules/isnanl-nolibm-tests (Files): Likewise.
13904         * modules/ldexpl-tests (Files): Likewise.
13905         * modules/printf-posix-tests (Files): Likewise.
13906         * modules/roundf-tests (Files): Likewise.
13907         * modules/round-tests (Files): Likewise.
13908         * modules/roundl-tests (Files): Likewise.
13909         * modules/signbit-tests (Files): Likewise.
13910         * modules/snprintf-posix-tests (Files): Likewise.
13911         * modules/sprintf-posix-tests (Files): Likewise.
13912         * modules/truncf-tests (Files): Likewise.
13913         * modules/trunc-tests (Files): Likewise.
13914         * modules/truncl-tests (Files): Likewise.
13915         * modules/vasnprintf-posix-tests (Files): Likewise.
13916         * modules/vasprintf-posix-tests (Files): Likewise.
13917         * modules/vdprintf-posix-tests (Files): Likewise.
13918         * modules/vfprintf-posix-tests (Files): Likewise.
13919         * modules/vprintf-posix-tests (Files): Likewise.
13920         * modules/vsnprintf-posix-tests (Files): Likewise.
13921         * modules/vsprintf-posix-tests (Files): Likewise.
13922         * modules/xprintf-posix-tests (Files): Likewise.
13923
13924 2011-09-11  Bruno Haible  <bruno@clisp.org>
13925
13926         Ensure pid_t gets defined.
13927         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
13928         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
13929         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
13930         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
13931         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
13932         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
13933         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
13934         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
13935         * tests/test-fcntl-h.c: Check that pid_t is defined.
13936         * tests/test-sched.c: Likewise.
13937         * tests/test-termios.c: Likewise.
13938         * tests/test-time.c: Likewise.
13939         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
13940         * doc/posix-headers/signal.texi: Likewise.
13941         * doc/posix-headers/sys_types.texi: Likewise.
13942         * doc/posix-headers/time.texi: Likewise.
13943
13944 2011-09-11  Bruno Haible  <bruno@clisp.org>
13945
13946         acl: Fix compilation on Solaris 10 (older version).
13947         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
13948         of ACE_EVERYONE.
13949         * lib/set-mode-acl.c (qset_acl): Likewise.
13950         Reported by Christian Jullien <eligis@orange.fr>.
13951
13952 2011-09-10  Bruno Haible  <bruno@clisp.org>
13953
13954         iconv, unsetenv: Add support for MSVC compiler.
13955         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
13956         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
13957
13958 2011-09-10  Bruno Haible  <bruno@clisp.org>
13959
13960         *printf: Add support for MSVC compiler.
13961         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
13962         handles the exception caused by the %n directive. When cross-compiling,
13963         guess no on native Windows.
13964         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
13965         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
13966         emulate it through vsnprintf.
13967         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
13968         * doc/posix-functions/dprintf.texi: Update documentation regarding
13969         MSVC 9.
13970         * doc/posix-functions/fprintf.texi: Likewise.
13971         * doc/posix-functions/printf.texi: Likewise.
13972         * doc/posix-functions/snprintf.texi: Likewise.
13973         * doc/posix-functions/sprintf.texi: Likewise.
13974         * doc/posix-functions/swprintf.texi: Likewise.
13975         * doc/posix-functions/vdprintf.texi: Likewise.
13976         * doc/posix-functions/vfprintf.texi: Likewise.
13977         * doc/posix-functions/vprintf.texi: Likewise.
13978         * doc/posix-functions/vsnprintf.texi: Likewise.
13979         * doc/posix-functions/vsprintf.texi: Likewise.
13980         * doc/glibc-functions/asprintf.texi: Likewise.
13981         * doc/glibc-functions/obstack_printf.texi: Likewise.
13982         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
13983         * doc/glibc-functions/vasprintf.texi: Likewise.
13984
13985 2011-09-10  Bruno Haible  <bruno@clisp.org>
13986
13987         nocrash: Add support for native Windows.
13988         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
13989
13990 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
13991             Bruno Haible  <bruno@clisp.org>
13992
13993         absolute-header, include-next: Add support for MSVC compiler.
13994         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
13995         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
13996         directory separator in #line directives.
13997         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
13998         recognize also backslash as directory separator in #line directives.
13999
14000 2011-09-08  Jim Meyering  <meyering@redhat.com>
14001
14002         maint.mk: mark the post-release commit log with "maint: " prefix
14003         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
14004         one-line commit-log summary.
14005
14006 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
14007             Bruno Haible  <bruno@clisp.org>
14008
14009         Doc about crypt functions.
14010         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
14011         systems.
14012         * doc/posix-functions/encrypt.texi: Likewise.
14013         * doc/posix-functions/setkey.texi: Likewise.
14014
14015 2011-09-08  Simon Josefsson  <simon@josefsson.org>
14016
14017         * lib/gc.h: Fix copyright header.
14018
14019 2011-09-07  Bruno Haible  <bruno@clisp.org>
14020
14021         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
14022         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
14023         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
14024
14025 2011-09-07  Bruno Haible  <bruno@clisp.org>
14026
14027         openat: Work around compilation error with OSF/1 5.1 DTK cc.
14028         * lib/fopen.c: Use different syntax for include of <stdio.h>.
14029         * lib/freopen.c: Likewise.
14030         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
14031         * lib/lstat.c: Likewise.
14032         * lib/stat.c: Likewise.
14033         * lib/open.c: Use different syntax for include of <fcntl.h>.
14034         * lib/openat.c: Include fcntl.h again, explicitly.
14035
14036 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
14037
14038         parse-datetime: document the newly accepted format
14039         * doc/parse-datetime.texi (Combined date and time of day items):
14040         New section.
14041
14042 2011-09-06  Bruno Haible  <bruno@clisp.org>
14043
14044         acl: Fix a test failure on newer Solaris 10 with ZFS.
14045         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
14046         ENOSYS as no ACL.
14047         Reported by Jim Meyering.
14048
14049 2011-09-06  Bruno Haible  <bruno@clisp.org>
14050
14051         acl: Update for AIX >= 5.3 with NFS.
14052         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
14053         ENOSYS as no ACL.
14054
14055         acl: Fix a test failure on AIX >= 5.3 with NFS.
14056         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
14057         as no ACL.
14058
14059 2011-09-06  Bruno Haible  <bruno@clisp.org>
14060
14061         acl: Fix a test failure on IRIX 6.5 with NFS.
14062         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
14063         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
14064         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
14065         * lib/copy-acl.c (qcopy_acl): Likewise.
14066
14067 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
14068
14069         openat: port to AIX 7.1 with large files
14070         AIX 7.1 does a "#define openat open64at" if large files are in use,
14071         so we can't simply #undef openat.  Use the orig_openat trick (similar
14072         to orig_open in lib/open.c) to work around the problem.  Problem
14073         reported by Kevin Brott for GNU tar, in the thread containing
14074         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
14075         * lib/openat.c (__need_system_fcntl_h): Define first.
14076         Include <fcntl.h> and <sys/types.h> before undefining.
14077         (orig_openat) [HAVE_OPENAT]: New inline function.
14078         (openat) [HAVE_OPENAT]: Do not undef.
14079         (rpl_openat): Use orig_openat, not openat.
14080
14081 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
14082             Bruno Haible  <bruno@clisp.org>
14083
14084         acl: Avoid errors on NonStop Kernel.
14085         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
14086         ENOTSUP errors.
14087
14088 2011-09-05  Bruno Haible  <bruno@clisp.org>
14089
14090         acl: Clean up Solaris code.
14091         * lib/acl-internal.h: Remove no-op #if.
14092         * lib/file-has-acl.c: Likewise.
14093         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
14094         * lib/copy-acl.c (qcopy_acl): Likewise.
14095
14096 2011-09-05  Bruno Haible  <bruno@clisp.org>
14097
14098         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
14099         binaries built on the original Solaris 10.
14100         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
14101         trivial.
14102
14103 2011-09-05  Bruno Haible  <bruno@clisp.org>
14104
14105         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
14106         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
14107         10.
14108         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
14109         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
14110         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
14111         instead of acl_get, facl_get, acl_set, facl_set.
14112
14113 2011-09-05  Bruno Haible  <bruno@clisp.org>
14114
14115         copy-file: Try unit tests on more file systems.
14116         * tests/test-copy-file-1.sh: New file.
14117         * tests/test-copy-file-2.sh: New file.
14118         * modules/copy-file-tests (Files): Add them.
14119         (Makefile.am): Add them to TESTS.
14120
14121         acl: Try unit tests on more file systems.
14122         * tests/test-file-has-acl-1.sh: New file.
14123         * tests/test-file-has-acl-2.sh: New file.
14124         * tests/test-set-mode-acl-1.sh: New file.
14125         * tests/test-set-mode-acl-2.sh: New file.
14126         * tests/test-copy-acl-1.sh: New file.
14127         * tests/test-copy-acl-2.sh: New file.
14128         * modules/acl-tests (Files): Add them.
14129         (Makefile.am): Add them to TESTS.
14130
14131 2011-09-04  Bruno Haible  <bruno@clisp.org>
14132
14133         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
14134         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
14135         10.
14136         (OLD_ALLOW, OLD_DENY): New macros.
14137         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
14138         ACE_ACCESS_ALLOWED_ACE_TYPE.
14139         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
14140         ACE_ACCESS_DENIED_ACE_TYPE.
14141         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
14142         (NEW_ACE_EXECUTE): Fix value.
14143         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
14144         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
14145         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
14146         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
14147         NEW_ACE_SYNCHRONIZE): New macros.
14148         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
14149         instead of acl_fromtext, acl_set, facl_set.
14150         Fixes a coreutils/tests/cp/perm failure.
14151
14152 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
14153
14154         openat: test for fstatat (..., 0) bug
14155         Further testing with tar suggests that fstatat (..., 0)
14156         does not work in general, on AIX 7.1; see
14157         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
14158         So, give up entirely on AIX 7.1's fstatat, and fall back on our
14159         replacement fstatat (which is what older AIX releases were using
14160         anyway).
14161         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
14162         use is now changed to orig_fstatat.  This was probably the right
14163         thing to do anyway.
14164         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
14165         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
14166         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
14167         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
14168         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
14169         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
14170         if the bug is found.
14171
14172         openat: test for fstatat (AT_FDCWD, ..., 0) bug
14173         This tests for another fstatat bug on AIX 7.1:
14174         fstatat (AT_FDCWD, ..., 0) does not work.  See
14175         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
14176         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
14177         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
14178         (rpl_fstatat): Adjust so that it works around either (or both)
14179         bugs if present.
14180         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
14181
14182 2011-09-03  Karl Berry  <karl@gnu.org>
14183
14184         * doc/regex.texi (Character Class Operators): Avoid literal ":"
14185         in index entries.
14186
14187 2011-09-02  Bruno Haible  <bruno@clisp.org>
14188
14189         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
14190         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
14191         values of AR, ARFLAGS, RANLIB.
14192         Reported by John W. Eaton <jwe@gnu.org> for Octave.
14193
14194 2011-09-02  Bruno Haible  <bruno@clisp.org>
14195
14196         Find 'ar' program that fits with --host argument.
14197         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
14198
14199 2011-09-02  Bruno Haible  <bruno@clisp.org>
14200
14201         tests: init.sh: Support any non-GNU diff.
14202         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
14203         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
14204         Solaris 8.
14205
14206 2011-09-02  Bruno Haible  <bruno@clisp.org>
14207
14208         tests: init.sh: work also with any non-GNU diff that supports -u
14209         * tests/init.sh: Relax check for diff -u support.
14210         Rather than checking for GNU diff via --version, simply check
14211         for support for -u itself.  Useful at least on OpenBSD 4.9,
14212         AIX 7.1, IRIX 6.5, and Solaris 10.
14213
14214 2011-09-01  Bruno Haible  <bruno@clisp.org>
14215
14216         strtoimax, strtoumax: Document problem on HP-UX 11.
14217         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
14218         * doc/posix-functions/strtoumax.texi: Likewise.
14219
14220 2011-09-01  Bruno Haible  <bruno@clisp.org>
14221
14222         strtoumax: Avoid link error on OSF/1 with DTK cc.
14223         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
14224         defined as a function.
14225         * modules/strtoumax (Depends-on, configure.ac): Test only whether
14226         strtoumax is defined, not whether it is declared.
14227
14228 2011-09-01  Bruno Haible  <bruno@clisp.org>
14229
14230         strtoimax: Avoid link error on OSF/1 with DTK cc.
14231         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
14232         defined as a function.
14233         * modules/strtoimax (Depends-on, configure.ac): Test only whether
14234         strtoimax is defined, not whether it is declared.
14235
14236 2011-09-01  Bruno Haible  <bruno@clisp.org>
14237
14238         imaxdiv: Avoid link error on OSF/1 with DTK cc.
14239         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
14240         as a function.
14241         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
14242         whether it is declared.
14243
14244 2011-09-01  Bruno Haible  <bruno@clisp.org>
14245
14246         imaxabs: Avoid link error on OSF/1 with DTK cc.
14247         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
14248         as a function.
14249         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
14250         whether it is declared.
14251
14252 2011-09-01  Bruno Haible  <bruno@clisp.org>
14253
14254         Tests for module 'strtoumax'.
14255         * modules/strtoumax-tests: New file.
14256         * tests/test-strtoumax.c: New file.
14257
14258         Tests for module 'strtoimax'.
14259         * modules/strtoimax-tests: New file.
14260         * tests/test-strtoimax.c: New file.
14261
14262         Tests for module 'imaxdiv'.
14263         * modules/imaxdiv-tests: New file.
14264         * tests/test-imaxdiv.c: New file.
14265
14266         Tests for module 'imaxabs'.
14267         * modules/imaxabs-tests: New file.
14268         * tests/test-imaxabs.c: New file.
14269
14270 2011-09-01  Bruno Haible  <bruno@clisp.org>
14271
14272         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
14273         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
14274         pthread_create.
14275
14276 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
14277
14278         openat: work around AIX 7.1 fstatat issue
14279         This should fix the problem that was not properly fixed
14280         in the previous change, dated 2011-08-30.
14281         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
14282         __need_system_stat_h defined.
14283         (orig_fstatat) [HAVE_FSTATAT]: New function.
14284         (rpl_fstatat): Go back to the old way of doing things,
14285         except call orig_fstatat instead of fstatat.
14286         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
14287         Remove unnecessary check whether fstatat fills in st_size etc.
14288
14289 2011-09-01  Bruno Haible  <bruno@clisp.org>
14290
14291         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
14292         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
14293         just include the system's header.
14294
14295 2011-08-31  Jim Meyering  <meyering@redhat.com>
14296
14297         tests: avoid spurious assertion failure in test-float.c on ppc64
14298         * tests/test-float.c (test_long_double): Comment out an assertion,
14299         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
14300         with gcc-4.4.4.
14301
14302         maint: indent with spaces, not TABs
14303         I need to get in the habit of running gnulib's "make check".
14304         Both of these would have been caught.
14305         * m4/largefile.m4: Indent with spaces, not TABs.
14306         * lib/parse-datetime.y (iso_8601_time): Likewise.
14307         Spotted by Pádraig Brady.
14308
14309         test-parse-datetime.c: accommodate a relatively strict gcc warning
14310         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
14311         to avoid a warning from gcc's -Werror=missing-declarations.
14312         Insert a few spaces-before-funcall-parenthesis.
14313
14314 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
14315
14316         parse-datetime: accept ISO 8601 date and time rep with "T" separator
14317         The parser now accepts ISO 8601 date-time strings with "T" as the
14318         separator.  It has long parsed dates like "2004-02-29 16:21:42"
14319         with a space between the date and time strings.  Now it also parses
14320         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
14321         variants like "2004-02-29T16:21:42.333-07:00"
14322         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
14323         of day representation using the 'T' separator character.
14324         * doc/parse-datetime.texi (General date syntax): replace use of
14325         deprecated --iso-8601 option with --rfc-3339 in example of date
14326         command output formats that can be parsed.
14327         * tests/test-parse-datetime.c (tm_diff): New function, taken from
14328         lib/parse-datetime.y.
14329         (gmt_offset): New function.
14330         (main): Add additional test cases to validate ISO8601 extended
14331         date and time of day parsing.
14332
14333 2011-08-31  Bruno Haible  <bruno@clisp.org>
14334
14335         freopen: Documentation.
14336         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
14337         name.
14338         Reported by Claudio Bley <claudio.bley@gmail.com>.
14339
14340 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
14341
14342         freopen: Don't crash if the filename argument is NULL.
14343         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
14344         NULL.
14345
14346 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
14347
14348         openat: work around AIX 7.1 fstatat bug
14349         Problem reported by Kevin Brott for GNU tar, in the thread containing
14350         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
14351         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
14352         FSTATAT_ST_SIZE_ETC_BROKEN.
14353         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
14354         rpl_fstatat.
14355         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
14356         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
14357         AC_CHECK_FUNCS_ONCE for fstatat.
14358         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
14359         fchmodat, mkdirat, openat and unlinkat.
14360
14361 2011-08-30  Bruno Haible  <bruno@clisp.org>
14362
14363         Avoid endless recursions if config.h includes some header files.
14364         * lib/fopen.c (__need_FILE): Define already before including config.h.
14365         * lib/freopen.c (__need_FILE): Likewise.
14366         * lib/open.c (__need_system_fcntl_h): Likewise.
14367         * lib/stat.c (__need_system_sys_stat_h): Likewise.
14368         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
14369         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
14370
14371 2011-08-25  Karl Berry  <karl@gnu.org>
14372
14373         * config/srclist.txt (ylwrap): new try.
14374         * build-aux/ylwrap: new file.
14375
14376 2011-08-23  Bruno Haible  <bruno@clisp.org>
14377
14378         tmpdir: Use a good default directory on native Windows.
14379         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
14380         (P_tmpdir): Default to _P_tmpdir on native Windows.
14381         (path_search): On native Windows, try the value returned by GetTempPath
14382         before trying P_tmpdir.
14383         * modules/tmpdir (Depends-on): Add pathmax.
14384         Suggested by John Darrington <john@darrington.wattle.id.au>.
14385
14386 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
14387
14388         doc: fix typo in README-release
14389         * top/README-release: Capitalize first word of a sentence.
14390
14391 2011-08-19  Jim Meyering  <meyering@redhat.com>
14392
14393         fts: do not exhaust memory when processing million-entry directories
14394         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
14395         directory would require about 256*N bytes of memory.  Thus, it was
14396         easy to construct a directory too large to be processed by any of
14397         those tools.  With this change, fts' maximum memory utilization is
14398         now limited to around 30MB.
14399         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
14400         (fts_read): When we've processed the final entry (i.e., when
14401         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
14402         using the parent entry to read any remaining entries.  Dispatch
14403         depending on what fts_build returns:
14404         - NULL+stop, aka failure: stop
14405         - NULL otherwise: move up in the dir hierarchy
14406         - non-NULL: handle this new entry
14407         (fts_build): Declare and use new local, continue_readdir.
14408         Prepare to be called from fts_read, when the entries
14409         from a partially-read directory have just been exhausted.
14410         In that case, we'll skip the opendir and instead use the parent's
14411         fts_dirp and derive dir_fd from that.
14412         Finally, in the readdir loop, if we read max_entries entries,
14413         exit the loop ensuring *not* to call closedir.  This is required
14414         so that fts_dirp can be reused on a subsequent call.
14415         Prompted by Ben England's report of memory exhaustion in find
14416         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
14417
14418         maint: fts: move decl of `dp' down into while loop; split a long line
14419         * lib/fts.c (fts_build): No semantic change.
14420
14421         fts: add/use new struct member, fts_dirp
14422         We are about to use this to manage any directory with
14423         too many entries to read all of them into memory at once.
14424         To do that, we'll need to save the DIR* pointer in each
14425         affected FTSENT struct.
14426         * lib/fts_.h: Include <dirent.h>.
14427         (struct FTSENT) [fts_dirp]: New member.
14428         * lib/fts.c (closedir_and_clear): Define.
14429         Use it in place of closedir so that we are sure to
14430         clear the new fts_dirp member when done with it.
14431         (fts_alloc): Initialize the new member.
14432         (fts_lfree): Free, if needed.
14433
14434         maint: fts: give __opendir2 a new parameter and rename
14435         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
14436         than surreptitiously using sole caller's "dir_fd".
14437         (fts_opendir): Rename from __opendir2.
14438
14439         maint: fts.c: remove __opendir2's now-unused parameter, oflag
14440         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
14441
14442         maint: fts.c: correct off-by-one indentation
14443         * lib/fts.c (fts_build): Correct indentation, change style
14444         of a couple of block comments, and bracing style.
14445
14446         maint: fts.c: move __opendir2 #define "up" out of function body
14447         * lib/fts.c (__opendir2): Move "up".  No semantic change.
14448
14449         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
14450         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
14451         out for a long time and besides was useful only on BSD systems.
14452
14453 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
14454
14455         regex: port to Stratus OpenVOS
14456         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
14457         define to empty, rather than attempting nonportable optimizations.
14458         Problem reported by Paul Green in:
14459         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
14460         and fix suggested by Eric Blake in:
14461         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
14462
14463 2011-08-17  Eric Blake  <eblake@redhat.com>
14464
14465         getcwd: fix test failures on mingw
14466         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
14467         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
14468         test if long directory cannot be created, and allow mingw errno.
14469
14470         getcwd-lgpl: fix m4 to match relaxed test for BSD
14471         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
14472         (gl_FUNC_GETCWD_SIGNATURE): New macro.
14473         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
14474         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
14475         signature problem.
14476
14477         getcwd: fix compilation on mingw64
14478         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
14479         getcwd.
14480         Reported by Marc-André Lureau.
14481
14482         pipe2: silence compiler warning
14483         * lib/pipe2.c (pipe2): Hide label if it is not used.
14484
14485 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
14486
14487         relocatable-prog: fix link error
14488         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
14489         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
14490         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
14491         into modules/relocatable-lib without noticing that
14492         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
14493         also needs to build relocatable.c.
14494
14495 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
14496
14497         getaddrinfo: fix sh typo in gai_strerrorA decl checking
14498         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
14499         shell code: it contained a 'break' that was not in a loop.
14500         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
14501         via a shell-language loop; this may have been true in old Autoconf
14502         versions, but it's not true in Autoconf 2.68.  I found this bug
14503         when testing coreutils git on Solaris 8, whose shell complains
14504         about the syntax error.
14505
14506 2011-08-12  Simon Josefsson  <simon@josefsson.org>
14507
14508         * lib/base64.c: Fix comment to reference RFC 4648.
14509         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
14510         <gvtulder@gmail.com>.
14511
14512 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
14513
14514         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
14515
14516         po/Makefile.in.in: fix make -q problem
14517         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
14518         rule, since there's no file named 'check-macro-version' and its
14519         use as a file breaks make -q.
14520         (all): Don't depend on check-macro-version.
14521         (CHECK_MACRO_VERSION): New macro.
14522         (stamp-po): Use it.
14523
14524         configmake: fix make -q problem
14525         * modules/configmake (configmake.h): Update configmake.h's time stamp
14526         even if the file does not change.  Otherwise, 'make -q' fails.
14527         Problem reported by Simon Josefsson in
14528         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
14529
14530 2011-08-11  Jim Meyering  <meyering@redhat.com>
14531
14532         git-version-gen: correct the advice in a comment
14533         * build-aux/git-version-gen: Correct comment.
14534         Don't recommend to list .tarball-version in .gitignore.
14535
14536 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
14537
14538         base64: fix off-by-one buffer size bug
14539         Problem and (trivial) fix reported by Gijs van Tulder in
14540         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
14541         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
14542         * tests/test-base64.c (main): Catch the bug.
14543
14544 2011-08-10  Eric Blake  <eblake@redhat.com>
14545
14546         closein: correct comments
14547         * lib/closein.c (close_stdin): Improve comments.
14548
14549 2011-08-09  Bruno Haible  <bruno@clisp.org>
14550
14551         More tests for 'fseeko'.
14552         * tests/test-fseeko3.c: New file, from Eric Blake.
14553         * tests/test-fseeko3.sh: New file.
14554         * modules/fseeko-tests (Files): Add them.
14555         (TESTS): Add test-fseeko3.sh.
14556         (check_PROGRAMS): Add test-fseeko3.
14557
14558 2011-08-09  Eric Blake  <eblake@redhat.com>
14559
14560         fseeko: remove unneeded hack
14561         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
14562
14563         fseeko: fix bug on glibc
14564         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
14565         Reported by John W. Eaton.
14566
14567 2011-08-08  Bruno Haible  <bruno@clisp.org>
14568
14569         unictype/base: Fix interoperability with preinstalled libunistring.
14570         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
14571         Reported by Simon Josefsson.
14572
14573 2011-08-08  Bruno Haible  <bruno@clisp.org>
14574
14575         iswblank: Detect declaration correctly.
14576         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
14577         AC_CHECK_DECLS invocation.
14578
14579 2011-08-08  Bruno Haible  <bruno@clisp.org>
14580
14581         tcgetsid: Detect declaration correctly.
14582         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
14583         AC_CHECK_DECLS invocation.
14584         Reported by Simon Josefsson.
14585
14586 2011-08-08  Eric Blake  <eblake@redhat.com>
14587
14588         largefile: fix typo that regressed large file support
14589         * modules/largefile (configure.ac-early): Fix section name.
14590
14591 2011-08-06  Karl Berry  <karl@gnu.org>
14592
14593         * MODULES.html.sh (func_all_files): _Noreturn is no longer
14594         a separate module.
14595
14596 2011-08-05  Simon Josefsson  <simon@josefsson.org>
14597
14598         openat: Fix warnings and commens when building unlinkat.c on Hurd.
14599         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
14600         get prototype for free.
14601
14602 2011-08-04  Bruno Haible  <bruno@clisp.org>
14603
14604         Tests for module 'pathmax'.
14605         * modules/pathmax-tests: New file.
14606         * tests/test-pathmax.c: New file.
14607
14608         canonicalize-lgpl: Support larger filenames on the Hurd.
14609         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
14610         Reported by Paul Eggert.
14611
14612         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
14613         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
14614         * lib/chdir-long.h: Include pathmax.h.
14615         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
14616         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
14617         (PATH_MAX): Remove code that is done by pathmax.h.
14618         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
14619         * lib/tmpfile.c: Add a comment.
14620         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
14621         * modules/chdir-long (Depends-on): Add pathmax.
14622         * modules/getcwd (Depends-on): Add pathmax.
14623         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
14624         is not defined.
14625         * doc/posix-headers/limits.texi: Mention the pathmax module.
14626         * NEWS: Mention the change.
14627
14628 2011-08-02  Bruno Haible  <bruno@clisp.org>
14629
14630         pthread_sigmask: Actually use results of gl_THREADLIB.
14631         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
14632         gl_THREADLIB, not gl_[]THREADLIB.
14633         Reported by Eric Blake.
14634
14635 2011-08-02  Jim Meyering  <meyering@redhat.com>
14636
14637         maint.mk: relax the default _gl_TS_function_match regexp
14638         * top/maint.mk (_gl_TS_function_match): Don't require at least one
14639         space between function name and "(" in an "extern" declaration.
14640         That would fail to match a decl with no space there: extern void foo();
14641
14642 2011-07-31  Iain Nicol  <iain@thenicols.net>
14643
14644         git-version-gen: document that EXTRA_DIST must include .version
14645         * build-aux/git-version-gen: In the how-to-use comment, document
14646         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
14647         will fail when run from an unpacked distribution tarball.
14648
14649 2011-08-01  Bruno Haible  <bruno@clisp.org>
14650
14651         wctype-h: Fix last change.
14652         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
14653         REPLACE_TOWLOWER to 0.
14654         Reported by Sam Steingold <sds@gnu.org>.
14655
14656 2011-07-31  Bruno Haible  <bruno@clisp.org>
14657
14658         frexpl: Update autoconf test.
14659         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
14660         according to changes of 2011-06-20.
14661
14662 2011-07-31  Bruno Haible  <bruno@clisp.org>
14663
14664         sys_utsname: Add support for Minix.
14665         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
14666         <sys/utsname.h>.
14667         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
14668         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
14669
14670 2011-07-31  Bruno Haible  <bruno@clisp.org>
14671
14672         strings: Add support for Minix.
14673         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
14674         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
14675         * doc/posix-headers/strings.texi: Document the Minix problem.
14676
14677 2011-07-31  Bruno Haible  <bruno@clisp.org>
14678
14679         wctype-h: Add support for Minix.
14680         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
14681         REPLACE_TOWLOWER.
14682         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
14683         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
14684         REPLACE_ISWCNTRL.
14685
14686 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
14687
14688         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
14689         This is a performance improvement for 64-bit hosts: it causes the
14690         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
14691
14692 2011-07-31  Bruno Haible  <bruno@clisp.org>
14693
14694         stdioext: Add support for Minix.
14695         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
14696         * lib/fpurge.c (fpurge): Likewise.
14697         * lib/freadahead.c (freadahead): Likewise.
14698         * lib/freadable.c (freadable): Likewise.
14699         * lib/freading.c (freading): Likewise.
14700         * lib/freadptr.c (freadptr): Likewise.
14701         * lib/freadseek.c (freadptrinc): Likewise.
14702         * lib/fseeko.c (rpl_fseeko): Likewise.
14703         * lib/fseterr.c (fseterr): Likewise.
14704         * lib/fwritable.c (fwritable): Likewise.
14705         * lib/fwriting.c (fwriting): Likewise.
14706         * lib/fflush.c (clear_ungetc_buffer): Update comment.
14707         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
14708
14709 2011-07-31  Bruno Haible  <bruno@clisp.org>
14710
14711         errno: Port to Minix.
14712         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
14713         ECONNABORTED are defined.
14714         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
14715         GNULIB_defined_ECONNABORTED): New macros.
14716         * lib/strerror-override.h (strerror_override): Test also
14717         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
14718         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
14719         ECONNABORTED.
14720         * doc/posix-headers/errno.texi: Mention the Minix problem.
14721
14722 2011-07-31  Bruno Haible  <bruno@clisp.org>
14723
14724         Work around declaration collisions on Minix.
14725         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
14726         defined, set REPLACE_MBSINIT.
14727         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
14728         defined, set REPLACE_MBRTOWC.
14729         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
14730         set REPLACE_MBRLEN.
14731         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
14732         defined, set REPLACE_MBSRTOWCS.
14733         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
14734         defined, set REPLACE_WCRTOMB.
14735         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
14736         defined, set REPLACE_WCSRTOMBS.
14737
14738 2011-07-31  Bruno Haible  <bruno@clisp.org>
14739
14740         Add support for Minix with ACK compiler.
14741         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
14742         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
14743         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
14744
14745 2011-07-31  Bruno Haible  <bruno@clisp.org>
14746
14747         Documentation about Minix.
14748         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
14749         * doc/glibc-headers/*.texi: Likewise.
14750         * doc/posix-functions/*.texi: Likewise.
14751         * doc/glibc-functions/*.texi: Likewise.
14752
14753 2011-07-31  Bruno Haible  <bruno@clisp.org>
14754
14755         snippet/warn-on-use: Fix indentation.
14756         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
14757
14758 2011-07-25  Jim Meyering  <meyering@redhat.com>
14759
14760         tests: test-update-copyright.sh: remove unnecessary "rm" commands
14761         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
14762         commands.
14763
14764 2011-07-27  Jim Meyering  <meyering@redhat.com>
14765
14766         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
14767         * top/maint.mk (gl_extract_significant_defines_): Now that
14768         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
14769         gnulib/lib/signal.in.h, and now that we recommend to
14770         define-if-undefined those two symbols in application code,
14771         we must filter them out of the "significant" list.
14772         This avoids a "make syntax-check" failure in coreutils.
14773
14774 2011-07-26  Eric Blake  <eblake@redhat.com>
14775
14776         warnings: add comments about previous patch
14777         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
14778         * m4/include_next.m4: Likewise.
14779         * m4/warn-on-use.m4: Likewise.
14780         * m4/warnings.m4: Likewise, and simplify use.
14781         Suggested by Stefano Lattarini.
14782
14783         include-next, warnings: support older autoconf
14784         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
14785         AS_VAR_PUSHDEF in a way that works with older autoconf.
14786         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
14787         Reported by Daniel P. Berrange.
14788
14789 2011-07-25  Bruno Haible  <bruno@clisp.org>
14790
14791         fseek, ftell: Fix doc.
14792         * doc/posix-functions/fseek.texi: Reword statement about
14793         AC_SYS_LARGEFILE.
14794         * doc/posix-functions/ftell.texi: Likewise.
14795
14796 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
14797             Bruno Haible  <bruno@clisp.org>
14798
14799         Add dependencies to the 'largefile' module.
14800         * modules/fopen (Depends-on): Add 'largefile'.
14801         * modules/freopen (Depends-on): Likewise.
14802         * modules/fseeko (Depends-on): Likewise.
14803         * modules/ftello (Depends-on): Likewise.
14804         * modules/glob (Depends-on): Likewise.
14805         * modules/lseek (Depends-on): Likewise.
14806         * modules/lstat (Depends-on): Likewise.
14807         * modules/mkostemp (Depends-on): Likewise.
14808         * modules/mkostemps (Depends-on): Likewise.
14809         * modules/mkstemp (Depends-on): Likewise.
14810         * modules/mkstemps (Depends-on): Likewise.
14811         * modules/open (Depends-on): Likewise.
14812         * modules/openat (Depends-on): Likewise.
14813         * modules/pread (Depends-on): Likewise.
14814         * modules/pwrite (Depends-on): Likewise.
14815         * modules/scandir (Depends-on): Likewise.
14816         * modules/stat (Depends-on): Likewise.
14817         * modules/tmpfile (Depends-on): Likewise.
14818         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
14819         since the containing module now depends on the largefile module.
14820         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
14821         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
14822         off_t is fixed by gnulib.
14823         * doc/posix-functions/freopen.texi: Likewise.
14824         * doc/posix-functions/fseeko.texi: Likewise.
14825         * doc/posix-functions/fstatat.texi: Likewise.
14826         * doc/posix-functions/ftello.texi: Likewise.
14827         * doc/posix-functions/glob.texi: Likewise.
14828         * doc/posix-functions/lseek.texi: Likewise.
14829         * doc/posix-functions/lstat.texi: Likewise.
14830         * doc/posix-functions/mkstemp.texi: Likewise.
14831         * doc/posix-functions/open.texi: Likewise.
14832         * doc/posix-functions/openat.texi: Likewise.
14833         * doc/posix-functions/pread.texi: Likewise.
14834         * doc/posix-functions/pwrite.texi: Likewise.
14835         * doc/posix-functions/scandir.texi: Likewise.
14836         * doc/posix-functions/stat.texi: Likewise.
14837         * doc/posix-functions/tmpfile.texi: Likewise.
14838         * doc/glibc-functions/mkostemp.texi: Likewise.
14839         * doc/glibc-functions/mkostemps.texi: Likewise.
14840         * doc/glibc-functions/mkstemps.texi: Likewise.
14841
14842 2011-07-25  Bruno Haible  <bruno@clisp.org>
14843
14844         fcntl: Move AC_LIBOBJ invocation to module description.
14845         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
14846         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
14847
14848         fcntl: Remove call-in from fchdir.m4.
14849         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
14850         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
14851
14852         dup3: Remove potential call-in from fchdir.m4.
14853         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
14854         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
14855
14856         dup2: Move AC_LIBOBJ invocation to module description.
14857         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
14858         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
14859         Don't invoke AC_LIBOBJ.
14860         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
14861
14862         dup2: Remove call-in from fchdir.m4.
14863         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
14864         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
14865
14866         fclose: Move AC_LIBOBJ invocation to module description.
14867         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
14868         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
14869         to 1.
14870         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
14871
14872         fclose: Remove call-in from close.m4.
14873         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
14874         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
14875
14876         close: Move AC_LIBOBJ invocation to module description.
14877         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
14878         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
14879         1.
14880         * modules/close (configure.ac): Invoke AC_LIBOBJ.
14881
14882         close: Remove call-in from fchdir.m4.
14883         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
14884         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
14885
14886         open: Move AC_LIBOBJ invocation to module description.
14887         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
14888         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
14889         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
14890
14891         open: Remove call-in from fchdir.m4.
14892         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
14893         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
14894
14895         fchdir: Start to remove gl_REPLACE_* idiom.
14896         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
14897         (gl_FUNC_FCHDIR): Invoke it.
14898
14899 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
14900
14901         * lib/ftell.c (ftell): Comment out cast.
14902
14903         close: use gl_REPLACE_FCLOSE only if defined
14904         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
14905         is defined.  The close module doesn't depend on the fclose module
14906         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
14907         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
14908         I reproduced the problem with "./gnulib-tool --test close sys_socket".
14909
14910 2011-07-24  Jim Meyering  <meyering@redhat.com>
14911
14912         test-select.h: avoid warning when using gcc's -Wmissing-declarations
14913         * tests/test-select.h (test_function): Declare as "static".
14914
14915 2011-07-24  Bruno Haible  <bruno@clisp.org>
14916
14917         doc: Mention the effects of AC_SYS_LARGEFILE.
14918         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
14919         on this function.
14920         * doc/posix-functions/aio_error.texi: Likewise.
14921         * doc/posix-functions/aio_fsync.texi: Likewise.
14922         * doc/posix-functions/aio_read.texi: Likewise.
14923         * doc/posix-functions/aio_return.texi: Likewise.
14924         * doc/posix-functions/aio_suspend.texi: Likewise.
14925         * doc/posix-functions/aio_write.texi: Likewise.
14926         * doc/posix-functions/fgetpos.texi: Likewise.
14927         * doc/posix-functions/fopen.texi: Likewise.
14928         * doc/posix-functions/freopen.texi: Likewise.
14929         * doc/posix-functions/fsetpos.texi: Likewise.
14930         * doc/posix-functions/fstatvfs.texi: Likewise.
14931         * doc/posix-functions/ftruncate.texi: Likewise.
14932         * doc/posix-functions/ftw.texi: Likewise.
14933         * doc/posix-functions/getrlimit.texi: Likewise.
14934         * doc/posix-functions/glob.texi: Likewise.
14935         * doc/posix-functions/lio_listio.texi: Likewise.
14936         * doc/posix-functions/lockf.texi: Likewise.
14937         * doc/posix-functions/mkstemp.texi: Likewise.
14938         * doc/posix-functions/mmap.texi: Likewise.
14939         * doc/posix-functions/nftw.texi: Likewise.
14940         * doc/posix-functions/openat.texi: Likewise.
14941         * doc/posix-functions/opendir.texi: Likewise.
14942         * doc/posix-functions/posix_fadvise.texi: Likewise.
14943         * doc/posix-functions/posix_fallocate.texi: Likewise.
14944         * doc/posix-functions/pread.texi: Likewise.
14945         * doc/posix-functions/pwrite.texi: Likewise.
14946         * doc/posix-functions/readdir.texi: Likewise.
14947         * doc/posix-functions/readdir_r.texi: Likewise.
14948         * doc/posix-functions/rewinddir.texi: Likewise.
14949         * doc/posix-functions/scandir.texi: Likewise.
14950         * doc/posix-functions/seekdir.texi: Likewise.
14951         * doc/posix-functions/setrlimit.texi: Likewise.
14952         * doc/posix-functions/statvfs.texi: Likewise.
14953         * doc/posix-functions/telldir.texi: Likewise.
14954         * doc/posix-functions/tmpfile.texi: Likewise.
14955         * doc/posix-functions/truncate.texi: Likewise.
14956         * doc/glibc-functions/fallocate.texi: Likewise.
14957         * doc/glibc-functions/fstatfs.texi: Likewise.
14958         * doc/glibc-functions/fts_children.texi: Likewise.
14959         * doc/glibc-functions/fts_read.texi: Likewise.
14960         * doc/glibc-functions/getdirentries.texi: Likewise.
14961         * doc/glibc-functions/mkostemp.texi: Likewise.
14962         * doc/glibc-functions/mkostemps.texi: Likewise.
14963         * doc/glibc-functions/mkstemps.texi: Likewise.
14964         * doc/glibc-functions/preadv.texi: Likewise.
14965         * doc/glibc-functions/pwritev.texi: Likewise.
14966         * doc/glibc-functions/sendfile.texi: Likewise.
14967         * doc/glibc-functions/statfs.texi: Likewise.
14968
14969 2011-07-24  Bruno Haible  <bruno@clisp.org>
14970
14971         doc: Fix typo.
14972         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
14973
14974 2011-07-24  Bruno Haible  <bruno@clisp.org>
14975
14976         doc: Mention fsusage.
14977         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
14978
14979 2011-07-24  Bruno Haible  <bruno@clisp.org>
14980
14981         doc: Mention new glibc headers and functions.
14982         * doc/glibc-headers/gshadow.texi: New file.
14983         * doc/glibc-functions/endsgent.texi: New file.
14984         * doc/glibc-functions/fgetsgent.texi: New file.
14985         * doc/glibc-functions/fgetsgent_r.texi: New file.
14986         * doc/glibc-functions/getsgent.texi: New file.
14987         * doc/glibc-functions/getsgent_r.texi: New file.
14988         * doc/glibc-functions/getsgnam.texi: New file.
14989         * doc/glibc-functions/getsgnam_r.texi: New file.
14990         * doc/glibc-functions/putsgent.texi: New file.
14991         * doc/glibc-functions/setsgent.texi: New file.
14992         * doc/glibc-functions/sgetsgent.texi: New file.
14993         * doc/glibc-functions/sgetsgent_r.texi: New file.
14994         * doc/glibc-functions/malloc_info.texi: New file.
14995         * doc/glibc-functions/preadv.texi: New file.
14996         * doc/glibc-functions/pwritev.texi: New file.
14997         * doc/glibc-functions/register_printf_modifier.texi: New file.
14998         * doc/glibc-functions/register_printf_specifier.texi: New file.
14999         * doc/glibc-functions/register_printf_type.texi: New file.
15000         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
15001         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
15002         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
15003         * doc/glibc-functions/pthread_getname_np.texi: New file.
15004         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
15005         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
15006         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
15007         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
15008         * doc/glibc-functions/pthread_setname_np.texi: New file.
15009         * doc/glibc-functions/pthread_sigqueue.texi: New file.
15010         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
15011         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
15012         * doc/glibc-functions/qsort_r.texi: New file.
15013         * doc/glibc-functions/quick_exit.texi: New file.
15014         * doc/glibc-functions/syncfs.texi: New file.
15015         * doc/gnulib.texi: Include them.
15016         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
15017         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
15018         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
15019         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
15020         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
15021         * doc/glibc-functions/execvpe.texi: Likewise.
15022
15023 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
15024
15025         ftell: don't include <unistd.h>
15026         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
15027         guaranteed to define off_t, and the ftell module depends on the
15028         stdio module.
15029
15030         ftell: do not assume wraparound signed arithmetic
15031         * lib/ftell.c: Include <limits.h>.
15032         (ftell): Don't assume wraparound signed arithmetic.
15033
15034 2011-07-24  Bruno Haible  <bruno@clisp.org>
15035
15036         close: No longer depend on module 'fclose'.
15037         * modules/close (Depends-on): Remove fclose.
15038         * NEWS: Mention the change.
15039         Suggested by Sam Steingold <sds@gnu.org>.
15040
15041 2011-07-24  Bruno Haible  <bruno@clisp.org>
15042
15043         fsusage: Enable large volume support on AIX >= 5.2.
15044         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
15045         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
15046         instead of STAT_STATVFS.
15047         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
15048
15049         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
15050         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
15051         f_blocks field only on MacOS X.
15052
15053         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
15054         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
15055         * modules/fsusage (Depends-on): Add largefile.
15056
15057 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
15058
15059         * README: Modernize discussion of signed integers.
15060         Assuming overflow wraparound is no longer safe.
15061         Mention ones' complement and signed magnitude.
15062
15063 2011-07-22  Bruno Haible  <bruno@clisp.org>
15064
15065         select tests, pselect tests: Refactor.
15066         * tests/test-select.h: New file, extracted from tests/test-select.c.
15067         (select_fn): New type.
15068         (test, do_select, do_select_nowait, do_select_wait, test_tty,
15069         test_connect_first, test_accept_first, test_pair, test_socket_pair,
15070         test_pipe): Add my_select argument.
15071         (test_function): Renamed from main. Add my_select argument.
15072         * tests/test-select.c: Move most code to tests/test-select.h. Include
15073         test-select.h.
15074         * modules/select-tests (Files): Add tests/test-select.h.
15075         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
15076         (my_select, main): New functions.
15077         * modules/pselect-tests (Files): Add tests/test-select.h,
15078         tests/macros.h, tests/signature.h.
15079         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
15080         (configure.ac): Check for <sys/wait.h>.
15081
15082 2011-07-22  Bruno Haible  <bruno@clisp.org>
15083
15084         sys_select tests: Check the signature of FD_*.
15085         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
15086         signature tests from here...
15087         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
15088         here.
15089         * modules/sys_select-tests (Files): Add tests/signature.h.
15090
15091 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
15092
15093         largefile: new module, replacing large-inode
15094         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
15095         * MODULES.html.sh: Add largefile, remove large-inode.
15096         * modules/largefile, m4/largefile.m4: New files.
15097         * modules/large-inode, m4/large-inode.m4: Remove.
15098
15099         fsusage: port to MacOS X 10.7 with 4 TiB file systems
15100         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
15101         implementations that use only 32 bits to count blocks.
15102         On typical hosts with 1024-byte blocks, this fails with file
15103         systems as small as 4 TiB.  Problem reported by Herb Wartens
15104         <http://debbugs.gnu.org/9140> and this should also fix a similar
15105         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
15106
15107         large-inode: New module
15108         * MODULES.html.sh: Add it.
15109         * modules/large-inode, m4/large-inode.m4: New files.
15110
15111         extensions: Enable extensions on MacOS X 10.5 and later.
15112         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
15113
15114 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
15115
15116         file-has-acl: use acl_extended_file_nofollow if available
15117         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
15118         (acl_extended_file): New macro.
15119         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
15120         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
15121
15122 2011-07-21  Bruno Haible  <bruno@clisp.org>
15123
15124         Declare system functions in a way that works with C++.
15125         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
15126         declare fdopendir as extern "C".
15127         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
15128         declare frexpl as extern "C".
15129         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
15130         declare gai_strerror as extern "C".
15131         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
15132         programs, declare gai_strerror as extern "C".
15133         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
15134         declare getlogin_r as extern "C".
15135         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
15136         as extern "C".
15137         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
15138         declare ldexpl as extern "C".
15139         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
15140         as extern "C".
15141         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
15142         program, declare getmntinfo as extern "C".
15143         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
15144         stpncpy as extern "C".
15145         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
15146         program, declare __xpg_strerror_r as extern "C".
15147         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
15148         strndup as extern "C".
15149         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
15150         declare memset and bzero as extern "C".
15151         Reported by Sam Steingold <sds@gnu.org>.
15152
15153 2011-07-12  Jim Meyering  <meyering@redhat.com>
15154
15155         maint.mk: prohibit inclusion of "verify.h" without use
15156         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
15157
15158 2011-07-19  Pádraig Brady  <P@draigBrady.com>
15159
15160         timer-time: A new module to check for timer_settime()
15161         * m4/timer_time.m4: Check for the posix function.
15162         * modules/timer-time: Add the new module.
15163         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
15164         Mention it.
15165
15166 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
15167             Bruno Haible  <bruno@clisp.org>
15168
15169         pthread_sigmask: assume POSIX threads if --avoid=threadlib
15170         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
15171         not defined, assume POSIX threads and look for pthread_sigmask in
15172         $LIBS, without changing $CPPFLAGS.
15173
15174 2011-07-19  Bruno Haible  <bruno@clisp.org>
15175
15176         strstr: Update cross-compilation guess.
15177         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
15178         CPUs, guess no, in view of glibc
15179         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
15180         Suggested by Eric Blake. Reported by Reuben Thomas.
15181
15182 2011-07-19  Pádraig Brady  <P@draigBrady.com>
15183
15184         getopt-gnu: suppress core dumps from detection code
15185         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
15186         to suppress core dumps that may well occur on glibc systems.
15187         * modules/getopt-gnu: Depend on nocrash.
15188
15189 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
15190
15191         pthread_sigmask: ensure usleep is declared
15192         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
15193         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
15194
15195 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
15196
15197         doc: Document NonStop portability issues.
15198         * doc/posix-functions/sigaction.texi (sigaction):
15199         * doc/posix-headers/signal.texi (signal.h):
15200         Document NonStop.  See Joachim Schmitz in
15201         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
15202
15203 2011-07-15  Bruno Haible  <bruno@clisp.org>
15204
15205         ffsl, ffsll: Avoid unportable behaviour.
15206         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
15207
15208 2011-07-15  Bruno Haible  <bruno@clisp.org>
15209
15210         ffs: More tests.
15211         * tests/test-ffs.c (NBITS): New macro.
15212         (main): Add more tests.
15213         * tests/test-ffsl.c (NBITS): New macro.
15214         (main): Add more tests.
15215         * tests/test-ffsll.c (NBITS): New macro.
15216         (main): Add more tests.
15217
15218 2011-07-15  Eric Blake  <eblake@redhat.com>
15219
15220         ffsl, ffsll: new modules
15221         * modules/ffsl: New file.
15222         * modules/ffsll: Likewise.
15223         * m4/ffsl.m4: Likewise.
15224         * m4/ffsll.m4: Likewise.
15225         * lib/ffsl.c: Likewise.
15226         * lib/ffsl.h: Likewise.
15227         * lib/ffsll.c: Likewise.
15228         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
15229         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
15230         * modules/string (Makefile.am): Substitute witnesses.
15231         * lib/strings.in.h (ffsl, ffsll): Declare.
15232         * modules/ffsl-tests: New test file.
15233         * modules/ffsll-tests: Likewise.
15234         * tests/test-ffsl.c: Likewise.
15235         * tests/test-ffsll.c: Likewise.
15236         * MODULES.html.sh (Integer arithmetic functions): Mention it.
15237         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
15238         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
15239
15240         ffs: fix m4 prerequisite
15241         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
15242
15243         ffs: avoid undefined behavior
15244         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
15245         * tests/test-ffs.c (naive, main): Avoid signed shifts.
15246         Reported by Bruno Haible.
15247
15248 2011-07-12  Bruno Haible  <bruno@clisp.org>
15249
15250         pthread_sigmask: Rely on module 'threadlib'.
15251         * modules/pthread_sigmask (Depends-on): Add threadlib.
15252         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
15253         is defined.
15254
15255 2011-07-12  Bruno Haible  <bruno@clisp.org>
15256
15257         regex: Depend on module 'strcase'.
15258         * modules/regex (Depends-on): Add strcase, for strcasecmp().
15259
15260 2011-07-12  Jim Meyering  <meyering@redhat.com>
15261
15262         warn-on-use: fix typo in file name
15263         * modules/snippet/warn-on-use (Files): Correct file name:
15264         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
15265
15266 2011-07-12  Bruno Haible  <bruno@clisp.org>
15267
15268         strings: Document module.
15269         * doc/posix-headers/strings.texi: Mention module 'strings'.
15270
15271 2011-07-12  Bruno Haible  <bruno@clisp.org>
15272
15273         Rename module '_Noreturn' to 'snippet/_Noreturn'.
15274         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
15275         (Files, Makefile.am): Update.
15276         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
15277         * modules/stdlib (Depends-on): Update.
15278
15279 2011-07-12  Bruno Haible  <bruno@clisp.org>
15280
15281         * NEWS: Mention the changes.
15282
15283         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
15284         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
15285         (Files, Makefile.am): Update.
15286         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
15287         * modules/arpa_inet (Depends-on): Update.
15288         * modules/ctype (Depends-on): Update.
15289         * modules/dirent (Depends-on): Update.
15290         * modules/fcntl-h (Depends-on): Update.
15291         * modules/glob (Depends-on): Update.
15292         * modules/iconv-h (Depends-on): Update.
15293         * modules/inttypes-incomplete (Depends-on): Update.
15294         * modules/langinfo (Depends-on): Update.
15295         * modules/locale (Depends-on): Update.
15296         * modules/math (Depends-on): Update.
15297         * modules/netdb (Depends-on): Update.
15298         * modules/poll-h (Depends-on): Update.
15299         * modules/pty (Depends-on): Update.
15300         * modules/search (Depends-on): Update.
15301         * modules/signal (Depends-on): Update.
15302         * modules/spawn (Depends-on): Update.
15303         * modules/stdio (Depends-on): Update.
15304         * modules/stdlib (Depends-on): Update.
15305         * modules/string (Depends-on): Update.
15306         * modules/strings (Depends-on): Update.
15307         * modules/sys_file (Depends-on): Update.
15308         * modules/sys_ioctl (Depends-on): Update.
15309         * modules/sys_select (Depends-on): Update.
15310         * modules/sys_socket (Depends-on): Update.
15311         * modules/sys_stat (Depends-on): Update.
15312         * modules/sys_time (Depends-on): Update.
15313         * modules/sys_times (Depends-on): Update.
15314         * modules/sys_utsname (Depends-on): Update.
15315         * modules/sys_wait (Depends-on): Update.
15316         * modules/termios (Depends-on): Update.
15317         * modules/time (Depends-on): Update.
15318         * modules/unistd (Depends-on): Update.
15319         * modules/wchar (Depends-on): Update.
15320         * modules/wctype-h (Depends-on): Update.
15321         * MODULES.html.sh (Support for building libraries and executables):
15322         Update.
15323
15324         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
15325         * modules/snippet/unused-parameter: Renamed from
15326         modules/unused-parameter.
15327         (Files, Makefile.am): Update.
15328         * build-aux/snippet/unused-parameter.h: Renamed from
15329         build-aux/unused-parameter.h.
15330         * modules/selinux-h (Depends-on): Update.
15331         * modules/unistr/base (Depends-on): Update.
15332         * MODULES.html.sh (Core language properties): Update.
15333
15334         Rename module 'link-warning' to 'snippet/link-warning'.
15335         * modules/snippet/link-warning: Renamed from modules/link-warning.
15336         (Files, Makefile.am): Update.
15337         * build-aux/snippet/link-warning.h: Renamed from
15338         build-aux/link-warning.h.
15339         * MODULES.html.sh (Support for building libraries and executables):
15340         Update.
15341
15342         Rename module 'c++defs' to 'snippet/c++defs'.
15343         * modules/snippet/c++defs: Renamed from modules/c++defs.
15344         (Files, Makefile.am): Update.
15345         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
15346         * modules/arpa_inet (Depends-on): Update.
15347         * modules/ctype (Depends-on): Update.
15348         * modules/dirent (Depends-on): Update.
15349         * modules/fcntl-h (Depends-on): Update.
15350         * modules/glob (Depends-on): Update.
15351         * modules/iconv-h (Depends-on): Update.
15352         * modules/langinfo (Depends-on): Update.
15353         * modules/locale (Depends-on): Update.
15354         * modules/math (Depends-on): Update.
15355         * modules/netdb (Depends-on): Update.
15356         * modules/poll-h (Depends-on): Update.
15357         * modules/pty (Depends-on): Update.
15358         * modules/search (Depends-on): Update.
15359         * modules/signal (Depends-on): Update.
15360         * modules/spawn (Depends-on): Update.
15361         * modules/stdio (Depends-on): Update.
15362         * modules/stdlib (Depends-on): Update.
15363         * modules/string (Depends-on): Update.
15364         * modules/strings (Depends-on): Update.
15365         * modules/sys_ioctl (Depends-on): Update.
15366         * modules/sys_select (Depends-on): Update.
15367         * modules/sys_socket (Depends-on): Update.
15368         * modules/sys_stat (Depends-on): Update.
15369         * modules/sys_time (Depends-on): Update.
15370         * modules/sys_wait (Depends-on): Update.
15371         * modules/termios (Depends-on): Update.
15372         * modules/time (Depends-on): Update.
15373         * modules/unistd (Depends-on): Update.
15374         * modules/wchar (Depends-on): Update.
15375         * modules/wctype-h (Depends-on): Update.
15376
15377         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
15378         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
15379         (Files, Makefile.am): Update.
15380         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
15381         * modules/argv-iter (Depends-on): Update.
15382         * modules/arpa_inet (Depends-on): Update.
15383         * modules/dirent (Depends-on): Update.
15384         * modules/fcntl-h (Depends-on): Update.
15385         * modules/fnmatch (Depends-on): Update.
15386         * modules/getopt-posix (Depends-on): Update.
15387         * modules/glob (Depends-on): Update.
15388         * modules/iconv-h (Depends-on): Update.
15389         * modules/inttypes-incomplete (Depends-on): Update.
15390         * modules/locale (Depends-on): Update.
15391         * modules/math (Depends-on): Update.
15392         * modules/netdb (Depends-on): Update.
15393         * modules/search (Depends-on): Update.
15394         * modules/signal (Depends-on): Update.
15395         * modules/spawn (Depends-on): Update.
15396         * modules/stdio (Depends-on): Update.
15397         * modules/stdlib (Depends-on): Update.
15398         * modules/string (Depends-on): Update.
15399         * modules/strings (Depends-on): Update.
15400         * modules/sys_socket (Depends-on): Update.
15401         * modules/sys_stat (Depends-on): Update.
15402         * modules/sys_time (Depends-on): Update.
15403         * modules/sys_times (Depends-on): Update.
15404         * modules/sys_utsname (Depends-on): Update.
15405         * modules/time (Depends-on): Update.
15406         * modules/unistd (Depends-on): Update.
15407         * modules/wchar (Depends-on): Update.
15408         * MODULES.html.sh (Support for building libraries and executables):
15409         Update.
15410
15411 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
15412
15413         Improvements on _Noreturn and related modules.
15414
15415         modules/_Exit-tests: test _Noreturn too
15416         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
15417         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
15418         (main): Use them.
15419
15420         stdnoreturn, stdnoreturn-tests: remove modules
15421         They're not needed here and a bit premature for use elsewhere.  See
15422         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
15423         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
15424         * tests/test-stdnoreturn.c: Remove files.
15425         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
15426         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
15427         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
15428         and using noreturn.
15429         * modules/openat, modules/sigpipe-die, modules/xalloc:
15430         * modules/xmemdup0, modules/xstrtol:
15431         Remove dependency on stdnoreturn.
15432
15433         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
15434         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
15435         Reparenthesize to avoid GCC warning.
15436         Support Microsoft's syntax.
15437         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
15438
15439         _Noreturn-tests: remove module
15440         * modules/_Noreturn-tests: Remove.
15441         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
15442         * tests/test-_Noreturn.c: Remove.
15443         * tests/test-stdnoreturn.c: Merge from the old
15444         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
15445
15446 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
15447
15448         _Noreturn, stdnoreturn, and related modules.
15449
15450         * top/maint.mk: Adjust to new noreturn support.
15451         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
15452         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
15453
15454         xalloc: use stdnoreturn.h
15455         * lib/xalloc.h: Include <stdnoreturn.h>.
15456         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
15457         * modules/xalloc (Depends-on): Add stdnoreturn.
15458
15459         xstrtol: use stdnoreturn.h
15460         * lib/xstrtol.h: Include <stdnoreturn.h>.
15461         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
15462         * modules/xstrtol (Depends-on): Add stdnoreturn.
15463
15464         xmemdup0: use stdnoreturn.h
15465         * lib/xmemdup0.h: Include <stdnoreturn.h>.
15466         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
15467         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
15468
15469         sigpipe-die: use stdnoreturn.h
15470         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
15471         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
15472         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
15473
15474         openat: use stdnoreturn.h
15475         * lib/openat.h: Include <stdnoreturn.h>.
15476         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
15477         * modules/openat (Depends-on): Add stdnoreturn.
15478
15479         * lib/openat-die.c (openat_save_fail): Modernize comment.
15480
15481         * lib/xalloc-die.c (xalloc_die): Modernize comment.
15482
15483         * lib/glthread/thread.h: Modernize comment.
15484
15485         obstack: use _Noreturn
15486         * lib/obstack.c (__attribute__): Remove macro.
15487         (print_and_abort): Use _Noreturn.
15488
15489         c-stack: use _Noreturn
15490         * lib/c-stack.c (die, overflow_handler, segv_handler):
15491         Use _Noreturn rather than __attribute__((noreturn)).
15492
15493         argmatch-tests, exclude_tests: use _Noreturn
15494         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
15495         Remove.
15496         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
15497
15498         stdlib: use _Noreturn
15499         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
15500         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
15501         * modules/stdlib (Depends-on): Add _Noreturn.
15502         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
15503
15504         stdnoreturn-tests: new module
15505         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
15506
15507         stdnoreturn: new module
15508         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
15509         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
15510
15511         _Noreturn-tests: new module
15512         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
15513
15514         _Noreturn: new module
15515         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
15516         New section, mentioning it.
15517         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
15518
15519         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
15520
15521 2011-07-11  Eric Blake  <eblake@redhat.com>
15522
15523         ffs: new module
15524         * modules/ffs: New file.
15525         * m4/ffs.m4: Likewise.
15526         * lib/ffs.c: Likewise.
15527         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
15528         * modules/strings (Makefile.am): Substitute witness.
15529         (Depends-on): Add c++defs.
15530         * lib/strings.in.h (ffs): Declare.
15531         * modules/ffs-tests: New test file.
15532         * tests/test-ffs.c: Test new module.
15533         * MODULES.html.sh (Integer arithmetic functions): Mention it.
15534         * doc/posix-functions/ffs.texi (ffs): Likewise.
15535
15536         regex: avoid compiler warning
15537         * lib/regex.c (includes): Include <strings.h>, for use of
15538         strcasecmp in regcomp.c.
15539         Reported by Joachim Schmitz.
15540
15541 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
15542
15543         stdint: respect system's intmax_t if INTMAX_MAX
15544         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
15545         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
15546         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
15547         long but int64_t is long long, and where we will clash with the
15548         system intmax_t if we override it.  See
15549         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
15550         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
15551         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
15552         similarly for UINTMAX_C.
15553
15554 2011-07-08  Bruno Haible  <bruno@clisp.org>
15555
15556         pthread_sigmask tests: Avoid a compiler warning.
15557         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
15558         non-zero.
15559
15560         sigprocmask tests: A better way to avoid a compiler warning.
15561         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
15562         (main): Complain if system() returns non-zero.
15563         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
15564
15565 2011-07-08  Bruno Haible  <bruno@clisp.org>
15566
15567         pthread_sigmask: Work around IRIX bug.
15568         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
15569         bug.
15570         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
15571         there may be unblocked pending signals.
15572         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
15573
15574 2011-07-08  Bruno Haible  <bruno@clisp.org>
15575
15576         pthread_sigmask: Work around Cygwin bug.
15577         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
15578         bug.
15579         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
15580         the system's pthread_sigmask function.
15581         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
15582
15583 2011-07-08  Bruno Haible  <bruno@clisp.org>
15584
15585         pthread_sigmask: Work around bug in single-threaded implementation.
15586         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
15587         FreeBSD, HP-UX, Solaris bug.
15588         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
15589         * lib/pthread_sigmask.c: Include <stddef.h>.
15590         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
15591         the system's pthread_sigmask function.
15592         * modules/pthread_sigmask (configure.ac): Invoke
15593         gl_PREREQ_PTHREAD_SIGMASK.
15594         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
15595         HP-UX, Solaris.
15596
15597 2011-07-08  Eric Blake  <eblake@redhat.com>
15598
15599         test-sigprocmask: avoid compiler warning
15600         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
15601         * tests/test-sigprocmask.c (main): Use it to silence warning.
15602         Reported by Jim Meyering.
15603
15604         test-snprintf: avoid compiler warning
15605         * tests/test-snprintf.c (main): Avoid shadowed declaration.
15606         * tests/test-vsnprintf.c (main): Likewise.
15607         Reported by Jim Meyering.
15608
15609 2011-07-08  Bruno Haible  <bruno@clisp.org>
15610
15611         Tests for module 'pthread_sigmask'.
15612         * modules/pthread_sigmask-tests: New file.
15613         * tests/test-pthread_sigmask1.c: New file, based on
15614         tests/test-sigprocmask.c.
15615         * tests/test-pthread_sigmask2.c: New file.
15616
15617 2011-07-08  Jim Meyering  <meyering@redhat.com>
15618
15619         test-getopt.h: avoid warning about an unused variable
15620         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
15621
15622 2011-07-07  Jim Meyering  <meyering@redhat.com>
15623
15624         maint: reduce list of files exempt from sc_prohibit_leading_TABs
15625         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
15626         now that it no longer contains leading TABs.
15627         Remove unused "url=FIXME" statement.
15628
15629 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
15630
15631         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
15632         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
15633         When gl_THREADLIB is not in use, assume that the POSIX sematics
15634         are desired.  This is better for Emacs, which uses POSIX semantics
15635         on GNUish and/or POSIXish platforms, and does not use threads at
15636         all otherwise.
15637
15638         pthread_sigmask: fix typo when testing for libraries
15639         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
15640         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
15641
15642 2011-07-08  Eric Blake  <eblake@redhat.com>
15643
15644         fts: introduce FTS_NOATIME
15645         * lib/fts_.h (FTS_NOATIME): New bit flag.
15646         (FTS_OPTIONMASK): Adjust.
15647         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
15648         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
15649
15650 2011-07-08  Bruno Haible  <bruno@clisp.org>
15651
15652         Tests for module 'thread'.
15653         * modules/thread-tests: New file.
15654         * tests/test-thread_self.c: New file.
15655         * tests/test-thread_create.cc: New file.
15656
15657 2011-07-08  Bruno Haible  <bruno@clisp.org>
15658
15659         thread: Avoid gcc warnings when using gl_thread_self().
15660         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
15661         'void *'.
15662         (gl_thread_self_pointer): Update.
15663
15664 2011-07-07  Bruno Haible  <bruno@clisp.org>
15665
15666         signal-c++-tests: Check declaration of pthread_sigmask.
15667         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
15668         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
15669         $(LIB_PTHREAD_SIGMASK).
15670
15671 2011-07-07  Bruno Haible  <bruno@clisp.org>
15672
15673         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
15674         * lib/signal.in.h (pthread_sigmask): Override if
15675         REPLACE_PTHREAD_SIGMASK is 1.
15676         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
15677         REPLACE_PTHREAD_SIGMASK.
15678         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
15679         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
15680         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
15681         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
15682         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
15683
15684 2011-07-07  Bruno Haible  <bruno@clisp.org>
15685
15686         pthread_sigmask: Ensure declaration in <signal.h>.
15687         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
15688         include <pthread.h>.
15689         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
15690         problem.
15691
15692 2011-07-07  Bruno Haible  <bruno@clisp.org>
15693
15694         pthread_sigmask: Document the module.
15695         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
15696
15697 2011-07-07  Bruno Haible  <bruno@clisp.org>
15698
15699         pthread_sigmask: Follow gnulib conventions.
15700         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
15701         gl_PTHREAD_SIGMASK.
15702         * modules/pthread_sigmask (configure.ac): Update.
15703
15704 2011-07-07  Bruno Haible  <bruno@clisp.org>
15705
15706         pthread_sigmask: Make declaration C++ safe.
15707         * lib/signal.in.h: In two special conditions, just do an #include_next.
15708         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
15709         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
15710         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
15711         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
15712         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
15713         not REPLACE_PTHREAD_MASK.
15714         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
15715         not REPLACE_PTHREAD_MASK.
15716         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
15717
15718 2011-07-07  Bruno Haible  <bruno@clisp.org>
15719
15720         pthread_sigmask: Fix return value.
15721         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
15722         * lib/pthread_sigmask.c: New file.
15723         * modules/pthread_sigmask (Files): Add it.
15724         (configure.ac): Invoke AC_LIBOBJ.
15725
15726 2011-07-07  Eric Blake  <eblake@redhat.com>
15727
15728         getopt: more portable argv creation
15729         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
15730         const, use char arrays rather than strings.
15731         Suggested by Paul Eggert.
15732
15733 2011-07-07  Bruno Haible  <bruno@clisp.org>
15734
15735         Tests for module 'sigprocmask'.
15736         * modules/sigprocmask-tests: New file.
15737         * tests/test-sigprocmask.c: New file.
15738
15739 2011-07-07  Bruno Haible  <bruno@clisp.org>
15740
15741         float tests: Tweak.
15742         * tests/test-float.c (main): Tweak skip message.
15743
15744 2011-07-07  Eric Blake  <eblake@redhat.com>
15745
15746         getopt: avoid compiler warning during configure
15747         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
15748         assigning string literals to non-const pointer.
15749
15750         getopt-gnu: avoid crash in glibc getopt
15751         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
15752         * tests/test-getopt.h (test_getopt): Enhance test.
15753         * tests/test-getopt_long.h (test_getopt_long): Likewise.
15754         * doc/posix-functions/getopt.texi (getopt): Document it.
15755         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
15756         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
15757         Likewise.
15758
15759 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
15760
15761         getopt: handle W; without long options in getopt [BZ #12922]
15762         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
15763         but no long options are defined, just return 'W'.
15764
15765 2011-07-07  Bruno Haible  <bruno@clisp.org>
15766
15767         Avoid literal tabs.
15768         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
15769         variable containing a tab instead of a literal tab.
15770         Reported by Jim Meyering.
15771
15772 2011-07-07  Bruno Haible  <bruno@clisp.org>
15773
15774         Comments.
15775         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
15776
15777 2011-07-06  Bruno Haible  <bruno@clisp.org>
15778
15779         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
15780         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
15781         <winsock2.h>.
15782         (rpl_fd_isset, FD_ISSET): New definitions, copied from
15783         lib/sys_socket.in.h.
15784         (close, gethostname): Hide declarations from <winsock2.h>.
15785         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
15786         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
15787         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
15788         (select): Don't override if gnulib's <sys/select.h> was already
15789         included.
15790         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
15791         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
15792         setsockopt, shutdown, select): Tweak indentation.
15793
15794 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
15795
15796         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
15797         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
15798         in an application that does not use the sys_select module.
15799
15800 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
15801
15802         poll: do not return 0 on timeout=-1
15803         * lib/poll.c: Loop with yield if no events occurred.
15804
15805 2011-07-06  Eric Blake  <eblake@redhat.com>
15806
15807         pthread_sigmask: always replace when not using pthread
15808         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
15809         replacement when using some threading other than pthread.  Fix
15810         logic bug.
15811
15812 2011-07-06  Bruno Haible  <bruno@clisp.org>
15813
15814         Comments.
15815         * m4/printf.m4: Update comments about mingw.
15816
15817 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
15818
15819         sys_select: define sigset_t more portably
15820         * lib/sys_select.in.h: Always include <sys/types.h>, since
15821         we now need sigset_t and mingw defines it there.
15822         Include <signal.h> before split inclusion guard, to avoid
15823         mishaps on Solaris, whose <signal.h> eventually includes us.
15824         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
15825         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
15826         which come from ...
15827         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
15828         gl_CHECK_TYPE_SIGSET_T.
15829         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
15830         does the real work.
15831         * modules/sys_select (Depends-on): Add 'signal'.
15832
15833         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
15834         Suggested by Bruno Haible.
15835
15836         pselect: Use pthread_sigmask, not sigprocmask.
15837         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
15838         multithreaded apps better than sigprocmask does.
15839         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
15840         sigprocmask directly.
15841
15842 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
15843
15844         * lib/pselect.c (pselect): Use plain name, without "rpl_".
15845         Don't #undef,  since we don't need any underlying pselect.
15846         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
15847         (Depends-on): Add select.
15848         (Link): Add $(LIBSOCKET).
15849         These changes suggested by Bruno Haible.
15850
15851         pselect: document better
15852         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
15853         * doc/posix-functions/pselect.texi (pselect): Document new module.
15854
15855         pthread_sigmask: new module
15856         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
15857         * doc/posix-functions/pthread_sigmask.texi: Document new module.
15858         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
15859         This is done only as a macro; I don't know how well that'll
15860         work for C++.  Move <sys/types.h> include before the include_next,
15861         to avoid mishap on Solaris.
15862         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
15863         * modules/signal (Makefile.am): Substitute the check's results.
15864         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
15865
15866         test-pselect: new module
15867         * modules/pselect-tests, tests/test-pselect.c: New files.
15868         * tests/test-select.c, tests/test-sys_select-c++.cc:
15869         If TEST_PSELECT is defined, test pselect instead of testing select.
15870
15871         * tests/test-sys_select.c (sigset_t): Test for it, too.
15872         Suggested by Bruno Haible.
15873
15874 2011-07-05  Eric Blake  <eblake@redhat.com>
15875
15876         snprintf: guarantee %1$d, for libintl
15877         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
15878         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
15879         * doc/posix-functions/snprintf.texi (snprintf): Update.
15880         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
15881         * tests/test-snprintf.c (main): Enhance test.
15882         * tests/test-vsnprintf.c (main): Likewise.
15883
15884 2011-07-05  Jim Meyering  <meyering@redhat.com>
15885
15886         maint: exempt stdio-read.c and stdio-write.c from the cppi check
15887         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
15888         per Bruno's request, to accommodate this idiom (no space after "#")
15889         even when the function is inside an #if block:
15890         char *
15891         gets (char *s)
15892         #undef gets
15893         {
15894           ...
15895         }
15896
15897 2011-07-04  Jim Meyering  <meyering@redhat.com>
15898
15899         maint: indent with spaces, not TABs, and add a rule to check this
15900         * tests/test-userspec.c: Indent with spaces, not TABs.
15901         * tests/test-argp.c: Likewise.
15902         * tests/test-c-stack2.sh: Likewise.
15903         * tests/test-parse-duration.sh: Likewise
15904         * m4/strtod.m4: Likewise.
15905         * m4/alloca.m4: Likewise.
15906         * m4/pselect.m4: Likewise.
15907         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
15908
15909 2011-07-03  Jim Meyering  <meyering@redhat.com>
15910
15911         maint.mk: correct omissions in prohibit_argmatch_without_use check
15912         This rule would mistakenly report that argmatch.h is included without
15913         use even when both the argmatch and invalid_arg macro were used.
15914         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
15915         of argmatch and invalid_arg.
15916
15917 2011-07-03  Bruno Haible  <bruno@clisp.org>
15918
15919         Comments about EINTR.
15920         * lib/safe-read.h: Explain the purpose of this module.
15921         * lib/safe-write.h: Likewise.
15922         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
15923         module.
15924         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
15925         module.
15926         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
15927
15928 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
15929
15930         xnanosleep: Rewrite to use new dtotimespec module.
15931         It has the conversion code that used to be in xnanosleep.
15932         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
15933         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
15934         (TIME_T_MAX): Remove.
15935         (xnanosleep): Rewrite in terms of dtotimespec.
15936         * modules/xnanosleep (Depends-on): Add dtotimespec.
15937         Remove intprops, stdbool.
15938
15939         timespec-add, timespec-sub: new modules
15940         * lib/timespec.h (timespec_add, timespec_sub): New decls.
15941         * lib/timespec-add.c, lib/timespec-sub.c:
15942         * modules/timespec-add, modules/timespec-sub: New files.
15943
15944         dtotimespec: new module
15945         * lib/timespec.h (dtotimespec): New decl.
15946         * lib/dtotimespec.c, modules/dtotimespec: New files.
15947
15948         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
15949
15950         pselect: new module
15951         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
15952         (pselect): New decls.
15953         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
15954         since the standard pselect decl uses 'restrict'.
15955         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
15956         HAVE_PSELECT, REPLACE_PSELECT.
15957         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
15958         HAVE_PSELECT, REPLACE_PSELECT.
15959         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
15960
15961         sys_select: don't depend on sys_socket
15962         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
15963         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
15964         This fix works on GNU and GNU-like platforms, but has not been tested
15965         on native Windows.
15966         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
15967         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
15968         gl_HEADER_SYS_SOCKET.
15969         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
15970         gl_PREREQ_SYS_H_WINSOCK2.
15971
15972 2011-06-29  Eric Blake  <eblake@redhat.com>
15973
15974         pipe2: fix C89 compile problem
15975         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
15976         Reported by Bruno Haible.
15977
15978         pipe, pipe2: don't corrupt fd on error
15979         * lib/pipe.c (pipe): Leave fd unchanged on error.
15980         * lib/pipe2.c (pipe2): Likewise.
15981         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
15982         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
15983
15984 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
15985
15986         mmap-anon: do not use regular expressions inadvertently
15987         * m4/mmap-anon.m4: Remove trailing period from strings sought
15988         in the output.
15989
15990 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
15991
15992         nanosleep: fix integer overflow problem
15993         * lib/nanosleep.c (my_usleep): Don't assume signed integer
15994         arithmetic wraps around on overflow.
15995
15996         nanosleep: simplify carrying
15997         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
15998         first call to the underyling nanosleep, not for the last one.
15999         This doesn't fix any bugs, but it simplifies the computation of
16000         the remaining delay.  Found while auditing integer overflow issues.
16001
16002         dup2: remove test for existence of fcntl
16003         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
16004         "#if HAVE_FCNTL", in the configure-time test program.
16005         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
16006         and therefore speeds up "configure" a bit.  Found while
16007         adding the dup2 module to Emacs.
16008
16009 2011-06-24  Eric Blake  <eblake@redhat.com>
16010
16011         maint.mk: enhance useless header checks
16012         * top/maint.mk (_sc_header_without_use): Check both include
16013         styles.
16014         (sc_prohibit_assert_without_use)
16015         (sc_prohibit_close_stream_without_use)
16016         (sc_prohibit_getopt_without_use)
16017         (sc_prohibit_quotearg_without_use)
16018         (sc_prohibit_quote_without_use)
16019         (sc_prohibit_long_options_without_use)
16020         (sc_prohibit_inttostr_without_use)
16021         (sc_prohibit_ignore_value_without_use)
16022         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
16023         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
16024         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
16025         (sc_prohibit_hash_pjw_without_use)
16026         (sc_prohibit_safe_read_without_use)
16027         (sc_prohibit_argmatch_without_use)
16028         (sc_prohibit_canonicalize_without_use)
16029         (sc_prohibit_root_dev_ino_without_use)
16030         (sc_prohibit_openat_without_use)
16031         (sc_prohibit_c_ctype_without_use)
16032         (sc_prohibit_signal_without_use)
16033         (sc_prohibit_stdio--_without_use)
16034         (sc_prohibit_stdio-safer_without_use)
16035         (sc_prohibit_strings_without_use)
16036         (sc_prohibit_intprops_without_use)
16037         (sc_prohibit_stddef_without_use)
16038         (sc_prohibit_xfreopen_without_use): Update clients.
16039
16040 2011-06-24  Jim Meyering  <meyering@redhat.com>
16041
16042         syntax-check: keep one maint.mk rule in sync with its header
16043         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
16044         of the bug Eric has just fixed, with today's commit 25e4c2ec.
16045         I prefer to avoid temporary files here, so use <(...), but that
16046         is not supported by /bin/sh, so...
16047         (SHELL): Define to /bin/bash.
16048
16049 2011-06-24  Eric Blake  <eblake@redhat.com>
16050
16051         maint.mk: update sc_prohibit_intprops_without_use
16052         * top/maint.mk (_intprops_names): Match recent changes.
16053
16054 2011-06-24  Bruno Haible  <bruno@clisp.org>
16055
16056         strerror-override: No-op tweak.
16057         * lib/strerror-override.h (strerror_override): Reorder conditions,
16058         for consistency with lib/strerror-override.c.
16059
16060 2011-06-23  Eric Blake  <eblake@redhat.com>
16061
16062         maint.mk: test further PATH_MAX issues
16063         * top/maint.mk (sc_prohibit_path_max_array): Rename...
16064         (sc_prohibit_path_max_allocation): ...and also test alloca.
16065         Suggested by Jim Meyering.
16066
16067 2011-06-22  Eric Blake  <eblake@redhat.com>
16068
16069         maint.mk: add syntax-check to avoid char[PATH_MAX]
16070         * top/maint.mk (sc_prohibit_path_max_array): New rule.
16071
16072         stat: be robust to PATH_MAX definition
16073         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
16074         * modules/stat (Depends-on): Add verify.
16075
16076         link: work around IRIX bug
16077         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
16078         * lib/link.c (rpl_link): Work around it.
16079         * tests/test-link.h (test_link): Enhance test.
16080         * doc/posix-functions/link.texi (link): Document the bug.
16081
16082         getopt: silence clang warning
16083         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
16084         dereference.
16085         Reported by Gustavo Martin Domato.
16086
16087 2011-06-22  Jim Meyering  <meyering@redhat.com>
16088
16089         bootstrap: do not insert a blank line into each .gitignore file
16090         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
16091
16092 2011-06-21  Eric Blake  <eblake@redhat.com>
16093
16094         perror: test for output mismatch
16095         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
16096         perror on IRIX.
16097
16098         strerror_r: fix OpenBSD behavior on out-of-range
16099         * lib/strerror_r.c (strerror_r): Always use maximal string.
16100         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
16101
16102         strerror_r: fix OpenBSD behavior on 0
16103         * lib/strerror-override.c (strerror_override): Also override 0
16104         when needed.
16105         * lib/strerror-override.h (strerror_override): Likewise.
16106         * lib/strerror.c (strerror): Simplify, now that 0 override is done
16107         earlier.
16108         * lib/strerror_r.c (strerror_r): Likewise.
16109         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
16110         behavior...
16111         (gl_FUNC_STRERROR_0): ...into new macro.
16112         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
16113         is overridden.
16114         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
16115         * modules/strerror-override (Files): Add strerror.m4.
16116         (configure.ac): Also provide override for 0 when needed.
16117         * doc/posix-functions/strerror.texi (strerror): Document this.
16118         * doc/posix-functions/perror.texi (perror): Likewise.
16119
16120         perror: adjust array size
16121         * modules/perror (Depends-on): Add strerror-override.
16122         * lib/perror.c (perror): Use it to avoid magic number.
16123
16124         strerror-override: reduce size
16125         * lib/strerror-override.c (strerror_override): Use fewer lines.
16126
16127 2011-06-20  Bruno Haible  <bruno@clisp.org>
16128
16129         pathmax: Ensure correct value for PATH_MAX on HP-UX.
16130         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
16131
16132 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
16133
16134         alloca: port to compilers that can optimize like GCC 4.6.0
16135         * lib/alloca.c (find_stack_direction): New signature, taken from
16136         Autoconf git.  This works with GCC 4.6.0.  This code should never
16137         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
16138         be used with other compilers that optimize as well as GCC 4.6.0 does.
16139         (alloca): Adjust to new signature.
16140         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
16141         New macro, which patches Autoconf in a similar way.
16142
16143         c-stack: stop worrying about stack direction
16144         * lib/c-stack.c (find_stack_direction): Remove.
16145         (segv_handler): Don't worry about stack direction growth, as it's
16146         too much of a pain to configure this correctly, given how compilers
16147         are optimizing-away our stack-growth detection code.  Instead, assume
16148         that any access to just before or just after the stack is OK.
16149         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
16150         Don't require AC_FUNC_ALLOCA; no longer needed.
16151
16152 2011-06-20  Eric Blake  <eblake@redhat.com>
16153
16154         test-stat: don't allocate PATH_MAX bytes
16155         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
16156         PATH_MAX-sized buffer.
16157         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
16158         * modules/stat-tests (Depends-on): Likewise.
16159         * tests/test-fstatat.c (includes): Drop pathmax.h.
16160         * tests/test-stat.c (includes): Likewise.
16161         Reported by Bruno Haible.
16162
16163 2011-06-20  Bruno Haible  <bruno@clisp.org>
16164
16165         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
16166         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
16167         * lib/float.c: New file.
16168         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
16169         REPLACE_FLOAT_LDBL.
16170         * modules/float (Files): Add lib/float.c.
16171         (configure.ac): Invoke AC_LIBOBJ.
16172         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
16173
16174 2011-06-20  Bruno Haible  <bruno@clisp.org>
16175
16176         Tests for module 'float'.
16177         * modules/float-tests: New file.
16178         * tests/test-float.c: New file.
16179
16180 2011-06-19  Bruno Haible  <bruno@clisp.org>
16181
16182         isinf: Coding style.
16183         * lib/isinf.c: Use GNU coding style.
16184
16185 2011-06-19  Bruno Haible  <bruno@clisp.org>
16186
16187         linkat test: Avoid test failure on AIX 7.1.
16188         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
16189         * tests/test-link.h (test_link): Likewise.
16190
16191 2011-06-19  Bruno Haible  <bruno@clisp.org>
16192
16193         pread test: Avoid test failure on OpenBSD 4.9.
16194         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
16195
16196 2011-06-19  Bruno Haible  <bruno@clisp.org>
16197
16198         sprintf-posix: Fix test failure on AIX 7.1.
16199         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
16200         * doc/posix-functions/dprintf.texi: Mention limited precision problem
16201         on AIX.
16202         * doc/posix-functions/fprintf.texi: Likewise.
16203         * doc/posix-functions/printf.texi: Likewise.
16204         * doc/posix-functions/snprintf.texi: Likewise.
16205         * doc/posix-functions/sprintf.texi: Likewise.
16206         * doc/posix-functions/vdprintf.texi: Likewise.
16207         * doc/posix-functions/vfprintf.texi: Likewise.
16208         * doc/posix-functions/vprintf.texi: Likewise.
16209         * doc/posix-functions/vsnprintf.texi: Likewise.
16210         * doc/posix-functions/vsprintf.texi: Likewise.
16211
16212 2011-06-19  Bruno Haible  <bruno@clisp.org>
16213
16214         roundl-ieee: Fix test failure on AIX 7.1.
16215         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
16216         * doc/posix-functions/roundl.texi: Mention problem with negative
16217         arguments.
16218
16219 2011-06-19  Bruno Haible  <bruno@clisp.org>
16220
16221         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
16222         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
16223         * doc/posix-functions/round.texi: Mention problem with negative
16224         arguments.
16225         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
16226
16227 2011-06-19  Bruno Haible  <bruno@clisp.org>
16228
16229         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
16230         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
16231         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
16232         * doc/posix-functions/roundf.texi: Mention problem with negative
16233         arguments.
16234         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
16235
16236 2011-06-19  Bruno Haible  <bruno@clisp.org>
16237
16238         ceilf-ieee: Work around bug on MacOS X 10.5.
16239         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
16240
16241         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
16242         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
16243         IEEE compliant, avoid compiler optimizations.
16244         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
16245         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
16246         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
16247         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
16248         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
16249         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
16250         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
16251         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
16252         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
16253         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
16254
16255 2011-06-19  Bruno Haible  <bruno@clisp.org>
16256
16257         ceilf-ieee: Work around bug on AIX 7.1.
16258         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
16259         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
16260
16261 2011-06-19  Bruno Haible  <bruno@clisp.org>
16262
16263         ceil-ieee: Work around bug on AIX 7.1.
16264         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
16265         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
16266
16267 2011-06-18  Bruno Haible  <bruno@clisp.org>
16268
16269         fsync test: Avoid test failure on MacOS X and AIX.
16270         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
16271         EINVAL.
16272
16273 2011-06-18  Bruno Haible  <bruno@clisp.org>
16274
16275         openat, fdopendir tests: Fix link errors.
16276         * modules/openat-tests (Depends-on): Add progname.
16277         * modules/fdopendir-tests (Depends-on): Likewise.
16278         * tests/test-fchownat.c: Include progname.h.
16279         (main): Call set_program_name.
16280         * tests/test-fstatat.c: Include progname.h.
16281         (main): Call set_program_name.
16282         * tests/test-mkdirat.c: Include progname.h.
16283         (main): Call set_program_name.
16284         * tests/test-openat.c: Include progname.h.
16285         (main): Call set_program_name.
16286         * tests/test-unlinkat.c: Include progname.h.
16287         (main): Call set_program_name.
16288         * tests/test-fdopendir.c: Include progname.h.
16289         (main): Call set_program_name.
16290
16291 2011-06-18  Bruno Haible  <bruno@clisp.org>
16292
16293         Doc update.
16294         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
16295         HP-UX.
16296         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
16297
16298 2011-06-18  Bruno Haible  <bruno@clisp.org>
16299
16300         getcwd tests: Avoid compilation error on HP-UX 11.31.
16301         * modules/getcwd-tests (Depends-on): Add pathmax.
16302         * tests/test-getcwd.c: Include pathmax.h.
16303
16304 2011-06-18  Bruno Haible  <bruno@clisp.org>
16305
16306         isfinite, isinf: Fix link error on AIX 6 and 7.
16307         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
16308         needed, also test the macro with a 'float' argument.
16309         * m4/isinf.m4 (gl_ISINF): Likewise.
16310
16311 2011-06-18  Bruno Haible  <bruno@clisp.org>
16312
16313         getloadavg: Don't clobber LIBS. Regression from previous commit.
16314         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
16315         AC_CHECK_LIB from here...
16316         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
16317         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
16318         gl_func_getloadavg_done.
16319         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16320
16321 2011-06-18  Bruno Haible  <bruno@clisp.org>
16322
16323         clean-temp: Improve documentation.
16324         * lib/clean-temp.h: Explain better how to use this module.
16325         Reported by John Darrington <john@darrington.wattle.id.au>.
16326
16327 2011-06-17  Bruno Haible  <bruno@clisp.org>
16328
16329         pread, pwrite: Avoid cc warning on AIX.
16330         * lib/unistd.in.h (pread): Undefine before defining as a macro.
16331         (pwrite): Likewise.
16332
16333 2011-06-17  Bruno Haible  <bruno@clisp.org>
16334
16335         spawn-pipe tests: Fix link error.
16336         * tests/test-spawn-pipe-child.c: Undefine fprintf.
16337         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16338
16339 2011-06-17  Bruno Haible  <bruno@clisp.org>
16340
16341         Tests: Remove unnecessary dependency.
16342         * modules/canonicalize-tests (Depends-on): Remove progname.
16343         * modules/chown-tests (Depends-on): Likewise.
16344         * modules/dirname-tests (Depends-on): Likewise.
16345         * modules/fdopendir-tests (Depends-on): Likewise.
16346         * modules/fdutimensat-tests (Depends-on): Likewise.
16347         * modules/hash-tests (Depends-on): Likewise.
16348         * modules/lchown-tests (Depends-on): Likewise.
16349         * modules/linkat-tests (Depends-on): Likewise.
16350         * modules/renameat-tests (Depends-on): Likewise.
16351         * modules/spawn-pipe-tests (Depends-on): Likewise.
16352         * modules/utimensat-tests (Depends-on): Likewise.
16353
16354 2011-06-17  Bruno Haible  <bruno@clisp.org>
16355
16356         spawn-pipe tests: Fix link error.
16357         * tests/test-spawn-pipe-child.c: Undefine fflush.
16358
16359 2011-06-17  Bruno Haible  <bruno@clisp.org>
16360
16361         Fix tests link errors.
16362         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
16363         * modules/chown-tests (Makefile.am): Don't link test-chown with
16364         LIBINTL.
16365         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
16366         LIBINTL.
16367         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
16368         LIBINTL.
16369         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
16370         LIBINTL.
16371
16372 2011-06-16  Bruno Haible  <bruno@clisp.org>
16373
16374         crypto/gc-sha1: Fix recent regression.
16375         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
16376         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
16377
16378         crypto/gc-md5: Fix recent regression.
16379         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
16380
16381         crypto/gc-md4: Fix recent regression.
16382         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
16383         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
16384
16385         crypto/gc-arctwo: Fix recent regression.
16386         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
16387         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
16388
16389         crypto/gc-rijndael: Fix recent regression.
16390         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
16391         (configure.ac): Invoke AC_LIBOBJ here.
16392         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
16393         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16394
16395         crypto/gc-hmac-sha1: Fix recent regression.
16396         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
16397         (configure.ac): Invoke AC_LIBOBJ here.
16398         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
16399         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16400
16401         crypto/gc-hmac-md5: Fix recent regression.
16402         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
16403         (configure.ac): Invoke AC_LIBOBJ here.
16404         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
16405         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16406
16407         crypto/gc-des: Fix recent regression.
16408         * modules/crypto/gc-des (Files): Remove m4/des.m4.
16409         (configure.ac): Invoke AC_LIBOBJ here.
16410         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
16411         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16412
16413         crypto/gc-arcfour: Fix recent regression.
16414         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
16415         (configure.ac): Invoke AC_LIBOBJ here.
16416         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
16417         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16418
16419 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
16420
16421         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
16422         After the 2011-05-21 change, this macro requires
16423         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
16424         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
16425
16426 2011-06-16  Bruno Haible  <bruno@clisp.org>
16427
16428         fprintftime: Move AC_LIBOBJ invocations to module description.
16429         * m4/fprintftime.m4: Remove file.
16430         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
16431         (configure.ac): Remove gl_FPRINTFTIME call.
16432         (Makefile.am): Augment lib_SOURCES.
16433         Reported by Jim Meyering.
16434
16435 2011-06-16  Bruno Haible  <bruno@clisp.org>
16436
16437         tmpfile-safer: Finish 2011-05-23 commit.
16438         * m4/stdio-safer.m4: Really remove file.
16439         Reported by Jim Meyering.
16440
16441 2011-06-16  Bruno Haible  <bruno@clisp.org>
16442
16443         syntax-check: Fix typo.
16444         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
16445         printf-posix.m4.
16446         Reported by Jim Meyering.
16447
16448 2011-06-13  Jim Meyering  <meyering@redhat.com>
16449
16450         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
16451         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
16452
16453 2011-05-23  Bruno Haible  <bruno@clisp.org>
16454
16455         yesno: Move AC_LIBOBJ invocations to module description.
16456         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
16457         * modules/yesno (Makefile.am): Augment lib_SOURCES.
16458
16459 2011-05-23  Bruno Haible  <bruno@clisp.org>
16460
16461         xstrtol: Move AC_LIBOBJ invocations to module description.
16462         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
16463         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
16464
16465 2011-05-23  Bruno Haible  <bruno@clisp.org>
16466
16467         xstrtold: Move AC_LIBOBJ invocations to module description.
16468         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
16469         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
16470
16471 2011-05-23  Bruno Haible  <bruno@clisp.org>
16472
16473         xstrtod: Move AC_LIBOBJ invocations to module description.
16474         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
16475         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
16476
16477 2011-05-23  Bruno Haible  <bruno@clisp.org>
16478
16479         xnanosleep: Move AC_LIBOBJ invocations to module description.
16480         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
16481         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
16482
16483 2011-05-23  Bruno Haible  <bruno@clisp.org>
16484
16485         xgetcwd: Move AC_LIBOBJ invocations to module description.
16486         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
16487         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
16488
16489 2011-05-23  Bruno Haible  <bruno@clisp.org>
16490
16491         xalloc: Move AC_LIBOBJ invocations to module description.
16492         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
16493         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
16494
16495 2011-05-23  Bruno Haible  <bruno@clisp.org>
16496
16497         write-any-file: Move AC_LIBOBJ invocations to module description.
16498         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
16499         invocation.
16500         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
16501
16502 2011-05-23  Bruno Haible  <bruno@clisp.org>
16503
16504         utimens: Move AC_LIBOBJ invocations to module description.
16505         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
16506         * modules/utimens (Makefile.am): Augment lib_SOURCES.
16507
16508 2011-05-23  Bruno Haible  <bruno@clisp.org>
16509
16510         utimecmp: Move AC_LIBOBJ invocations to module description.
16511         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
16512         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
16513
16514 2011-05-23  Bruno Haible  <bruno@clisp.org>
16515
16516         userspec: Move AC_LIBOBJ invocations to module description.
16517         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
16518         * modules/userspec (Makefile.am): Augment lib_SOURCES.
16519
16520 2011-05-23  Bruno Haible  <bruno@clisp.org>
16521
16522         unlinkdir: Move AC_LIBOBJ invocations to module description.
16523         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
16524         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
16525
16526 2011-05-23  Bruno Haible  <bruno@clisp.org>
16527
16528         unistd-safer: Move AC_LIBOBJ invocations to module description.
16529         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
16530         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
16531
16532 2011-05-23  Bruno Haible  <bruno@clisp.org>
16533
16534         tempname: Move AC_LIBOBJ invocations to module description.
16535         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
16536         * modules/tempname (Makefile.am): Augment lib_SOURCES.
16537
16538 2011-05-23  Bruno Haible  <bruno@clisp.org>
16539
16540         strftime: Move AC_LIBOBJ invocations to module description.
16541         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
16542         * modules/strftime (Makefile.am): Augment lib_SOURCES.
16543
16544 2011-05-23  Bruno Haible  <bruno@clisp.org>
16545
16546         stdlib-safer: Move AC_LIBOBJ invocations to module description.
16547         * m4/stdlib-safer.m4: Remove file.
16548         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
16549         (configure.ac): Remove gl_STDLIB_SAFER call.
16550         (Makefile.am): Augment lib_SOURCES.
16551
16552 2011-05-23  Bruno Haible  <bruno@clisp.org>
16553
16554         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
16555         * m4/stdio-safer.m4: Remove file.
16556         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
16557         (configure.ac): Remove gl_TMPFILE_SAFER call.
16558         (Makefile.am): Augment lib_SOURCES.
16559
16560 2011-05-23  Bruno Haible  <bruno@clisp.org>
16561
16562         popen-safer: Move AC_LIBOBJ invocations to module description.
16563         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
16564         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
16565         (configure.ac): Remove gl_POPEN_SAFER call.
16566         (Makefile.am): Augment lib_SOURCES.
16567
16568 2011-05-23  Bruno Haible  <bruno@clisp.org>
16569
16570         freopen-safer: Move AC_LIBOBJ invocations to module description.
16571         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
16572         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
16573         (configure.ac): Remove gl_FREOPEN_SAFER call.
16574         (Makefile.am): Augment lib_SOURCES.
16575
16576 2011-05-23  Bruno Haible  <bruno@clisp.org>
16577
16578         fopen-safer: Move AC_LIBOBJ invocations to module description.
16579         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
16580         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
16581         (configure.ac): Remove gl_FOPEN_SAFER call.
16582         (Makefile.am): Augment lib_SOURCES.
16583
16584 2011-05-23  Bruno Haible  <bruno@clisp.org>
16585
16586         crypto/sha512: Move AC_LIBOBJ invocations to module description.
16587         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
16588         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
16589
16590 2011-05-23  Bruno Haible  <bruno@clisp.org>
16591
16592         crypto/sha256: Move AC_LIBOBJ invocations to module description.
16593         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
16594         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
16595
16596 2011-05-23  Bruno Haible  <bruno@clisp.org>
16597
16598         crypto/sha1: Move AC_LIBOBJ invocations to module description.
16599         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
16600         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
16601
16602 2011-05-23  Bruno Haible  <bruno@clisp.org>
16603
16604         settime: Move AC_LIBOBJ invocations to module description.
16605         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
16606         * modules/settime (Makefile.am): Augment lib_SOURCES.
16607
16608 2011-05-23  Bruno Haible  <bruno@clisp.org>
16609
16610         savedir: Move AC_LIBOBJ invocations to module description.
16611         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
16612         * modules/savedir (Makefile.am): Augment lib_SOURCES.
16613
16614 2011-05-23  Bruno Haible  <bruno@clisp.org>
16615
16616         save-cwd: Move AC_LIBOBJ invocations to module description.
16617         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
16618         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
16619
16620 2011-05-23  Bruno Haible  <bruno@clisp.org>
16621
16622         same: Move AC_LIBOBJ invocations to module description.
16623         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
16624         * modules/same (Makefile.am): Augment lib_SOURCES.
16625
16626 2011-05-23  Bruno Haible  <bruno@clisp.org>
16627
16628         safe-write: Move AC_LIBOBJ invocations to module description.
16629         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
16630         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
16631         instead of gl_SAFE_WRITE.
16632         (Makefile.am): Augment lib_SOURCES.
16633
16634 2011-05-23  Bruno Haible  <bruno@clisp.org>
16635
16636         safe-read: Move AC_LIBOBJ invocations to module description.
16637         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
16638         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
16639         of gl_SAFE_READ.
16640         (Makefile.am): Augment lib_SOURCES.
16641
16642 2011-05-23  Bruno Haible  <bruno@clisp.org>
16643
16644         safe-alloc: Move AC_LIBOBJ invocations to module description.
16645         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
16646         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
16647
16648 2011-05-23  Bruno Haible  <bruno@clisp.org>
16649
16650         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
16651         * m4/rijndael.m4: Remove file.
16652         * modules/crypto/rijndael (Files): Remove it.
16653         (configure.ac): Remove gl_RIJNDAEL call.
16654         (Makefile.am): Augment lib_SOURCES.
16655
16656 2011-05-23  Bruno Haible  <bruno@clisp.org>
16657
16658         readtokens: Move AC_LIBOBJ invocations to module description.
16659         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
16660         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
16661
16662 2011-05-23  Bruno Haible  <bruno@clisp.org>
16663
16664         read-file: Move AC_LIBOBJ invocations to module description.
16665         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
16666         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
16667         of gl_FUNC_READ_FILE.
16668         (Makefile.am): Augment lib_SOURCES.
16669
16670 2011-05-23  Bruno Haible  <bruno@clisp.org>
16671
16672         quotearg: Move AC_LIBOBJ invocations to module description.
16673         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
16674         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
16675
16676 2011-05-23  Bruno Haible  <bruno@clisp.org>
16677
16678         quote: Move AC_LIBOBJ invocations to module description.
16679         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
16680         * modules/quote (Makefile.am): Augment lib_SOURCES.
16681
16682 2011-05-23  Bruno Haible  <bruno@clisp.org>
16683
16684         posixver: Move AC_LIBOBJ invocations to module description.
16685         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
16686         * modules/posixver (Makefile.am): Augment lib_SOURCES.
16687
16688 2011-05-23  Bruno Haible  <bruno@clisp.org>
16689
16690         posixtm: Move AC_LIBOBJ invocations to module description.
16691         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
16692         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
16693
16694 2011-05-23  Bruno Haible  <bruno@clisp.org>
16695
16696         physmem: Move AC_LIBOBJ invocations to module description.
16697         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
16698         * modules/physmem (Makefile.am): Augment lib_SOURCES.
16699
16700 2011-05-23  Bruno Haible  <bruno@clisp.org>
16701
16702         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
16703         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
16704         invocation.
16705         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
16706
16707 2011-05-23  Bruno Haible  <bruno@clisp.org>
16708
16709         mpsort: Move AC_LIBOBJ invocations to module description.
16710         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
16711         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
16712
16713 2011-05-23  Bruno Haible  <bruno@clisp.org>
16714
16715         modechange: Move AC_LIBOBJ invocations to module description.
16716         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
16717         * modules/modechange (Makefile.am): Augment lib_SOURCES.
16718
16719 2011-05-23  Bruno Haible  <bruno@clisp.org>
16720
16721         mkdir-p: Move AC_LIBOBJ invocations to module description.
16722         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
16723         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
16724
16725 2011-05-23  Bruno Haible  <bruno@clisp.org>
16726
16727         mkancesdirs: Move AC_LIBOBJ invocations to module description.
16728         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
16729         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
16730
16731 2011-05-23  Bruno Haible  <bruno@clisp.org>
16732
16733         mgetgroups: Move AC_LIBOBJ invocations to module description.
16734         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
16735         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
16736
16737 2011-05-23  Bruno Haible  <bruno@clisp.org>
16738
16739         memxor: Move AC_LIBOBJ invocations to module description.
16740         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
16741         * modules/memxor (Makefile.am): Augment lib_SOURCES.
16742
16743 2011-05-23  Bruno Haible  <bruno@clisp.org>
16744
16745         memcoll: Move AC_LIBOBJ invocations to module description.
16746         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
16747         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
16748
16749 2011-05-23  Bruno Haible  <bruno@clisp.org>
16750
16751         memcasecmp: Move AC_LIBOBJ invocations to module description.
16752         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
16753         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
16754
16755 2011-05-23  Bruno Haible  <bruno@clisp.org>
16756
16757         crypto/md5: Move AC_LIBOBJ invocations to module description.
16758         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
16759         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
16760
16761 2011-05-23  Bruno Haible  <bruno@clisp.org>
16762
16763         crypto/md4: Move AC_LIBOBJ invocations to module description.
16764         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
16765         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
16766
16767 2011-05-23  Bruno Haible  <bruno@clisp.org>
16768
16769         crypto/md2: Move AC_LIBOBJ invocations to module description.
16770         * m4/md2.m4: Remove file.
16771         * modules/crypto/md2 (Files): Remove it.
16772         (configure.ac): Remove gl_MD2 call.
16773         (Makefile.am): Augment lib_SOURCES.
16774
16775 2011-05-23  Bruno Haible  <bruno@clisp.org>
16776
16777         long-options: Move AC_LIBOBJ invocations to module description.
16778         * m4/long-options.m4: Remove file.
16779         * modules/long-options (Files): Remove it.
16780         (configure.ac): Remove gl_LONG_OPTIONS call.
16781         (Makefile.am): Augment lib_SOURCES.
16782
16783 2011-05-23  Bruno Haible  <bruno@clisp.org>
16784
16785         i-ring: Move AC_LIBOBJ invocations to module description.
16786         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
16787         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
16788
16789 2011-05-23  Bruno Haible  <bruno@clisp.org>
16790
16791         idcache: Move AC_LIBOBJ invocations to module description.
16792         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
16793         * modules/idcache (Makefile.am): Augment lib_SOURCES.
16794
16795 2011-05-23  Bruno Haible  <bruno@clisp.org>
16796
16797         human: Move AC_LIBOBJ invocations to module description.
16798         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
16799         * modules/human (Makefile.am): Augment lib_SOURCES.
16800
16801 2011-05-23  Bruno Haible  <bruno@clisp.org>
16802
16803         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
16804         * m4/hmac-sha1.m4: Remove file.
16805         * modules/crypto/hmac-sha1 (Files): Remove it.
16806         (configure.ac): Remove gl_HMAC_SHA1 call.
16807         (Makefile.am): Augment lib_SOURCES.
16808
16809 2011-05-23  Bruno Haible  <bruno@clisp.org>
16810
16811         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
16812         * m4/hmac-md5.m4: Remove file.
16813         * modules/crypto/hmac-md5 (Files): Remove it.
16814         (configure.ac): Remove gl_HMAC_MD5 call.
16815         (Makefile.am): Augment lib_SOURCES.
16816
16817 2011-05-23  Bruno Haible  <bruno@clisp.org>
16818
16819         hash: Move AC_LIBOBJ invocations to module description.
16820         * m4/hash.m4: Remove file.
16821         * modules/hash (Files): Remove it.
16822         (configure.ac): Remove gl_HASH call.
16823         (Makefile.am): Augment lib_SOURCES.
16824
16825 2011-05-23  Bruno Haible  <bruno@clisp.org>
16826
16827         hard-locale: Move AC_LIBOBJ invocations to module description.
16828         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
16829         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
16830
16831 2011-05-23  Bruno Haible  <bruno@clisp.org>
16832
16833         getugroups: Move AC_LIBOBJ invocations to module description.
16834         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
16835         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
16836
16837 2011-05-23  Bruno Haible  <bruno@clisp.org>
16838
16839         gettime: Move AC_LIBOBJ invocations to module description.
16840         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
16841         * modules/gettime (Makefile.am): Augment lib_SOURCES.
16842
16843 2011-05-23  Bruno Haible  <bruno@clisp.org>
16844
16845         getndelim2: Move AC_LIBOBJ invocations to module description.
16846         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
16847         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
16848
16849 2011-05-23  Bruno Haible  <bruno@clisp.org>
16850
16851         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
16852         * m4/gc-pbkdf2-sha1.m4: Remove file.
16853         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
16854         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
16855         (Makefile.am): Augment lib_SOURCES.
16856
16857 2011-05-23  Bruno Haible  <bruno@clisp.org>
16858
16859         fts: Move AC_LIBOBJ invocations to module description.
16860         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
16861         * modules/fts (configure.ac): ... to here.
16862
16863 2011-05-23  Bruno Haible  <bruno@clisp.org>
16864
16865         file-type: Move AC_LIBOBJ invocations to module description.
16866         * m4/file-type.m4: Remove file.
16867         * modules/file-type (Files): Remove it.
16868         (configure.ac): Remove gl_FILE_TYPE call.
16869         (Makefile.am): Augment lib_SOURCES.
16870
16871 2011-05-23  Bruno Haible  <bruno@clisp.org>
16872
16873         filenamecat*: Respect rules for use of AC_LIBOBJ.
16874         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
16875         Remove AC_LIBOBJ invocation.
16876         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
16877         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
16878
16879 2011-05-23  Bruno Haible  <bruno@clisp.org>
16880
16881         filemode: Move AC_LIBOBJ invocations to module description.
16882         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
16883         * modules/filemode (Makefile.am): Augment lib_SOURCES.
16884
16885 2011-05-23  Bruno Haible  <bruno@clisp.org>
16886
16887         openat-safer: Move AC_LIBOBJ invocations to module description.
16888         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
16889         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
16890
16891 2011-05-23  Bruno Haible  <bruno@clisp.org>
16892
16893         fcntl-safer: Move AC_LIBOBJ invocations to module description.
16894         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
16895         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
16896
16897 2011-05-23  Bruno Haible  <bruno@clisp.org>
16898
16899         exclude: Move AC_LIBOBJ invocations to module description.
16900         * m4/exclude.m4: Remove file.
16901         * modules/exclude (Files): Remove it.
16902         (configure.ac): Remove gl_EXCLUDE call.
16903         (Makefile.am): Augment lib_SOURCES.
16904
16905 2011-05-23  Bruno Haible  <bruno@clisp.org>
16906
16907         dirname*: Respect rules for use of AC_LIBOBJ.
16908         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
16909         invocations.
16910         * modules/dirname (Makefile.am): Augment lib_SOURCES.
16911         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
16912
16913 2011-05-23  Bruno Haible  <bruno@clisp.org>
16914
16915         dirent-safer: Move AC_LIBOBJ invocations to module description.
16916         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
16917         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
16918
16919 2011-05-23  Bruno Haible  <bruno@clisp.org>
16920
16921         crypto/des: Move AC_LIBOBJ invocations to module description.
16922         * m4/des.m4: Remove file.
16923         * modules/crypto/des (Files): Remove it.
16924         (configure.ac): Remove gl_DES call.
16925         (Makefile.am): Augment lib_SOURCES.
16926
16927 2011-05-23  Bruno Haible  <bruno@clisp.org>
16928
16929         cycle-check: Move AC_LIBOBJ invocations to module description.
16930         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
16931         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
16932
16933 2011-05-23  Bruno Haible  <bruno@clisp.org>
16934
16935         c-strtold: Move AC_LIBOBJ invocations to module description.
16936         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
16937         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
16938
16939 2011-05-23  Bruno Haible  <bruno@clisp.org>
16940
16941         c-strtod: Move AC_LIBOBJ invocations to module description.
16942         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
16943         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
16944
16945 2011-05-23  Bruno Haible  <bruno@clisp.org>
16946
16947         crc: Move AC_LIBOBJ invocations to module description.
16948         * m4/crc.m4: Remove file.
16949         * modules/crc (Files): Remove it.
16950         (configure.ac): Remove gl_CRC call.
16951         (Makefile.am): Augment lib_SOURCES.
16952
16953 2011-05-23  Bruno Haible  <bruno@clisp.org>
16954
16955         close-stream: Move AC_LIBOBJ invocations to module description.
16956         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
16957         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
16958
16959 2011-05-23  Bruno Haible  <bruno@clisp.org>
16960
16961         closeout: Move AC_LIBOBJ invocations to module description.
16962         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
16963         * modules/closeout (Makefile.am): Augment lib_SOURCES.
16964
16965 2011-05-23  Bruno Haible  <bruno@clisp.org>
16966
16967         closein: Move AC_LIBOBJ invocations to module description.
16968         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
16969         * modules/closein (Makefile.am): Augment lib_SOURCES.
16970
16971 2011-05-23  Bruno Haible  <bruno@clisp.org>
16972
16973         cloexec: Move AC_LIBOBJ invocations to module description.
16974         * m4/cloexec.m4: Remove file.
16975         * modules/cloexec (Files): Remove it.
16976         (configure.ac): Remove gl_CLOEXEC call.
16977         (Makefile.am): Augment lib_SOURCES.
16978
16979 2011-05-23  Bruno Haible  <bruno@clisp.org>
16980
16981         check-version: Move AC_LIBOBJ invocations to module description.
16982         * m4/check-version.m4: Remove file.
16983         * modules/check-version (Files): Remove it.
16984         (configure.ac): Remove gl_CHECK_VERSION call.
16985         (Makefile.am): Augment lib_SOURCES.
16986
16987 2011-05-23  Bruno Haible  <bruno@clisp.org>
16988
16989         chdir-safer: Move AC_LIBOBJ invocations to module description.
16990         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
16991         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
16992
16993 2011-05-23  Bruno Haible  <bruno@clisp.org>
16994
16995         canonicalize: Move AC_LIBOBJ invocations to module description.
16996         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
16997         AC_LIBOBJ invocation.
16998         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
16999
17000 2011-05-23  Bruno Haible  <bruno@clisp.org>
17001
17002         canon-host: Move AC_LIBOBJ invocations to module description.
17003         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
17004         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
17005         instead of gl_CANON_HOST.
17006         (Makefile.am): Augment lib_SOURCES.
17007
17008 2011-05-23  Bruno Haible  <bruno@clisp.org>
17009
17010         backupfile: Move AC_LIBOBJ invocations to module description.
17011         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
17012         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
17013
17014 2011-05-23  Bruno Haible  <bruno@clisp.org>
17015
17016         argmatch: Move AC_LIBOBJ invocations to module description.
17017         * m4/argmatch.m4: Remove file.
17018         * modules/argmatch (Files): Remove it.
17019         (configure.ac): Remove gl_ARGMATCH call.
17020         (Makefile.am): Augment lib_SOURCES.
17021
17022 2011-05-23  Bruno Haible  <bruno@clisp.org>
17023
17024         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
17025         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
17026         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
17027
17028 2011-05-23  Bruno Haible  <bruno@clisp.org>
17029
17030         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
17031         * m4/arcfour.m4: Remove file.
17032         * modules/crypto/arcfour (Files): Remove it.
17033         (configure.ac): Remove gl_ARCFOUR call.
17034         (Makefile.am): Augment lib_SOURCES.
17035
17036 2011-05-22  Bruno Haible  <bruno@clisp.org>
17037
17038         write: Move AC_LIBOBJ invocations to module description.
17039         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
17040         * modules/write (configure.ac): ... to here.
17041
17042 2011-05-22  Bruno Haible  <bruno@clisp.org>
17043
17044         wmemset: Move AC_LIBOBJ invocations to module description.
17045         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
17046         here...
17047         * modules/wmemset (configure.ac): ... to here.
17048
17049 2011-05-22  Bruno Haible  <bruno@clisp.org>
17050
17051         wmemmove: Move AC_LIBOBJ invocations to module description.
17052         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
17053         here...
17054         * modules/wmemmove (configure.ac): ... to here.
17055
17056 2011-05-22  Bruno Haible  <bruno@clisp.org>
17057
17058         wmemcpy: Move AC_LIBOBJ invocations to module description.
17059         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
17060         here...
17061         * modules/wmemcpy (configure.ac): ... to here.
17062
17063 2011-05-22  Bruno Haible  <bruno@clisp.org>
17064
17065         wmemcmp: Move AC_LIBOBJ invocations to module description.
17066         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
17067         here...
17068         * modules/wmemcmp (configure.ac): ... to here.
17069
17070 2011-05-22  Bruno Haible  <bruno@clisp.org>
17071
17072         wmemchr: Move AC_LIBOBJ invocations to module description.
17073         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
17074         here...
17075         * modules/wmemchr (configure.ac): ... to here.
17076
17077 2011-05-22  Bruno Haible  <bruno@clisp.org>
17078
17079         wcswidth: Move AC_LIBOBJ invocations to module description.
17080         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
17081         here...
17082         * modules/wcswidth (configure.ac): ... to here.
17083
17084 2011-05-22  Bruno Haible  <bruno@clisp.org>
17085
17086         wcwidth: Respect rules for use of AC_LIBOBJ.
17087         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
17088         invocation from here...
17089         * modules/wcwidth (configure.ac): ... to here.
17090         (Depends-on): Update conditions.
17091
17092 2011-05-22  Bruno Haible  <bruno@clisp.org>
17093
17094         wctype: Move AC_LIBOBJ invocations to module description.
17095         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
17096         invocation from here...
17097         * modules/wctype (configure.ac): ... to here.
17098         (Depends-on): Update conditions.
17099
17100 2011-05-22  Bruno Haible  <bruno@clisp.org>
17101
17102         wctrans: Move AC_LIBOBJ invocations to module description.
17103         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
17104         invocation from here...
17105         * modules/wctrans (configure.ac): ... to here.
17106
17107 2011-05-22  Bruno Haible  <bruno@clisp.org>
17108
17109         wctomb: Move AC_LIBOBJ invocations to module description.
17110         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
17111         invocations from here...
17112         * modules/wctomb (configure.ac): ... to here.
17113
17114 2011-05-22  Bruno Haible  <bruno@clisp.org>
17115
17116         wctob: Move AC_LIBOBJ invocations to module description.
17117         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
17118         gl_PREREQ_WCTOB invocations from here...
17119         * modules/wctob (configure.ac): ... to here.
17120         (Depends-on): Update conditions.
17121
17122 2011-05-22  Bruno Haible  <bruno@clisp.org>
17123
17124         wcsxfrm: Move AC_LIBOBJ invocations to module description.
17125         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
17126         here...
17127         * modules/wcsxfrm (configure.ac): ... to here.
17128
17129 2011-05-22  Bruno Haible  <bruno@clisp.org>
17130
17131         wcstok: Move AC_LIBOBJ invocations to module description.
17132         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
17133         * modules/wcstok (configure.ac): ... to here.
17134
17135 2011-05-22  Bruno Haible  <bruno@clisp.org>
17136
17137         wcsstr: Move AC_LIBOBJ invocations to module description.
17138         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
17139         * modules/wcsstr (configure.ac): ... to here.
17140
17141 2011-05-22  Bruno Haible  <bruno@clisp.org>
17142
17143         wcsspn: Move AC_LIBOBJ invocations to module description.
17144         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
17145         * modules/wcsspn (configure.ac): ... to here.
17146
17147 2011-05-22  Bruno Haible  <bruno@clisp.org>
17148
17149         wcsrtombs: Move AC_LIBOBJ invocations to module description.
17150         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
17151         gl_PREREQ_WCSRTOMBS invocations from here...
17152         * modules/wcsrtombs (configure.ac): ... to here.
17153
17154 2011-05-22  Bruno Haible  <bruno@clisp.org>
17155
17156         wcsrchr: Move AC_LIBOBJ invocations to module description.
17157         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
17158         here...
17159         * modules/wcsrchr (configure.ac): ... to here.
17160
17161 2011-05-22  Bruno Haible  <bruno@clisp.org>
17162
17163         wcspbrk: Move AC_LIBOBJ invocations to module description.
17164         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
17165         here...
17166         * modules/wcspbrk (configure.ac): ... to here.
17167
17168 2011-05-22  Bruno Haible  <bruno@clisp.org>
17169
17170         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
17171         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
17172         gl_PREREQ_WCSNRTOMBS invocations from here...
17173         * modules/wcsnrtombs (configure.ac): ... to here.
17174
17175 2011-05-22  Bruno Haible  <bruno@clisp.org>
17176
17177         wcsnlen: Move AC_LIBOBJ invocations to module description.
17178         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
17179         here...
17180         * modules/wcsnlen (configure.ac): ... to here.
17181
17182 2011-05-22  Bruno Haible  <bruno@clisp.org>
17183
17184         wcsncpy: Move AC_LIBOBJ invocations to module description.
17185         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
17186         here...
17187         * modules/wcsncpy (configure.ac): ... to here.
17188
17189 2011-05-22  Bruno Haible  <bruno@clisp.org>
17190
17191         wcsncmp: Move AC_LIBOBJ invocations to module description.
17192         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
17193         here...
17194         * modules/wcsncmp (configure.ac): ... to here.
17195
17196 2011-05-22  Bruno Haible  <bruno@clisp.org>
17197
17198         wcsncat: Move AC_LIBOBJ invocations to module description.
17199         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
17200         here...
17201         * modules/wcsncat (configure.ac): ... to here.
17202
17203 2011-05-22  Bruno Haible  <bruno@clisp.org>
17204
17205         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
17206         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
17207         from here...
17208         * modules/wcsncasecmp (configure.ac): ... to here.
17209
17210 2011-05-22  Bruno Haible  <bruno@clisp.org>
17211
17212         wcslen: Move AC_LIBOBJ invocations to module description.
17213         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
17214         * modules/wcslen (configure.ac): ... to here.
17215
17216 2011-05-22  Bruno Haible  <bruno@clisp.org>
17217
17218         wcsdup: Move AC_LIBOBJ invocations to module description.
17219         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
17220         * modules/wcsdup (configure.ac): ... to here.
17221
17222 2011-05-22  Bruno Haible  <bruno@clisp.org>
17223
17224         wcscspn: Move AC_LIBOBJ invocations to module description.
17225         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
17226         here...
17227         * modules/wcscspn (configure.ac): ... to here.
17228
17229 2011-05-22  Bruno Haible  <bruno@clisp.org>
17230
17231         wcscpy: Move AC_LIBOBJ invocations to module description.
17232         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
17233         * modules/wcscpy (configure.ac): ... to here.
17234
17235 2011-05-22  Bruno Haible  <bruno@clisp.org>
17236
17237         wcscoll: Move AC_LIBOBJ invocations to module description.
17238         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
17239         here...
17240         * modules/wcscoll (configure.ac): ... to here.
17241
17242 2011-05-22  Bruno Haible  <bruno@clisp.org>
17243
17244         wcscmp: Move AC_LIBOBJ invocations to module description.
17245         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
17246         * modules/wcscmp (configure.ac): ... to here.
17247
17248 2011-05-22  Bruno Haible  <bruno@clisp.org>
17249
17250         wcschr: Move AC_LIBOBJ invocations to module description.
17251         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
17252         * modules/wcschr (configure.ac): ... to here.
17253
17254 2011-05-22  Bruno Haible  <bruno@clisp.org>
17255
17256         wcscat: Move AC_LIBOBJ invocations to module description.
17257         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
17258         * modules/wcscat (configure.ac): ... to here.
17259
17260 2011-05-22  Bruno Haible  <bruno@clisp.org>
17261
17262         wcscasecmp: Move AC_LIBOBJ invocations to module description.
17263         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
17264         here...
17265         * modules/wcscasecmp (configure.ac): ... to here.
17266
17267 2011-05-22  Bruno Haible  <bruno@clisp.org>
17268
17269         wcrtomb: Move AC_LIBOBJ invocations to module description.
17270         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
17271         invocations from here...
17272         * modules/wcrtomb (configure.ac): ... to here.
17273
17274 2011-05-22  Bruno Haible  <bruno@clisp.org>
17275
17276         wcpncpy: Move AC_LIBOBJ invocations to module description.
17277         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
17278         here...
17279         * modules/wcpncpy (configure.ac): ... to here.
17280
17281 2011-05-22  Bruno Haible  <bruno@clisp.org>
17282
17283         wcpcpy: Move AC_LIBOBJ invocations to module description.
17284         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
17285         * modules/wcpcpy (configure.ac): ... to here.
17286
17287 2011-05-22  Bruno Haible  <bruno@clisp.org>
17288
17289         waitpid: Move AC_LIBOBJ invocations to module description.
17290         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
17291         invocation from here...
17292         * modules/waitpid (configure.ac): ... to here.
17293
17294 2011-05-22  Bruno Haible  <bruno@clisp.org>
17295
17296         utimensat: Move AC_LIBOBJ invocations to module description.
17297         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
17298         here...
17299         * modules/utimensat (configure.ac): ... to here.
17300
17301 2011-05-22  Bruno Haible  <bruno@clisp.org>
17302
17303         usleep: Move AC_LIBOBJ invocations to module description.
17304         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
17305         here...
17306         * modules/usleep (configure.ac): ... to here.
17307
17308 2011-05-22  Bruno Haible  <bruno@clisp.org>
17309
17310         unlockpt: Move AC_LIBOBJ invocations to module description.
17311         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
17312         gl_PREREQ_UNLOCKPT invocations from here...
17313         * modules/unlockpt (configure.ac): ... to here.
17314
17315 2011-05-22  Bruno Haible  <bruno@clisp.org>
17316
17317         unlink: Respect rules for use of AC_LIBOBJ.
17318         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
17319         * modules/unlink (configure.ac): ... to here.
17320
17321 2011-05-22  Bruno Haible  <bruno@clisp.org>
17322
17323         uname: Move AC_LIBOBJ invocations to module description.
17324         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
17325         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
17326         here...
17327         * modules/uname (configure.ac): ... to here.
17328
17329 2011-05-22  Bruno Haible  <bruno@clisp.org>
17330
17331         ttyname_r: Move AC_LIBOBJ invocations to module description.
17332         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
17333         gl_PREREQ_TTYNAME_R invocations from here...
17334         * modules/ttyname_r (configure.ac): ... to here.
17335
17336 2011-05-22  Bruno Haible  <bruno@clisp.org>
17337
17338         tsearch: Move AC_LIBOBJ invocations to module description.
17339         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
17340         invocations from here...
17341         * modules/tsearch (configure.ac): ... to here.
17342
17343 2011-05-22  Bruno Haible  <bruno@clisp.org>
17344
17345         towctrans: Move AC_LIBOBJ invocations to module description.
17346         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
17347         AC_LIBOBJ invocation from here...
17348         * modules/towctrans (configure.ac): ... to here.
17349
17350 2011-05-22  Bruno Haible  <bruno@clisp.org>
17351
17352         tmpfile: Move AC_LIBOBJ invocations to module description.
17353         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
17354         invocations from here...
17355         * modules/tmpfile (configure.ac): ... to here.
17356
17357 2011-05-22  Bruno Haible  <bruno@clisp.org>
17358
17359         times: Move AC_LIBOBJ invocations to module description.
17360         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
17361         * modules/times (configure.ac): ... to here.
17362
17363 2011-05-22  Bruno Haible  <bruno@clisp.org>
17364
17365         time_r: Move AC_LIBOBJ invocations to module description.
17366         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
17367         invocations from here...
17368         * modules/time_r (configure.ac): ... to here.
17369
17370 2011-05-22  Bruno Haible  <bruno@clisp.org>
17371
17372         timegm: Move AC_LIBOBJ invocations to module description.
17373         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
17374         invocations from here...
17375         * modules/timegm (configure.ac): ... to here.
17376
17377 2011-05-22  Bruno Haible  <bruno@clisp.org>
17378
17379         tcgetsid: Move AC_LIBOBJ invocations to module description.
17380         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
17381         and gl_PREREQ_TCGETSID invocations from here...
17382         * modules/tcgetsid (configure.ac): ... to here.
17383         (Depends-on): Update conditions.
17384
17385 2011-05-22  Bruno Haible  <bruno@clisp.org>
17386
17387         symlinkat: Move AC_LIBOBJ invocations to module description.
17388         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
17389         here...
17390         * modules/symlinkat (configure.ac): ... to here.
17391
17392 2011-05-22  Bruno Haible  <bruno@clisp.org>
17393
17394         symlink: Move AC_LIBOBJ invocations to module description.
17395         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
17396         here...
17397         * modules/symlink (configure.ac): ... to here.
17398
17399 2011-05-22  Bruno Haible  <bruno@clisp.org>
17400
17401         strverscmp: Move AC_LIBOBJ invocations to module description.
17402         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
17403         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
17404         from here...
17405         * modules/strverscmp (configure.ac): ... to here.
17406
17407 2011-05-22  Bruno Haible  <bruno@clisp.org>
17408
17409         strtok_r: Move AC_LIBOBJ invocations to module description.
17410         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
17411         and gl_PREREQ_STRTOK_R invocations from here...
17412         * modules/strtok_r (configure.ac): ... to here.
17413         (Depends-on): Update conditions.
17414
17415 2011-05-22  Bruno Haible  <bruno@clisp.org>
17416
17417         strtoumax: Move AC_LIBOBJ invocations to module description.
17418         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
17419         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
17420         from here...
17421         * modules/strtoumax (configure.ac): ... to here.
17422
17423 2011-05-22  Bruno Haible  <bruno@clisp.org>
17424
17425         strtoimax: Move AC_LIBOBJ invocations to module description.
17426         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
17427         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
17428         from here...
17429         * modules/strtoimax (configure.ac): ... to here.
17430
17431 2011-05-22  Bruno Haible  <bruno@clisp.org>
17432
17433         strtoull: Move AC_LIBOBJ invocations to module description.
17434         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
17435         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
17436         from here...
17437         * modules/strtoull (configure.ac): ... to here.
17438
17439 2011-05-22  Bruno Haible  <bruno@clisp.org>
17440
17441         strtoll: Move AC_LIBOBJ invocations to module description.
17442         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
17443         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
17444         here...
17445         * modules/strtoll (configure.ac): ... to here.
17446
17447 2011-05-22  Bruno Haible  <bruno@clisp.org>
17448
17449         strtoul: Move AC_LIBOBJ invocations to module description.
17450         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
17451         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
17452         * modules/strtoul (configure.ac): ... to here.
17453
17454 2011-05-22  Bruno Haible  <bruno@clisp.org>
17455
17456         strtol: Move AC_LIBOBJ invocations to module description.
17457         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
17458         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
17459         * modules/strtol (configure.ac): ... to here.
17460
17461 2011-05-22  Bruno Haible  <bruno@clisp.org>
17462
17463         strtod: Move AC_LIBOBJ invocations to module description.
17464         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
17465         invocations from here...
17466         * modules/strtod (configure.ac): ... to here.
17467
17468 2011-05-22  Bruno Haible  <bruno@clisp.org>
17469
17470         strstr*: Move AC_LIBOBJ invocations to module description.
17471         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
17472         invocations from here...
17473         * modules/strstr-simple (configure.ac): ... to here.
17474         * modules/strstr (configure.ac): ... and here.
17475
17476 2011-05-22  Bruno Haible  <bruno@clisp.org>
17477
17478         strsignal: Move AC_LIBOBJ invocations to module description.
17479         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
17480         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
17481         * modules/strsignal (configure.ac): ... to here.
17482         (Depends-on): Update conditions.
17483
17484 2011-05-22  Bruno Haible  <bruno@clisp.org>
17485
17486         strsep: Move AC_LIBOBJ invocations to module description.
17487         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
17488         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
17489         here...
17490         * modules/strsep (configure.ac): ... to here.
17491
17492 2011-05-22  Bruno Haible  <bruno@clisp.org>
17493
17494         strptime: Move AC_LIBOBJ invocations to module description.
17495         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
17496         gl_PREREQ_STRPTIME invocations from here...
17497         * modules/strptime (configure.ac): ... to here.
17498
17499 2011-05-22  Bruno Haible  <bruno@clisp.org>
17500
17501         strpbrk: Move AC_LIBOBJ invocations to module description.
17502         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
17503         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
17504         here...
17505         * modules/strpbrk (configure.ac): ... to here.
17506
17507 2011-05-22  Bruno Haible  <bruno@clisp.org>
17508
17509         strnlen: Move AC_LIBOBJ invocations to module description.
17510         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
17511         invocations from here...
17512         * modules/strnlen (configure.ac): ... to here.
17513
17514 2011-05-22  Bruno Haible  <bruno@clisp.org>
17515
17516         strndup: Move AC_LIBOBJ invocations to module description.
17517         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
17518         invocations from here...
17519         * modules/strndup (configure.ac): ... to here.
17520         (Depends-on): Update conditions.
17521
17522 2011-05-22  Bruno Haible  <bruno@clisp.org>
17523
17524         strncat: Move AC_LIBOBJ invocations to module description.
17525         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
17526         invocations from here...
17527         * modules/strncat (configure.ac): ... to here.
17528
17529 2011-05-22  Bruno Haible  <bruno@clisp.org>
17530
17531         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
17532         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
17533         invocations from here...
17534         * modules/strdup (configure.ac): ... to here.
17535         * modules/strdup-posix (configure.ac): ... and here.
17536
17537 2011-05-22  Bruno Haible  <bruno@clisp.org>
17538
17539         strcspn: Move AC_LIBOBJ invocations to module description.
17540         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
17541         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
17542         here...
17543         * modules/strcspn (configure.ac): ... to here.
17544
17545 2011-05-22  Bruno Haible  <bruno@clisp.org>
17546
17547         strchrnul: Move AC_LIBOBJ invocations to module description.
17548         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
17549         gl_PREREQ_STRCHRNUL invocations from here...
17550         * modules/strchrnul (configure.ac): ... to here.
17551
17552 2011-05-22  Bruno Haible  <bruno@clisp.org>
17553
17554         strcasestr*: Move AC_LIBOBJ invocations to module description.
17555         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
17556         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
17557         * modules/strcasestr-simple (configure.ac): ... to here.
17558         * modules/strcasestr (configure.ac): ... and here.
17559
17560 2011-05-22  Bruno Haible  <bruno@clisp.org>
17561
17562         strcase: Move AC_LIBOBJ invocations to module description.
17563         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
17564         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
17565         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
17566         gl_PREREQ_STRNCASECMP invocations from here...
17567         * modules/strcase (configure.ac): ... to here.
17568
17569 2011-05-22  Bruno Haible  <bruno@clisp.org>
17570
17571         stpncpy: Move AC_LIBOBJ invocations to module description.
17572         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
17573         here...
17574         * modules/stpncpy (configure.ac): ... to here.
17575
17576 2011-05-22  Bruno Haible  <bruno@clisp.org>
17577
17578         stpcpy: Move AC_LIBOBJ invocations to module description.
17579         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
17580         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
17581         here...
17582         * modules/stpcpy (configure.ac): ... to here.
17583
17584 2011-05-21  Bruno Haible  <bruno@clisp.org>
17585
17586         stat: Move AC_LIBOBJ invocations to module description.
17587         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
17588         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
17589         here...
17590         * modules/stat (configure.ac): ... to here.
17591
17592 2011-05-21  Bruno Haible  <bruno@clisp.org>
17593
17594         sleep: Move AC_LIBOBJ invocations to module description.
17595         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
17596         * modules/sleep (configure.ac): ... to here.
17597
17598 2011-05-21  Bruno Haible  <bruno@clisp.org>
17599
17600         signbit: Move AC_LIBOBJ invocations to module description.
17601         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
17602         * modules/signbit (configure.ac): ... to here.
17603
17604 2011-05-21  Bruno Haible  <bruno@clisp.org>
17605
17606         sigprocmask: Move AC_LIBOBJ invocations to module description.
17607         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
17608         gl_PREREQ_SIGPROMASK invocations from here...
17609         * modules/sigprocmask (configure.ac): ... to here.
17610
17611 2011-05-21  Bruno Haible  <bruno@clisp.org>
17612
17613         sigaction: Move AC_LIBOBJ invocations to module description.
17614         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
17615         gl_PREREQ_SIGACTION invocations from here...
17616         * modules/sigaction (configure.ac): ... to here.
17617
17618 2011-05-21  Bruno Haible  <bruno@clisp.org>
17619
17620         sig2str: Move AC_LIBOBJ invocations to module description.
17621         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
17622         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
17623         here...
17624         * modules/sig2str (configure.ac): ... to here.
17625
17626 2011-05-21  Bruno Haible  <bruno@clisp.org>
17627
17628         setlocale: Move AC_LIBOBJ invocations to module description.
17629         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
17630         gl_PREREQ_SETLOCALE invocations from here...
17631         * modules/setlocale (configure.ac): ... to here.
17632
17633 2011-05-21  Bruno Haible  <bruno@clisp.org>
17634
17635         unsetenv: Move AC_LIBOBJ invocations to module description.
17636         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
17637         and gl_PREREQ_UNSETENV invocations from here...
17638         * modules/unsetenv (configure.ac): ... to here.
17639         (Depends-on): Update.
17640
17641 2011-05-21  Bruno Haible  <bruno@clisp.org>
17642
17643         setenv: Move AC_LIBOBJ invocations to module description.
17644         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
17645         here...
17646         * modules/setenv (configure.ac): ... to here.
17647
17648 2011-05-21  Bruno Haible  <bruno@clisp.org>
17649
17650         selinux-h: Move AC_LIBOBJ invocations to module description.
17651         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
17652         AC_LIBOBJ invocation from here...
17653         * modules/selinux-h (configure.ac): ... to here.
17654
17655 2011-05-21  Bruno Haible  <bruno@clisp.org>
17656
17657         select: Respect rules for use of AC_LIBOBJ.
17658         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
17659         here...
17660         * modules/select (configure.ac): ... to here.
17661
17662 2011-05-21  Bruno Haible  <bruno@clisp.org>
17663
17664         scandir: Move AC_LIBOBJ invocations to module description.
17665         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
17666         invocations from here...
17667         * modules/scandir (configure.ac): ... to here.
17668
17669 2011-05-21  Bruno Haible  <bruno@clisp.org>
17670
17671         rpmatch: Move AC_LIBOBJ invocations to module description.
17672         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
17673         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
17674         here...
17675         * modules/rpmatch (configure.ac): ... to here.
17676
17677 2011-05-21  Bruno Haible  <bruno@clisp.org>
17678
17679         rmdir: Respect rules for use of AC_LIBOBJ.
17680         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
17681         * modules/rmdir (configure.ac): ... to here.
17682
17683 2011-05-21  Bruno Haible  <bruno@clisp.org>
17684
17685         renameat: Move AC_LIBOBJ invocations to module description.
17686         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
17687         here...
17688         * modules/renameat (configure.ac): ... to here.
17689
17690 2011-05-21  Bruno Haible  <bruno@clisp.org>
17691
17692         rename: Respect rules for use of AC_LIBOBJ.
17693         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
17694         here...
17695         * modules/rename (configure.ac): ... to here.
17696
17697 2011-05-21  Bruno Haible  <bruno@clisp.org>
17698
17699         remove: Move AC_LIBOBJ invocations to module description.
17700         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
17701         here...
17702         * modules/remove (configure.ac): ... to here.
17703
17704 2011-05-21  Bruno Haible  <bruno@clisp.org>
17705
17706         relocatable-lib: Move AC_LIBOBJ invocations to module description.
17707         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
17708         macro.
17709         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
17710         * modules/relocatable-lib (configure.ac): ... to here.
17711         * modules/relocatable-prog-wrapper (configure.ac): Invoke
17712         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
17713
17714 2011-05-21  Bruno Haible  <bruno@clisp.org>
17715
17716         relocatable-prog: Move AC_LIBOBJ invocations to module description.
17717         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
17718         here...
17719         * modules/relocatable-prog (configure.ac): ... to here.
17720
17721 2011-05-21  Bruno Haible  <bruno@clisp.org>
17722
17723         regex: Move AC_LIBOBJ invocations to module description.
17724         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
17725         invocations from here...
17726         * modules/regex (configure.ac): ... to here.
17727
17728 2011-05-21  Bruno Haible  <bruno@clisp.org>
17729
17730         realloc-*: Move AC_LIBOBJ invocations to module description.
17731         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
17732         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
17733         AC_LIBOBJ invocations from here...
17734         * modules/realloc-gnu (configure.ac): ... to here.
17735         * modules/realloc-posix (configure.ac): ... and here.
17736
17737 2011-05-21  Bruno Haible  <bruno@clisp.org>
17738
17739         readutmp: Move AC_LIBOBJ invocations to module description.
17740         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
17741         * modules/readutmp (configure.ac): ... to here.
17742
17743 2011-05-21  Bruno Haible  <bruno@clisp.org>
17744
17745         readlinkat: Move AC_LIBOBJ invocations to module description.
17746         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
17747         here...
17748         * modules/readlinkat (configure.ac): ... to here.
17749
17750 2011-05-21  Bruno Haible  <bruno@clisp.org>
17751
17752         readlink: Move AC_LIBOBJ invocations to module description.
17753         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
17754         gl_PREREQ_READLINK invocations from here...
17755         * modules/readlink (configure.ac): ... to here.
17756
17757 2011-05-21  Bruno Haible  <bruno@clisp.org>
17758
17759         readline: Move AC_LIBOBJ invocations to module description.
17760         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
17761         gl_PREREQ_READLINE invocations from here...
17762         * modules/readline (configure.ac): ... to here.
17763
17764 2011-05-21  Bruno Haible  <bruno@clisp.org>
17765
17766         read: Move AC_LIBOBJ invocations to module description.
17767         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
17768         * modules/read (configure.ac): ... to here.
17769
17770 2011-05-21  Bruno Haible  <bruno@clisp.org>
17771
17772         rawmemchr: Move AC_LIBOBJ invocations to module description.
17773         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
17774         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
17775         from here...
17776         * modules/rawmemchr (configure.ac): ... to here.
17777
17778 2011-05-21  Bruno Haible  <bruno@clisp.org>
17779
17780         random_r: Move AC_LIBOBJ invocations to module description.
17781         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
17782         gl_PREREQ_RANDOM_R invocations from here...
17783         * modules/random_r (configure.ac): ... to here.
17784
17785 2011-05-21  Bruno Haible  <bruno@clisp.org>
17786
17787         pwrite: Move AC_LIBOBJ invocations to module description.
17788         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
17789         * modules/pwrite (configure.ac): ... to here.
17790
17791 2011-05-21  Bruno Haible  <bruno@clisp.org>
17792
17793         putenv: Move AC_LIBOBJ invocations to module description.
17794         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
17795         * modules/putenv (configure.ac): ... to here.
17796
17797 2011-05-21  Bruno Haible  <bruno@clisp.org>
17798
17799         login_tty: Move AC_LIBOBJ invocations to module description.
17800         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
17801         * modules/login_tty (configure.ac): ... to here.
17802
17803 2011-05-21  Bruno Haible  <bruno@clisp.org>
17804
17805         openpty: Move AC_LIBOBJ invocations to module description.
17806         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
17807         * modules/openpty (configure.ac): ... to here.
17808
17809 2011-05-21  Bruno Haible  <bruno@clisp.org>
17810
17811         forkpty: Move AC_LIBOBJ invocations to module description.
17812         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
17813         * modules/forkpty (configure.ac): ... to here.
17814
17815 2011-05-21  Bruno Haible  <bruno@clisp.org>
17816
17817         ptsname: Move AC_LIBOBJ invocations to module description.
17818         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
17819         invocations from here...
17820         * modules/ptsname (configure.ac): ... to here.
17821
17822 2011-05-21  Bruno Haible  <bruno@clisp.org>
17823
17824         pread: Move AC_LIBOBJ invocations to module description.
17825         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
17826         * modules/pread (configure.ac): ... to here.
17827
17828 2011-05-21  Bruno Haible  <bruno@clisp.org>
17829
17830         posix_spawn*: Move AC_LIBOBJ invocations to module description.
17831         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
17832         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
17833         * modules/posix_spawn (configure.ac): ... to here.
17834         * modules/posix_spawnp (configure.ac): ... and here.
17835
17836 2011-05-21  Bruno Haible  <bruno@clisp.org>
17837
17838         popen: Move AC_LIBOBJ invocations to module description.
17839         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
17840         invocations from here...
17841         * modules/popen (configure.ac): ... to here.
17842
17843 2011-05-21  Bruno Haible  <bruno@clisp.org>
17844
17845         poll: Move AC_LIBOBJ invocations to module description.
17846         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
17847         invocations from here...
17848         * modules/poll (configure.ac): ... to here.
17849
17850 2011-05-21  Bruno Haible  <bruno@clisp.org>
17851
17852         pipe-posix: Move AC_LIBOBJ invocations to module description.
17853         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
17854         * modules/pipe-posix (configure.ac): ... to here.
17855
17856 2011-05-21  Bruno Haible  <bruno@clisp.org>
17857
17858         openat: Respect rules for use of AC_LIBOBJ.
17859         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
17860         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
17861         * modules/openat (configure.ac): ... to here.
17862
17863 2011-05-21  Bruno Haible  <bruno@clisp.org>
17864
17865         obstack-printf*: Move AC_LIBOBJ invocations to module description.
17866         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
17867         invocation from here...
17868         * modules/obstack-printf (configure.ac): ... to here.
17869         * modules/obstack-printf-posix (configure.ac): ... and here.
17870
17871 2011-05-21  Bruno Haible  <bruno@clisp.org>
17872
17873         nl_langinfo: Move AC_LIBOBJ invocations to module description.
17874         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
17875         from here...
17876         * modules/nl_langinfo (configure.ac): ... to here.
17877
17878 2011-05-21  Bruno Haible  <bruno@clisp.org>
17879
17880         nanosleep: Move AC_LIBOBJ invocations to module description.
17881         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
17882         gl_PREREQ_NANOSLEEP invocations from here...
17883         * modules/nanosleep (configure.ac): ... to here.
17884
17885 2011-05-21  Bruno Haible  <bruno@clisp.org>
17886
17887         mountlist: Move AC_LIBOBJ invocations to module description.
17888         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
17889         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
17890         * modules/mountlist (configure.ac): ... to here.
17891
17892 2011-05-21  Bruno Haible  <bruno@clisp.org>
17893
17894         mktime: Respect rules for use of AC_LIBOBJ.
17895         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
17896         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
17897         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
17898         (gl_FUNC_MKTIME_INTERNAL): ... and here...
17899         * modules/mktime (configure.ac): ... to here.
17900         * modules/mktime-internal (configure.ac): ... and here.
17901         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
17902
17903 2011-05-21  Bruno Haible  <bruno@clisp.org>
17904
17905         mkstemps: Move AC_LIBOBJ invocations to module description.
17906         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
17907         here...
17908         * modules/mkstemps (configure.ac): ... to here.
17909
17910 2011-05-21  Bruno Haible  <bruno@clisp.org>
17911
17912         mkstemp: Move AC_LIBOBJ invocations to module description.
17913         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
17914         gl_PREREQ_MKSTEMP invocations from here...
17915         * modules/mkstemp (configure.ac): ... to here.
17916
17917 2011-05-21  Bruno Haible  <bruno@clisp.org>
17918
17919         mkostemps: Move AC_LIBOBJ invocations to module description.
17920         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
17921         here...
17922         * modules/mkostemps (configure.ac): ... to here.
17923
17924 2011-05-21  Bruno Haible  <bruno@clisp.org>
17925
17926         mkostemp: Move AC_LIBOBJ invocations to module description.
17927         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
17928         gl_PREREQ_MKOSTEMP invocations from here...
17929         * modules/mkostemp (configure.ac): ... to here.
17930
17931 2011-05-21  Bruno Haible  <bruno@clisp.org>
17932
17933         mknod: Move AC_LIBOBJ invocations to module description.
17934         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
17935         * modules/mknod (configure.ac): ... to here.
17936
17937 2011-05-21  Bruno Haible  <bruno@clisp.org>
17938
17939         mkfifoat: Move AC_LIBOBJ invocations to module description.
17940         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
17941         here...
17942         * modules/mkfifoat (configure.ac): ... to here.
17943
17944 2011-05-21  Bruno Haible  <bruno@clisp.org>
17945
17946         mkfifo: Respect rules for use of AC_LIBOBJ.
17947         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
17948         here...
17949         * modules/mkfifo (configure.ac): ... to here.
17950
17951 2011-05-21  Bruno Haible  <bruno@clisp.org>
17952
17953         mkdtemp: Move AC_LIBOBJ invocations to module description.
17954         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
17955         invocations from here...
17956         * modules/mkdtemp (configure.ac): ... to here.
17957
17958 2011-05-21  Bruno Haible  <bruno@clisp.org>
17959
17960         mkdir: Move AC_LIBOBJ invocations to module description.
17961         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
17962         * modules/mkdir (configure.ac): ... to here.
17963
17964 2011-05-21  Bruno Haible  <bruno@clisp.org>
17965
17966         memset: Move AC_LIBOBJ invocations to module description.
17967         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
17968         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
17969         here...
17970         * modules/memset (configure.ac): ... to here.
17971
17972 2011-05-21  Bruno Haible  <bruno@clisp.org>
17973
17974         memrchr: Move AC_LIBOBJ invocations to module description.
17975         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
17976         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
17977         here...
17978         * modules/memrchr (configure.ac): ... to here.
17979
17980 2011-05-21  Bruno Haible  <bruno@clisp.org>
17981
17982         mempcpy: Move AC_LIBOBJ invocations to module description.
17983         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
17984         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
17985         here...
17986         * modules/mempcpy (configure.ac): ... to here.
17987
17988 2011-05-21  Bruno Haible  <bruno@clisp.org>
17989
17990         memmove: Move AC_LIBOBJ invocations to module description.
17991         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
17992         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
17993         here...
17994         * modules/memmove (configure.ac): ... to here.
17995
17996 2011-05-21  Bruno Haible  <bruno@clisp.org>
17997
17998         memmem*: Move AC_LIBOBJ invocations to module description.
17999         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
18000         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
18001         here...
18002         (gl_FUNC_MEMMEM): ... and here...
18003         * modules/memmem-simple (configure.ac): ... to here.
18004         * modules/memmem (configure.ac): ... and here.
18005
18006 2011-05-21  Bruno Haible  <bruno@clisp.org>
18007
18008         memcpy: Move AC_LIBOBJ invocations to module description.
18009         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
18010         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
18011         here...
18012         * modules/memcpy (configure.ac): ... to here.
18013
18014 2011-05-21  Bruno Haible  <bruno@clisp.org>
18015
18016         memcmp: Simplify autoconf macro.
18017         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
18018         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
18019         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
18020
18021 2011-05-21  Bruno Haible  <bruno@clisp.org>
18022
18023         memcmp: Move AC_LIBOBJ invocations to module description.
18024         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
18025         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
18026         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
18027         * modules/memcmp (configure.ac): ... to here.
18028         (Depends-on): Update conditions.
18029
18030 2011-05-21  Bruno Haible  <bruno@clisp.org>
18031
18032         memchr: Respect rules for use of AC_LIBOBJ.
18033         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
18034         invocations from here...
18035         * modules/memchr (configure.ac): ... to here.
18036
18037 2011-05-21  Bruno Haible  <bruno@clisp.org>
18038
18039         mbtowc: Move AC_LIBOBJ invocations to module description.
18040         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
18041         invocations from here...
18042         * modules/mbtowc (configure.ac): ... to here.
18043
18044 2011-05-21  Bruno Haible  <bruno@clisp.org>
18045
18046         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
18047         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
18048         gl_PREREQ_MBSRTOWCS invocations from here...
18049         * modules/mbsrtowcs (configure.ac): ... to here.
18050
18051 2011-05-21  Bruno Haible  <bruno@clisp.org>
18052
18053         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
18054         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
18055         gl_PREREQ_MBSNRTOWCS invocations from here...
18056         * modules/mbsnrtowcs (configure.ac): ... to here.
18057
18058 2011-05-21  Bruno Haible  <bruno@clisp.org>
18059
18060         mbsinit: Move AC_LIBOBJ invocations to module description.
18061         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
18062         invocations from here...
18063         * modules/mbsinit (configure.ac): ... to here.
18064
18065 2011-05-21  Bruno Haible  <bruno@clisp.org>
18066
18067         mbrlen: Move AC_LIBOBJ invocations to module description.
18068         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
18069         invocations from here...
18070         * modules/mbrlen (configure.ac): ... to here.
18071
18072 2011-05-21  Bruno Haible  <bruno@clisp.org>
18073
18074         mbrtowc: Respect rules for use of AC_LIBOBJ.
18075         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
18076         invocations from here...
18077         * modules/mbrtowc (configure.ac): ... to here.
18078
18079 2011-05-21  Bruno Haible  <bruno@clisp.org>
18080
18081         malloc-*: Move AC_LIBOBJ invocations to module description.
18082         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
18083         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
18084         AC_LIBOBJ invocations from here...
18085         * modules/malloc-gnu (configure.ac): ... to here.
18086         * modules/malloc-posix (configure.ac): ... and here.
18087
18088 2011-05-21  Bruno Haible  <bruno@clisp.org>
18089
18090         lstat, openat: Respect rules for use of AC_LIBOBJ.
18091         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
18092         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
18093         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
18094         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
18095         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
18096         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
18097         here.
18098         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
18099
18100 2011-05-21  Bruno Haible  <bruno@clisp.org>
18101
18102         lseek: Move AC_LIBOBJ invocations to module description.
18103         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
18104         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
18105         * modules/lseek (configure.ac): ... to here.
18106
18107 2011-05-21  Bruno Haible  <bruno@clisp.org>
18108
18109         linkat: Move AC_LIBOBJ invocations to module description.
18110         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
18111         here...
18112         * modules/linkat (configure.ac): ... to here.
18113
18114 2011-05-21  Bruno Haible  <bruno@clisp.org>
18115
18116         link: Respect rules for use of AC_LIBOBJ.
18117         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
18118         * modules/link (configure.ac): ... to here.
18119
18120 2011-05-21  Bruno Haible  <bruno@clisp.org>
18121
18122         lchown: Move AC_LIBOBJ invocations to module description.
18123         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
18124         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
18125         * modules/lchown (configure.ac): ... to here.
18126
18127 2011-05-21  Bruno Haible  <bruno@clisp.org>
18128
18129         iswctype: Move AC_LIBOBJ invocations to module description.
18130         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
18131         here...
18132         * modules/iswctype (configure.ac): ... to here.
18133
18134 2011-05-21  Bruno Haible  <bruno@clisp.org>
18135
18136         iswblank: Move AC_LIBOBJ invocations to module description.
18137         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
18138         here...
18139         * modules/iswblank (configure.ac): ... to here.
18140
18141 2011-05-21  Bruno Haible  <bruno@clisp.org>
18142
18143         atanl: Move AC_LIBOBJ invocations to module description.
18144         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
18145         * modules/atanl (configure.ac): ... to here.
18146
18147 2011-05-21  Bruno Haible  <bruno@clisp.org>
18148
18149         acosl: Move AC_LIBOBJ invocations to module description.
18150         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
18151         * modules/acosl (configure.ac): ... to here.
18152
18153 2011-05-21  Bruno Haible  <bruno@clisp.org>
18154
18155         asinl: Respect rules for use of AC_LIBOBJ.
18156         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
18157         * modules/asinl (configure.ac): ... to here.
18158
18159 2011-05-21  Bruno Haible  <bruno@clisp.org>
18160
18161         tanl: Move AC_LIBOBJ invocations to module description.
18162         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
18163         * modules/tanl (configure.ac): ... to here.
18164
18165 2011-05-21  Bruno Haible  <bruno@clisp.org>
18166
18167         cosl: Move AC_LIBOBJ invocations to module description.
18168         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
18169         * modules/cosl (configure.ac): ... to here.
18170
18171 2011-05-21  Bruno Haible  <bruno@clisp.org>
18172
18173         sinl: Move AC_LIBOBJ invocations to module description.
18174         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
18175         * modules/sinl (configure.ac): ... to here.
18176
18177 2011-05-21  Bruno Haible  <bruno@clisp.org>
18178
18179         logl: Move AC_LIBOBJ invocations to module description.
18180         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
18181         * modules/logl (configure.ac): ... to here.
18182
18183 2011-05-21  Bruno Haible  <bruno@clisp.org>
18184
18185         expl: Move AC_LIBOBJ invocations to module description.
18186         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
18187         * modules/expl (configure.ac): ... to here.
18188
18189 2011-05-21  Bruno Haible  <bruno@clisp.org>
18190
18191         roundl: Move AC_LIBOBJ invocations to module description.
18192         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
18193         * modules/roundl (configure.ac): ... to here.
18194
18195 2011-05-21  Bruno Haible  <bruno@clisp.org>
18196
18197         round: Move AC_LIBOBJ invocations to module description.
18198         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
18199         * modules/round (configure.ac): ... to here.
18200
18201 2011-05-21  Bruno Haible  <bruno@clisp.org>
18202
18203         roundf: Move AC_LIBOBJ invocations to module description.
18204         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
18205         * modules/roundf (configure.ac): ... to here.
18206
18207 2011-05-21  Bruno Haible  <bruno@clisp.org>
18208
18209         truncl: Move AC_LIBOBJ invocations to module description.
18210         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
18211         * modules/truncl (configure.ac): ... to here.
18212
18213 2011-05-21  Bruno Haible  <bruno@clisp.org>
18214
18215         trunc: Move AC_LIBOBJ invocations to module description.
18216         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
18217         * modules/trunc (configure.ac): ... to here.
18218
18219 2011-05-21  Bruno Haible  <bruno@clisp.org>
18220
18221         truncf: Move AC_LIBOBJ invocations to module description.
18222         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
18223         * modules/truncf (configure.ac): ... to here.
18224
18225 2011-05-21  Bruno Haible  <bruno@clisp.org>
18226
18227         ceill: Move AC_LIBOBJ invocations to module description.
18228         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
18229         * modules/ceill (configure.ac): ... to here.
18230
18231 2011-05-21  Bruno Haible  <bruno@clisp.org>
18232
18233         ceil: Move AC_LIBOBJ invocations to module description.
18234         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
18235         * modules/ceil (configure.ac): ... to here.
18236
18237 2011-05-21  Bruno Haible  <bruno@clisp.org>
18238
18239         ceilf: Move AC_LIBOBJ invocations to module description.
18240         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
18241         * modules/ceilf (configure.ac): ... to here.
18242
18243 2011-05-21  Bruno Haible  <bruno@clisp.org>
18244
18245         floorl: Respect rules for use of AC_LIBOBJ.
18246         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
18247         * modules/floorl (configure.ac): ... to here.
18248
18249 2011-05-21  Bruno Haible  <bruno@clisp.org>
18250
18251         floor: Respect rules for use of AC_LIBOBJ.
18252         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
18253         * modules/floor (configure.ac): ... to here.
18254
18255 2011-05-21  Bruno Haible  <bruno@clisp.org>
18256
18257         floorf: Move AC_LIBOBJ invocations to module description.
18258         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
18259         * modules/floorf (configure.ac): ... to here.
18260
18261 2011-05-20  Bruno Haible  <bruno@clisp.org>
18262
18263         sqrtl: Respect rules for use of AC_LIBOBJ.
18264         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
18265         * modules/sqrtl (configure.ac): ... to here.
18266
18267 2011-05-20  Bruno Haible  <bruno@clisp.org>
18268
18269         ldexpl: Respect rules for use of AC_LIBOBJ.
18270         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
18271         * modules/ldexpl (configure.ac): ... to here.
18272
18273 2011-05-20  Bruno Haible  <bruno@clisp.org>
18274
18275         frexpl*: Respect rules for use of AC_LIBOBJ.
18276         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
18277         invocation from here...
18278         * modules/frexpl (configure.ac): ... to here.
18279         * modules/frexpl-nolibm (configure.ac): ... and here.
18280
18281 2011-05-20  Bruno Haible  <bruno@clisp.org>
18282
18283         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
18284         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
18285         invocation from here...
18286         * modules/frexp (configure.ac): ... to here.
18287         * modules/frexp-nolibm (configure.ac): ... and here.
18288
18289 2011-05-20  Bruno Haible  <bruno@clisp.org>
18290
18291         isnan: Respect rules for use of AC_LIBOBJ.
18292         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
18293         invocations here.
18294         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
18295         REPLACE_ISNAN.
18296         * modules/isnand (configure.ac): Likewise.
18297         * modules/isnanl (configure.ac): Likewise.
18298
18299 2011-05-20  Bruno Haible  <bruno@clisp.org>
18300
18301         isnanl*: Respect rules for use of AC_LIBOBJ.
18302         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
18303         invocation from here...
18304         * modules/isnanl (configure.ac): ... to here.
18305         * modules/isnanl-nolibm (configure.ac): ... and here.
18306
18307 2011-05-20  Bruno Haible  <bruno@clisp.org>
18308
18309         isnand*: Move AC_LIBOBJ invocations to module description.
18310         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
18311         invocation from here...
18312         * modules/isnand (configure.ac): ... to here.
18313         * modules/isnand-nolibm (configure.ac): ... and here.
18314
18315 2011-05-20  Bruno Haible  <bruno@clisp.org>
18316
18317         isnanf*: Move AC_LIBOBJ invocations to module description.
18318         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
18319         invocation from here...
18320         * modules/isnanf (configure.ac): ... to here.
18321         * modules/isnanf-nolibm (configure.ac): ... and here.
18322
18323 2011-05-20  Bruno Haible  <bruno@clisp.org>
18324
18325         isnan*: Separate the AC_LIBOBJ invocations.
18326         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
18327         AC_LIBOBJ invocation.
18328         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
18329         here.
18330         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
18331         AC_LIBOBJ invocation.
18332         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
18333         here.
18334         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
18335         AC_LIBOBJ invocation.
18336         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
18337         here.
18338         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
18339
18340 2011-05-08  Bruno Haible  <bruno@clisp.org>
18341
18342         isinf: Move AC_LIBOBJ invocations to module description.
18343         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
18344         * modules/isinf (configure.ac): ... to here.
18345
18346 2011-05-08  Bruno Haible  <bruno@clisp.org>
18347
18348         isfinite: Move AC_LIBOBJ invocations to module description.
18349         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
18350         * modules/isfinite (configure.ac): ... to here.
18351
18352 2011-05-08  Bruno Haible  <bruno@clisp.org>
18353
18354         isblank: Move AC_LIBOBJ invocations to module description.
18355         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
18356         here...
18357         * modules/isblank (configure.ac): ... to here.
18358
18359 2011-05-08  Bruno Haible  <bruno@clisp.org>
18360
18361         isapipe: Move AC_LIBOBJ invocations to module description.
18362         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
18363         gl_PREREQ_ISAPIPE invocations from here...
18364         * modules/isapipe (configure.ac): ... to here.
18365         (Depends-on): Update condition.
18366
18367 2011-05-08  Bruno Haible  <bruno@clisp.org>
18368
18369         ioctl: Move AC_LIBOBJ invocations to module description.
18370         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
18371         invocations from here...
18372         * modules/ioctl (configure.ac): ... to here.
18373         (Depends-on): Update condition.
18374
18375 2011-05-08  Bruno Haible  <bruno@clisp.org>
18376
18377         imaxdiv: Move AC_LIBOBJ invocations to module description.
18378         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
18379         invocations from here...
18380         * modules/imaxdiv (configure.ac): ... to here.
18381
18382 2011-05-08  Bruno Haible  <bruno@clisp.org>
18383
18384         imaxabs: Move AC_LIBOBJ invocations to module description.
18385         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
18386         invocations from here...
18387         * modules/imaxabs (configure.ac): ... to here.
18388
18389 2011-05-08  Bruno Haible  <bruno@clisp.org>
18390
18391         getaddrinfo: Move AC_LIBOBJ invocations to module description.
18392         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
18393         AC_LIBOBJ invocations from here...
18394         * modules/getaddrinfo (configure.ac): ... to here.
18395         (Depends-on): Add conditions.
18396
18397 2011-05-08  Bruno Haible  <bruno@clisp.org>
18398
18399         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
18400         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
18401         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
18402         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
18403         (gl_PREREQ_INET_PTON): ... from here.
18404         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
18405         gl_PREREQ_INET_PTON here.
18406         (Depends-on): Update condition.
18407
18408 2011-05-08  Bruno Haible  <bruno@clisp.org>
18409
18410         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
18411         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
18412         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
18413         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
18414         (gl_PREREQ_INET_NTOP): ... from here.
18415         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
18416         gl_PREREQ_INET_NTOP here.
18417         (Depends-on): Update condition.
18418
18419 2011-05-08  Bruno Haible  <bruno@clisp.org>
18420
18421         iconv_open: Move AC_LIBOBJ invocations to module description.
18422         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
18423         AC_LIBOBJ invocations from here...
18424         * modules/iconv_open (configure.ac): ... to here.
18425
18426 2011-05-08  Bruno Haible  <bruno@clisp.org>
18427
18428         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
18429         If module 'iconv_open' is among the main modules and module
18430         'iconv_open-utf' is among the tests dependencies, then
18431         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
18432         return the special iconv_t values. Therefore iconv() and iconv_close()
18433         must support these special iconv_t values, already in lib, not only in
18434         tests.
18435         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
18436         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
18437         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
18438         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
18439         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
18440         (Depends-on): Add the dependencies of iconv_open-utf.
18441         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
18442         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
18443         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
18444
18445 2011-05-08  Bruno Haible  <bruno@clisp.org>
18446
18447         group-member: Move AC_LIBOBJ invocations to module description.
18448         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
18449         gl_PREREQ_GROUP_MEMBER invocations from here...
18450         * modules/group-member (configure.ac): ... to here.
18451
18452 2011-05-08  Bruno Haible  <bruno@clisp.org>
18453
18454         grantpt: Move AC_LIBOBJ invocations to module description.
18455         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
18456         invocations from here...
18457         * modules/grantpt (configure.ac): ... to here.
18458
18459 2011-05-08  Bruno Haible  <bruno@clisp.org>
18460
18461         glob: Move AC_LIBOBJ invocations to module description.
18462         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
18463         from here...
18464         * modules/glob (configure.ac): ... to here.
18465
18466 2011-05-08  Bruno Haible  <bruno@clisp.org>
18467
18468         getusershell: Move AC_LIBOBJ invocations to module description.
18469         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
18470         Move AC_LIBOBJ invocation from here...
18471         * modules/getusershell (configure.ac): ... to here.
18472         (Depends-on): Update condition.
18473
18474 2011-05-08  Bruno Haible  <bruno@clisp.org>
18475
18476         gettimeofday: Move AC_LIBOBJ invocations to module description.
18477         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
18478         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
18479         gl_PREREQ_GETTIMEOFDAY invocations from here...
18480         * modules/gettimeofday (configure.ac): ... to here.
18481
18482 2011-05-08  Bruno Haible  <bruno@clisp.org>
18483
18484         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
18485         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
18486         just gl_FUNC_TZSET.
18487         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
18488         (gl_FUNC_TZSET_CLOBBER): Remove actions.
18489         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
18490         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
18491
18492 2011-05-08  Bruno Haible  <bruno@clisp.org>
18493
18494         getsubopt: Move AC_LIBOBJ invocations to module description.
18495         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
18496         gl_PREREQ_GETSUBOPT invocations from here...
18497         * modules/getsubopt (configure.ac): ... to here.
18498
18499 2011-05-08  Bruno Haible  <bruno@clisp.org>
18500
18501         getpass-gnu: Move AC_LIBOBJ invocations to module description.
18502         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
18503         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
18504         * modules/getpass-gnu (configure.ac): ... to here.
18505
18506 2011-05-08  Bruno Haible  <bruno@clisp.org>
18507
18508         getpass: Move AC_LIBOBJ invocations to module description.
18509         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
18510         gl_PREREQ_GETPASS invocations from here...
18511         * modules/getpass (configure.ac): ... to here.
18512
18513 2011-05-08  Bruno Haible  <bruno@clisp.org>
18514
18515         getpagesize: Move AC_LIBOBJ invocations to module description.
18516         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
18517         from here...
18518         * modules/getpagesize (configure.ac): ... to here.
18519
18520 2011-05-08  Bruno Haible  <bruno@clisp.org>
18521
18522         getopt: Move AC_LIBOBJ invocations to module description.
18523         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
18524         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
18525         invocations from here...
18526         * modules/getopt-gnu (configure.ac): ... to here.
18527         * modules/getopt-posix (configure.ac): ... and here.
18528         (Depends-on): Update condition.
18529
18530 2011-05-08  Bruno Haible  <bruno@clisp.org>
18531
18532         getopt, argp: Respect rules for use of AC_LIBOBJ.
18533         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
18534         (gl_REPLACE_GETOPT_ALWAYS): New macro.
18535         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
18536         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
18537
18538 2011-05-08  Bruno Haible  <bruno@clisp.org>
18539
18540         getlogin_r: Move AC_LIBOBJ invocations to module description.
18541         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
18542         gl_PREREQ_GETLOGIN_R invocations from here...
18543         * modules/getlogin_r (configure.ac): ... to here.
18544
18545 2011-05-08  Bruno Haible  <bruno@clisp.org>
18546
18547         getlogin: Move AC_LIBOBJ invocations to module description.
18548         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
18549         here...
18550         * modules/getlogin (configure.ac): ... to here.
18551
18552 2011-05-08  Bruno Haible  <bruno@clisp.org>
18553
18554         getloadavg: Move AC_LIBOBJ invocations to module description.
18555         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
18556         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
18557         * modules/getloadavg (configure.ac): ... to here.
18558
18559 2011-05-08  Bruno Haible  <bruno@clisp.org>
18560
18561         gethrxtime: Move AC_LIBOBJ invocations to module description.
18562         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
18563         LIB_GETHRXTIME from here...
18564         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
18565         invocations from here...
18566         * modules/gethrxtime (configure.ac): ... to here.
18567
18568 2011-05-08  Bruno Haible  <bruno@clisp.org>
18569
18570         gethostname: Move AC_LIBOBJ invocations to module description.
18571         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
18572         gl_PREREQ_GETHOSTNAME invocations from here...
18573         * modules/gethostname (configure.ac): ... to here.
18574
18575 2011-05-08  Bruno Haible  <bruno@clisp.org>
18576
18577         getgroups: Move AC_LIBOBJ invocations to module description.
18578         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
18579         here...
18580         * modules/getgroups (configure.ac): ... to here.
18581
18582 2011-05-08  Bruno Haible  <bruno@clisp.org>
18583
18584         getdtablesize: Move AC_LIBOBJ invocations to module description.
18585         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
18586         invocation from here...
18587         * modules/getdtablesize (configure.ac): ... to here.
18588
18589 2011-05-08  Bruno Haible  <bruno@clisp.org>
18590
18591         getdomainname: Move AC_LIBOBJ invocations to module description.
18592         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
18593         gl_PREREQ_GETDOMAINNAME invocations from here...
18594         * modules/getdomainname (configure.ac): ... to here.
18595
18596 2011-05-08  Bruno Haible  <bruno@clisp.org>
18597
18598         getline: Move AC_LIBOBJ invocations to module description.
18599         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
18600         invocations from here...
18601         * modules/getline (configure.ac): ... to here.
18602
18603 2011-05-08  Bruno Haible  <bruno@clisp.org>
18604
18605         getline: Simplify.
18606         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
18607         It's already handled through the module dependency.
18608
18609 2011-05-08  Bruno Haible  <bruno@clisp.org>
18610
18611         getdelim: Move AC_LIBOBJ invocations to module description.
18612         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
18613         and gl_PREREQ_GETDELIM invocations from here...
18614         * modules/getdelim (configure.ac): ... to here.
18615         (Depends-on): Fix condition.
18616
18617 2011-05-08  Bruno Haible  <bruno@clisp.org>
18618
18619         getcwd: Move AC_LIBOBJ invocations to module description.
18620         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
18621         invocations from here...
18622         * modules/getcwd (configure.ac): ... to here.
18623
18624 2011-05-08  Bruno Haible  <bruno@clisp.org>
18625
18626         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
18627         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
18628         here...
18629         * modules/getcwd-lgpl (configure.ac): ... to here.
18630
18631 2011-05-07  Bruno Haible  <bruno@clisp.org>
18632
18633         crypto/gc: Move AC_LIBOBJ invocations to module description.
18634         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
18635         * modules/crypto/gc (configure.ac): ... to here.
18636
18637 2011-05-07  Bruno Haible  <bruno@clisp.org>
18638
18639         fwriting: Move AC_LIBOBJ invocations to module description.
18640         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
18641         here...
18642         * modules/fwriting (configure.ac): ... to here.
18643
18644 2011-05-07  Bruno Haible  <bruno@clisp.org>
18645
18646         fwritable: Move AC_LIBOBJ invocations to module description.
18647         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
18648         here...
18649         * modules/fwritable (configure.ac): ... to here.
18650
18651 2011-05-07  Bruno Haible  <bruno@clisp.org>
18652
18653         futimens: Move AC_LIBOBJ invocations to module description.
18654         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
18655         here...
18656         * modules/futimens (configure.ac): ... to here.
18657
18658 2011-05-07  Bruno Haible  <bruno@clisp.org>
18659
18660         ftruncate: Move AC_LIBOBJ invocations to module description.
18661         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
18662         gl_PREREQ_FTRUNCATE invocations from here...
18663         * modules/ftruncate (configure.ac): ... to here.
18664
18665 2011-05-07  Bruno Haible  <bruno@clisp.org>
18666
18667         fsync: Move AC_LIBOBJ invocations to module description.
18668         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
18669         invocations from here...
18670         * modules/fsync (configure.ac): ... to here.
18671
18672 2011-05-07  Bruno Haible  <bruno@clisp.org>
18673
18674         fsusage: Move AC_LIBOBJ invocations to module description.
18675         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
18676         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
18677         * modules/fsusage (configure.ac): ... to here.
18678
18679 2011-05-07  Bruno Haible  <bruno@clisp.org>
18680
18681         freopen: Move AC_LIBOBJ invocations to module description.
18682         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
18683         invocations from here...
18684         * modules/freopen (configure.ac): ... to here.
18685
18686 2011-05-07  Bruno Haible  <bruno@clisp.org>
18687
18688         free: Move AC_LIBOBJ invocations to module description.
18689         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
18690         invocations from here...
18691         * modules/free (configure.ac): ... to here.
18692
18693 2011-05-07  Bruno Haible  <bruno@clisp.org>
18694
18695         freadable: Move AC_LIBOBJ invocations to module description.
18696         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
18697         here...
18698         * modules/freadable (configure.ac): ... to here.
18699
18700 2011-05-07  Bruno Haible  <bruno@clisp.org>
18701
18702         fpurge: Move AC_LIBOBJ invocations to module description.
18703         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
18704         invocations from here...
18705         * modules/fpurge (configure.ac): ... to here.
18706
18707 2011-05-07  Bruno Haible  <bruno@clisp.org>
18708
18709         fpending: Move AC_LIBOBJ invocations to module description.
18710         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
18711         gl_FUNC_FPENDING.
18712         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
18713         invocations from here...
18714         * modules/fpending (configure.ac): ... to here.
18715
18716 2011-05-07  Bruno Haible  <bruno@clisp.org>
18717
18718         fopen: Move AC_LIBOBJ invocations to module description.
18719         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
18720         invocations from here...
18721         * modules/fopen (configure.ac): ... to here.
18722
18723 2011-05-07  Bruno Haible  <bruno@clisp.org>
18724
18725         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
18726         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
18727         gl_FUNC_FNMATCH_POSIX.
18728         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
18729         invocations from here...
18730         * modules/fnmatch (configure.ac): ... to here.
18731         * modules/fnmatch-gnu (configure.ac): ... and here.
18732
18733 2011-05-07  Bruno Haible  <bruno@clisp.org>
18734
18735         flock: Move AC_LIBOBJ invocations to module description.
18736         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
18737         invocations from here...
18738         * modules/flock (configure.ac): ... to here.
18739
18740 2011-05-07  Bruno Haible  <bruno@clisp.org>
18741
18742         fileblocks: Move AC_LIBOBJ invocations to module description.
18743         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
18744         gl_PREREQ_FILEBLOCKS invocations from here...
18745         * modules/fileblocks (configure.ac): ... to here.
18746
18747 2011-05-06  Bruno Haible  <bruno@clisp.org>
18748
18749         fflush: Move AC_LIBOBJ invocations to module description.
18750         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
18751         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
18752         invocations from here...
18753         * modules/fflush (configure.ac): ... to here.
18754
18755 2011-05-06  Bruno Haible  <bruno@clisp.org>
18756
18757         fdopendir: Move AC_LIBOBJ invocations to module description.
18758         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
18759         here...
18760         * modules/fdopendir (configure.ac): ... to here.
18761         (Depends-on): Improve conditions.
18762
18763 2011-05-06  Bruno Haible  <bruno@clisp.org>
18764
18765         _Exit: Move AC_LIBOBJ invocations to module description.
18766         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
18767         invocations from here...
18768         * modules/_Exit (configure.ac): ... to here.
18769
18770 2011-05-21  Bruno Haible  <bruno@clisp.org>
18771
18772         euidaccess: Respect rules for use of AC_LIBOBJ.
18773         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
18774         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
18775         from here...
18776         * modules/euidaccess (configure.ac): ... to here.
18777
18778 2011-05-06  Bruno Haible  <bruno@clisp.org>
18779
18780         error: Move AC_LIBOBJ invocations to module description.
18781         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
18782         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
18783         invocations from here...
18784         * modules/error (configure.ac): ... to here.
18785
18786 2011-05-06  Bruno Haible  <bruno@clisp.org>
18787
18788         duplocale: Move AC_LIBOBJ invocations to module description.
18789         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
18790         gl_PREREQ_DUPLOCALE invocations from here...
18791         * modules/duplocale (configure.ac): ... to here.
18792
18793 2011-05-05  Bruno Haible  <bruno@clisp.org>
18794
18795         dirfd: Move AC_LIBOBJ invocations to module description.
18796         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
18797         gl_FUNC_DIRFD.
18798         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
18799         here...
18800         * modules/dirfd (configure.ac): ... to here.
18801         (Depends-on): Fix condition.
18802
18803 2011-05-05  Bruno Haible  <bruno@clisp.org>
18804
18805         chown: Respect rules for use of AC_LIBOBJ.
18806         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
18807         * modules/chown (configure.ac): ... to here.
18808
18809 2011-05-05  Bruno Haible  <bruno@clisp.org>
18810
18811         chdir-long: Move AC_LIBOBJ invocations to module description.
18812         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
18813         gl_PREREQ_CHDIR_LONG invocations from here...
18814         * modules/chdir-long (configure.ac): ... to here.
18815
18816 2011-05-05  Bruno Haible  <bruno@clisp.org>
18817
18818         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
18819         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
18820         from here...
18821         * modules/canonicalize-lgpl (configure.ac): ... to here.
18822
18823 2011-05-05  Bruno Haible  <bruno@clisp.org>
18824
18825         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
18826         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
18827         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
18828         REPLACE_CALLOC.
18829         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
18830         * modules/calloc-gnu (configure.ac): Likewise.
18831
18832 2011-05-05  Bruno Haible  <bruno@clisp.org>
18833
18834         btowc: Move AC_LIBOBJ invocations to module description.
18835         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
18836         invocations from here...
18837         * modules/btowc (configure.ac): ... to here.
18838
18839 2011-05-21  Bruno Haible  <bruno@clisp.org>
18840
18841         atexit: Move AC_LIBOBJ invocations to module description.
18842         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
18843         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
18844         here...
18845         * modules/atexit (configure.ac): ... to here.
18846
18847 2011-05-05  Bruno Haible  <bruno@clisp.org>
18848
18849         atoll: Move AC_LIBOBJ invocations to module description.
18850         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
18851         invocations from here...
18852         * modules/atoll (configure.ac): ... to here.
18853
18854 2011-05-05  Bruno Haible  <bruno@clisp.org>
18855
18856         argz: Move AC_LIBOBJ invocations to module description.
18857         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
18858         * modules/argz (configure.ac): ... to here.
18859
18860 2011-05-05  Bruno Haible  <bruno@clisp.org>
18861
18862         alphasort: Move AC_LIBOBJ invocations to module description.
18863         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
18864         gl_PREREQ_ALPHASORT invocations from here...
18865         * modules/alphasort (configure.ac): ... to here.
18866
18867 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
18868
18869         verify: new macro verify_expr; verify_true deprecated
18870         * NEWS: Mention this.
18871         * doc/verify.texi (Compile-time Assertions): Document this.
18872         * lib/verify.h (verify_true): Deprecate.
18873         (verify_expr): New macro.
18874         * tests/test-verify.c (function): Test verify_expr.
18875
18876 2011-06-14  Jim Meyering  <meyering@redhat.com>
18877
18878         init.sh: give more portable redirection-related advice in a comment
18879         * tests/init.sh (stderr_fileno_): Update the advice in comments.
18880         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
18881         for lots of discussion.  Stefano Lattarini suggested the solution
18882         of putting "9>&2" after the command.  Reported by Bruno Haible.
18883
18884 2011-06-13  Bruno Haible  <bruno@clisp.org>
18885
18886         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
18887         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
18888         'none'.
18889
18890 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
18891
18892         ftoastr: use strtof only if HAVE_STRTOF
18893         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
18894         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
18895         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
18896         * modules/ftoastr (configure.ac): Check for strtof.
18897
18898 2011-06-13  Bruno Haible  <bruno@clisp.org>
18899
18900         gnulib-tool: Addendum to 2011-06-08 commit.
18901         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
18902         and --witness-c-macro have been given, augment AM_CPPFLAGS.
18903
18904 2011-06-13  Bruno Haible  <bruno@clisp.org>
18905
18906         fseeko: Provide a non-inline replacement of fseek().
18907         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
18908         * modules/fseeko (Depends-on): Add fseek.
18909         * modules/fseek (License): Change to LGPLv2+.
18910
18911 2011-06-13  Bruno Haible  <bruno@clisp.org>
18912
18913         ftello: Provide a non-inline replacement of ftell().
18914         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
18915         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
18916         not have ftello() (such as on mingw).
18917         * modules/ftello (Depends-on): Add ftell.
18918         * modules/ftell (License): Change to LGPLv2+.
18919
18920 2011-05-07  Bruno Haible  <bruno@clisp.org>
18921
18922         ftell: Move AC_LIBOBJ invocations to module description.
18923         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
18924         * modules/ftell (configure.ac): ... to here.
18925
18926 2011-05-07  Bruno Haible  <bruno@clisp.org>
18927
18928         ftello: Respect rules for use of AC_LIBOBJ.
18929         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
18930         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
18931         here...
18932         * modules/ftello (configure.ac): ... to here.
18933
18934 2011-05-07  Bruno Haible  <bruno@clisp.org>
18935
18936         fseeko: Simplify.
18937         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
18938         (gl_FUNC_FSEEKO): Inline it here.
18939
18940 2011-05-07  Bruno Haible  <bruno@clisp.org>
18941
18942         fseek: Move AC_LIBOBJ invocations to module description.
18943         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
18944         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
18945         * modules/fseek (configure.ac): ... to here.
18946
18947 2011-05-07  Bruno Haible  <bruno@clisp.org>
18948
18949         fseek: Respect rules for use of AC_LIBOBJ.
18950         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
18951         here...
18952         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
18953
18954 2011-05-07  Bruno Haible  <bruno@clisp.org>
18955
18956         fseeko: Respect rules for use of AC_LIBOBJ.
18957         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
18958         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
18959         here...
18960         * modules/fseeko (configure.ac): ... to here.
18961
18962 2011-06-13  Bruno Haible  <bruno@clisp.org>
18963
18964         gnulib-tool: Allow comments in the 'Depends-on' section.
18965         * doc/gnulib.texi (Module description): Mention comment syntax in the
18966         Depends-on section.
18967         * gnulib-tool (func_get_dependencies): Filter out comment lines.
18968
18969 2011-06-13  Bruno Haible  <bruno@clisp.org>
18970
18971         file-set.h: guard __attibute__ use, now that it's not always defined
18972         * lib/file-set.h (record_file): Use __attribute__ only with compiler
18973         versions that support it.  This fixes a coreutils build failure with
18974         the vendor cc on HP-UX 11.31.
18975
18976 2011-06-12  Bruno Haible  <bruno@clisp.org>
18977
18978         acl: Add support for HP-UX >= 11.11 JFS ACLs.
18979         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
18980         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
18981         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
18982         (acl, aclsort): New declarations.
18983         (aclv_nontrivial): New declaration.
18984         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
18985         (file_has_acl): Read also the second kind of HP-UX ACLs.
18986         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
18987         kind of HP-UX ACLs if the first kind fails.
18988         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
18989         second kind of HP-UX ACLs.
18990         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
18991         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
18992         agree.
18993         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
18994         hpuxjfs.
18995         Handle hpuxjfs.
18996         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
18997         hpuxjfs.
18998         Handle hpuxjfs.
18999         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
19000         (func_test_same_acls): Use both lsacl and getacl.
19001         Handle hpuxjfs.
19002         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
19003         (func_test_same_acls): Use both lsacl and getacl.
19004         Handle hpuxjfs.
19005
19006 2011-06-12  Bruno Haible  <bruno@clisp.org>
19007
19008         acl: Complete the 2010-08-10 fix.
19009         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
19010         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
19011         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
19012         explicitly.
19013         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
19014         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
19015
19016 2011-06-12  Bruno Haible  <bruno@clisp.org>
19017
19018         spawn-pipe tests: Comments.
19019         * tests/test-spawn-pipe-child.c (main): Update comment.
19020         Reported by James Youngman <jay@gnu.org>.
19021
19022 2011-06-11  James Youngman  <jay@gnu.org>
19023
19024         New module 'stat-size'.
19025         * modules/stat-size: New module.  Provides macros for accessing
19026         file size information in instances of struct stat.  Depends on the
19027         fileblocks module because it calls st_blocks.
19028         * lib/stat-size.h: New file, adapted from coreutils' system.h.
19029         * doc/gnulib.texi: Include stat-size.texi.
19030         * doc/stat-size.texi: Documentation for this module.
19031         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
19032         * m4/fileblocks.m4: Mention that stat-size depends on the call to
19033         AC_STRUCT_ST_BLOCKS.
19034
19035 2011-06-09  Bruno Haible  <bruno@clisp.org>
19036
19037         thread: Support pthreads-win32.
19038         * lib/glthread/thread.h (gl_thread_self): Define differently on
19039         pthreads-win32.
19040         (gl_null_thread): New declaration.
19041         (gl_thread_self_pointer): New macro.
19042         * lib/glthread/thread.c (gl_null_thread): New constant.
19043         * tests/test-lock.c: Use gl_thread_self_pointer instead of
19044         gl_thread_self.
19045         * tests/test-tls.c: Likewise.
19046         Suggested by Paul Eggert. Reported by Eric Blake.
19047
19048 2011-06-09  Bruno Haible  <bruno@clisp.org>
19049
19050         thread: Fix confusion between NULL and 0.
19051         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
19052         Reported by Paul Eggert.
19053
19054 2011-06-09  Bruno Haible  <bruno@clisp.org>
19055
19056         spawn-pipe tests: Avoid test failure on HP-UX 11.
19057         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
19058         is closed.
19059
19060 2011-06-09  Bruno Haible  <bruno@clisp.org>
19061
19062         acl tests: Fix compilation error on HP-UX 11.
19063         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
19064
19065 2011-06-09  Bruno Haible  <bruno@clisp.org>
19066
19067         rmdir: Avoid test failure on HP-UX 10.20.
19068         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
19069         EEXIST.
19070
19071 2011-06-08  Eric Blake  <eblake@redhat.com>
19072
19073         perror: fix test on mingw
19074         * modules/perror-tests (Depends-on): Add dup2.
19075
19076         strerror_r-posix: fix on MacOS
19077         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
19078         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
19079         logic bug.
19080         * lib/strerror_r.c (strerror_r): Fix the bug.
19081         * lib/strerror.c (strerror): Likewise.
19082         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
19083         problem.
19084         * doc/posix-functions/strerror.texi (strerror): Likewise.
19085         * doc/posix-functions/perror.texi (perror): Likewise.
19086         * tests/test-strerror.c (main): Enhance test.
19087         * tests/test-strerror_r.c (main): Likewise.
19088
19089 2011-06-08  Bruno Haible  <bruno@clisp.org>
19090
19091         gnulib-tool: Better isolation between different gnulib-tool invocations.
19092         * gnulib-tool: New option --witness-c-macro.
19093         (witness_c_macro): New variable.
19094         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
19095         AM_CPPFLAGS define it as a C macro.
19096         (func_emit_tests_Makefile_am): Likewise.
19097         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
19098         read it from there.
19099         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
19100         m4_define, not AC_DEFUN.
19101         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
19102         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
19103         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
19104         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
19105         s|...|...|, to substitute the values of the GNULIB_* module indicator
19106         variables.
19107         * modules/dirent (Makefile.am): Likewise.
19108         * modules/fcntl-h (Makefile.am): Likewise.
19109         * modules/iconv-h (Makefile.am): Likewise.
19110         * modules/langinfo (Makefile.am): Likewise.
19111         * modules/locale (Makefile.am): Likewise.
19112         * modules/math (Makefile.am): Likewise.
19113         * modules/netdb (Makefile.am): Likewise.
19114         * modules/poll-h (Makefile.am): Likewise.
19115         * modules/pty (Makefile.am): Likewise.
19116         * modules/search (Makefile.am): Likewise.
19117         * modules/signal (Makefile.am): Likewise.
19118         * modules/spawn (Makefile.am): Likewise.
19119         * modules/stdio (Makefile.am): Likewise.
19120         * modules/stdlib (Makefile.am): Likewise.
19121         * modules/string (Makefile.am): Likewise.
19122         * modules/sys_ioctl (Makefile.am): Likewise.
19123         * modules/sys_select (Makefile.am): Likewise.
19124         * modules/sys_socket (Makefile.am): Likewise.
19125         * modules/sys_stat (Makefile.am): Likewise.
19126         * modules/sys_times (Makefile.am): Likewise.
19127         * modules/sys_utsname (Makefile.am): Likewise.
19128         * modules/sys_wait (Makefile.am): Likewise.
19129         * modules/termios (Makefile.am): Likewise.
19130         * modules/time (Makefile.am): Likewise.
19131         * modules/unistd (Makefile.am): Likewise.
19132         * modules/wchar (Makefile.am): Likewise.
19133
19134 2011-06-08  Eric Blake  <eblake@redhat.com>
19135
19136         strerror: simplify replacement
19137         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
19138         * modules/strerror (configure.ac): No prereqs needed here...
19139         * modules/strerror-override (configure.ac): ...but this needs it.
19140         (Files): Add file for needed prereq macro.
19141
19142 2011-06-08  Bruno Haible  <bruno@clisp.org>
19143
19144         strerror_r-posix: Tweaks.
19145         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
19146         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
19147         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
19148         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
19149         (gl_FUNC_STRERROR_R): ... to here.
19150         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
19151
19152 2011-06-07  Eric Blake  <eblake@redhat.com>
19153
19154         perror: document fixed bugs
19155         * doc/posix-functions/perror.texi (perror): Document recent
19156         patches.
19157
19158 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
19159
19160         stat-time: get_stat_birthtime failure is better-defined
19161         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
19162         return a timestamp whose tv_sec and tv_nsec values are both -1.
19163         Previously, the spec said only that the tv_nsec value was negative.
19164         This upward-compatible change simplifies GNU tar a bit.
19165
19166 2011-06-07  Eric Blake  <eblake@redhat.com>
19167
19168         strerror_r-posix: work around cygwin 1.7.9
19169         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
19170         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
19171         bug without replacing strerror_r.
19172         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
19173         strerror_r is buggy, but without requiring strerror_r compilation.
19174         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
19175
19176         test-perror: relax test to ignore cygwin bug
19177         * tests/test-perror2.c (main): Relax test on requiring detection
19178         of stream errors, and use unbuffered stream.
19179         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
19180         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
19181         * doc/posix-functions/fputc.texi (fputc): Likewise.
19182         * doc/posix-functions/fputs.texi (fputs): Likewise.
19183         * doc/posix-functions/fputws.texi (fputws): Likewise.
19184         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
19185         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
19186         * doc/posix-functions/getopt.texi (getopt): Likewise.
19187         * doc/posix-functions/perror.texi (perror): Likewise.
19188         * doc/posix-functions/printf.texi (printf): Likewise.
19189         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
19190         * doc/posix-functions/psignal.texi (psignal): Likewise.
19191         * doc/posix-functions/putc.texi (putc): Likewise.
19192         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
19193         Likewise.
19194         * doc/posix-functions/putchar.texi (putchar): Likewise.
19195         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
19196         Likewise.
19197         * doc/posix-functions/puts.texi (puts): Likewise.
19198         * doc/posix-functions/putwc.texi (putwc): Likewise.
19199         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
19200         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
19201         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
19202         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
19203         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
19204         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
19205         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
19206         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
19207
19208 2011-05-22  Bruno Haible  <bruno@clisp.org>
19209
19210         strerror: Move AC_LIBOBJ invocations to module description.
19211         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
19212         gl_PREREQ_STRERROR invocations from here...
19213         * modules/strerror (configure.ac): ... to here.
19214
19215 2011-05-21  Bruno Haible  <bruno@clisp.org>
19216
19217         perror: Use common idiom.
19218         * modules/perror (configure.ac): Reorder statements.
19219
19220 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
19221
19222         tests: fix usage message in 'mktempd_'
19223         * tests/init.sh (mktempd_): In the usage message, use literal
19224         'mktempd_', not '$ME' (which is even undefined), as the name of
19225         the subroutine.
19226
19227 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
19228
19229         tests init: new function 'fatal_', for hard errors
19230         Before this patch, the only way offered by tests/init.sh to
19231         properly signal a hard error was the `framework_failure_'
19232         function.  But the error message issued by that function,
19233         as its name would suggest, refers to a set-up failure in the
19234         testsuite, while hard errors can obviously also be due to
19235         other reasons.  The best way to fix this inconsistency is to
19236         introduce a new function with a more general error message.
19237         * tests/init.sh (fatal_): New function.
19238
19239 2011-06-06  Eric Blake  <eblake@redhat.com>
19240
19241         canonicalize-lgpl: use common idiom
19242         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
19243         over newer POSIX -Rf.
19244         Reported by Bruno Haible.
19245
19246         canonicalize-lgpl: work around AIX realpath bug
19247         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
19248         * doc/posix-functions/realpath.texi (realpath): Document it.
19249         Reported by Bruno Haible.
19250
19251         strerror: work around FreeBSD bug
19252         * lib/strerror.c (strerror): Special case 0.
19253         Reported by Bruno Haible.
19254
19255         strerror-override: avoid bloating errno module
19256         * modules/errno (Files, configure.ac): Move replacement strings...
19257         * modules/strerror-override: ...to new module.
19258         * modules/strerror (Depends-on): Add strerror-override.
19259         * modules/strerror_r-posix (Depends-on): Likewise.
19260         * MODULES.html.sh: Document new module.
19261         Reported by Bruno Haible.
19262
19263 2011-06-06  Bruno Haible  <bruno@clisp.org>
19264
19265         spawn-pipe tests: Rename program.
19266         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
19267         * tests/test-spawn-pipe-child.c: Update comment.
19268         * tests/test-spawn-pipe.sh: Update.
19269         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
19270
19271         spawn-pipe tests: Link the child program only against libc.
19272         * tests/test-spawn-pipe-child.c: New file, extracted from
19273         tests/test-spawn-pipe.c.
19274         (main): Expect only one argument.
19275         (is_open): New function, copied from tests/test-pipe.c.
19276         * tests/test-spawn-pipe.c: Don't include <errno.h>.
19277         (child_main): Remove function.
19278         (test_pipe): Pass only one argument to the child program.
19279         (main): Remove child process code. Expect the child program's name as
19280         first argument.
19281         * tests/test-spawn-pipe.sh: Pass the child program's name as first
19282         argument.
19283         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
19284         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
19285         test-spawn-pipe-child against no libraries.
19286
19287 2011-06-06  Bruno Haible  <bruno@clisp.org>
19288
19289         careadlinkat: Avoid mismatch between ssize_t and int.
19290         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
19291         * lib/careadlinkat.c (careadlinkatcwd): Define always.
19292
19293 2011-06-06  Jim Meyering  <meyering@redhat.com>
19294
19295         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
19296         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
19297         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
19298
19299 2011-06-05  Bruno Haible  <bruno@clisp.org>
19300
19301         ansi-c++-opt: Interoperability with libtool.
19302         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
19303         set the variable to "no", not to ":".
19304         * NEWS: Mention the change.
19305
19306 2011-06-05  Bruno Haible  <bruno@clisp.org>
19307
19308         acl: Fix test failure on AIX 7.
19309         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
19310         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
19311
19312 2011-06-05  Bruno Haible  <bruno@clisp.org>
19313
19314         pipe-filter-ii: Fix test failure on AIX and IRIX.
19315         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
19316         with EAGAIN, retry with a smaller buffer size.
19317
19318 2011-06-05  Bruno Haible  <bruno@clisp.org>
19319
19320         localename: Fix link dependencies.
19321         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
19322         * modules/localename-tests (Makefile.am): Link test-localename with
19323         $(LIBTHREAD).
19324
19325 2011-06-05  Bruno Haible  <bruno@clisp.org>
19326
19327         error: Avoid gcc warning.
19328         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
19329
19330 2011-06-05  Bruno Haible  <bruno@clisp.org>
19331
19332         unsetenv: Avoid gcc warning.
19333         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
19334
19335 2011-06-05  Bruno Haible  <bruno@clisp.org>
19336
19337         setenv: Avoid gcc warning.
19338         * lib/setenv.c (setenv): Provide declaration if system lacks it.
19339
19340 2011-06-05  Bruno Haible  <bruno@clisp.org>
19341
19342         sys_select: Ensure memset is declared also on AIX 7.
19343         * lib/sys_select.in.h: Include <string.h> also on AIX.
19344         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
19345         self-contained also on AIX 7.1.
19346
19347 2011-06-04  Jim Meyering  <meyering@redhat.com>
19348
19349         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
19350         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
19351         function name, "error".
19352         (_gl_translatable_diag_func_re): New configurable variable.
19353
19354 2011-06-04  Bruno Haible  <bruno@clisp.org>
19355
19356         getopt: Avoid gcc warning.
19357         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
19358
19359 2011-06-04  Bruno Haible  <bruno@clisp.org>
19360
19361         strerror_r: Fix comments.
19362         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
19363         commit.
19364
19365 2011-06-04  Bruno Haible  <bruno@clisp.org>
19366
19367         perror: Fix compilation error.
19368         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
19369         Undefine fprintf, not sprintf.
19370         * modules/perror (Depends-on): Remove intprops, verify.
19371
19372 2011-06-04  Bruno Haible  <bruno@clisp.org>
19373
19374         setlocale: Enable replacement on Cygwin 1.5.
19375         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
19376         Cygwin 1.5.x.
19377         * doc/posix-functions/setlocale.texi: Mention that the problem with the
19378         LC_CTYPE category also exists on Cygwin 1.5.x.
19379
19380 2011-06-04  Bruno Haible  <bruno@clisp.org>
19381
19382         strerror-override: Don't disable symbol renamings.
19383         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
19384         * lib/strerror-override.c: Include config.h.
19385         (strerror_override): Don't undefine.
19386
19387 2011-06-03  Bruno Haible  <bruno@clisp.org>
19388
19389         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
19390         * lib/localename.h: Update copyright header.
19391         * lib/localename.c: Likewise.
19392         * lib/relocatable.h: Likewise.
19393         * lib/relocatable.c: Likewise.
19394
19395 2011-06-02  Bruno Haible  <bruno@clisp.org>
19396
19397         doc: Fix a module name.
19398         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
19399
19400 2011-06-02  Bruno Haible  <bruno@clisp.org>
19401
19402         pipe2: Remove dependency on 'nonblocking' module.
19403         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
19404         O_NONBLOCK is defined by gnulib.
19405         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
19406         is zero.
19407         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
19408         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
19409         defined by gnulib.
19410         (get_nonblocking_flag): New function.
19411         (main): Test O_NONBLOCK flag only if it is nonzero.
19412         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
19413
19414 2011-06-03  Jim Meyering  <meyering@redhat.com>
19415
19416         maint: three new prohibit-header-without-use rules
19417         Prohibit use of cloexec.h, posixver.h, same.h without use.
19418         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
19419         (sc_prohibit_posixver_without_use): Likewise.
19420         (sc_prohibit_same_without_use): Likewise.
19421
19422 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
19423
19424         allocator: 'die' routine is now given requested size
19425         * lib/allocator.h (struct allocator.die): New size arg.
19426         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
19427         If the actual problem is an ssize_t limitation, not a size_t or
19428         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
19429
19430 2011-06-01  Eric Blake  <eblake@redhat.com>
19431
19432         strerror: drop strerror_r dependency
19433         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
19434         * lib/strerror-override.c (strerror_override): ...to new file.
19435         * lib/strerror-override.h: Add prototype.
19436         * lib/strerror-impl.h: Delete.
19437         * lib/strerror.c (strerror): New implementation.
19438         * modules/errno (Files): Add new files.
19439         (configure.ac): Compile new file as appropriate.
19440         * modules/strerror (Files): Drop unused file.
19441         (Depends-on): Drop strerror_r-posix.
19442         * MODULES.html.sh: Document strerror_r-posix.
19443         Requested by Sam Steingold.
19444
19445         perror: call strerror_r directly
19446         * modules/perror (Files): Drop strerror-impl.h.
19447         * lib/perror.c (perror): Use our own stack buffer, rather than
19448         calling a wrapper that uses static storage.
19449         * doc/posix-functions/perror.texi (perror): Document a limitation
19450         of our replacement.
19451
19452         strerror_r: fix includes for FreeBSD
19453         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
19454         since we use abort on some platforms.
19455         Reported by Matthias Bolte.
19456
19457 2011-05-31  Bruno Haible  <bruno@clisp.org>
19458
19459         Fix link errors in tests: openat-die uses gettext-h.
19460         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
19461         against $(LIBINTL).
19462         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
19463         against $(LIBINTL).
19464         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
19465         $(LIBINTL).
19466         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
19467         against $(LIBINTL).
19468         * modules/linkat-tests (Makefile.am): Link test-linkat against
19469         $(LIBINTL).
19470         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
19471         $(LIBINTL).
19472         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
19473         against $(LIBINTL).
19474         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
19475         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
19476         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
19477         $(LIBINTL).
19478         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
19479         $(LIBINTL).
19480         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
19481         $(LIBINTL).
19482         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19483
19484 2011-05-31  Bruno Haible  <bruno@clisp.org>
19485
19486         Fix link errors in tests: wait-process uses gettext-h.
19487         * modules/nonblocking-pipe-tests (Makefile.am): Set
19488         test_nonblocking_pipe_main_LDADD.
19489         * modules/nonblocking-socket-tests (Makefile.am): Link
19490         test-nonblocking-socket-main against $(LIBINTL).
19491         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19492
19493 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
19494
19495         assert-h: work around 'verify' incompatibility
19496         * lib/verify.h: Use @...@ directives, not ifdef.
19497         * modules/assert-h (assert.h): Implement the directives.
19498         (assert.h): Substitute the symbol-prefix more consistently.
19499
19500 2011-05-29  Jim Meyering  <meyering@redhat.com>
19501
19502         trim: remove three superfluous assignments
19503         * lib/trim.c (trim2): Remove three superfluous assignments
19504         and correct brace positioning.
19505
19506 2011-05-29  Bruno Haible  <bruno@clisp.org>
19507
19508         wctype-h: Avoid namespace pollution on Solaris 2.6.
19509         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
19510         identifiers.
19511         * doc/posix-headers/wctype.texi: Mention the problem.
19512         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19513
19514 2011-05-28  Jim Meyering  <meyering@redhat.com>
19515
19516         parse-datetime.y: accommodate -Wstrict-overflow
19517         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
19518         placate -Wstrict-overflow.
19519
19520         trim: avoid a warning from -O2 -Wstrict-overflow
19521         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
19522
19523 2011-05-29  Bruno Haible  <bruno@clisp.org>
19524
19525         gnulib-tool: Fix bug in yesterday's commit.
19526         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
19527         twice.
19528
19529 2011-05-29  Bruno Haible  <bruno@clisp.org>
19530
19531         Allow multiple gnulib generated include files to be combined.
19532         * gnulib-tool (func_compute_include_guard_prefix): New function.
19533         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
19534         ${gl_include_guard_prefix} references.
19535         (func_import, func_create_testdir): Invoke
19536         func_compute_include_guard_prefix.
19537         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
19538         * lib/ctype.in.h: Likewise.
19539         * lib/dirent.in.h: Likewise.
19540         * lib/errno.in.h: Likewise.
19541         * lib/fcntl.in.h: Likewise.
19542         * lib/float.in.h: Likewise.
19543         * lib/getopt.in.h: Likewise.
19544         * lib/iconv.in.h: Likewise.
19545         * lib/langinfo.in.h: Likewise.
19546         * lib/locale.in.h: Likewise.
19547         * lib/math.in.h: Likewise.
19548         * lib/netdb.in.h: Likewise.
19549         * lib/netinet_in.in.h: Likewise.
19550         * lib/poll.in.h: Likewise.
19551         * lib/pthread.in.h: Likewise.
19552         * lib/pty.in.h: Likewise.
19553         * lib/sched.in.h: Likewise.
19554         * lib/se-selinux.in.h: Likewise.
19555         * lib/search.in.h: Likewise.
19556         * lib/signal.in.h: Likewise.
19557         * lib/spawn.in.h: Likewise.
19558         * lib/stdarg.in.h: Likewise.
19559         * lib/stddef.in.h: Likewise.
19560         * lib/stdint.in.h: Likewise.
19561         * lib/stdio.in.h: Likewise.
19562         * lib/stdlib.in.h: Likewise.
19563         * lib/string.in.h: Likewise.
19564         * lib/strings.in.h: Likewise.
19565         * lib/sys_file.in.h: Likewise.
19566         * lib/sys_ioctl.in.h: Likewise.
19567         * lib/sys_select.in.h: Likewise.
19568         * lib/sys_socket.in.h: Likewise.
19569         * lib/sys_stat.in.h: Likewise.
19570         * lib/sys_time.in.h: Likewise.
19571         * lib/sys_times.in.h: Likewise.
19572         * lib/sys_uio.in.h: Likewise.
19573         * lib/sys_utsname.in.h: Likewise.
19574         * lib/sys_wait.in.h: Likewise.
19575         * lib/sysexits.in.h: Likewise.
19576         * lib/termios.in.h: Likewise.
19577         * lib/time.in.h: Likewise.
19578         * lib/unistd.in.h: Likewise.
19579         * lib/wchar.in.h: Likewise.
19580         * lib/wctype.in.h: Likewise.
19581         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
19582         * modules/ctype (Makefile.am): Likewise.
19583         * modules/dirent (Makefile.am): Likewise.
19584         * modules/errno (Makefile.am): Likewise.
19585         * modules/fcntl-h (Makefile.am): Likewise.
19586         * modules/float (Makefile.am): Likewise.
19587         * modules/getopt-posix (Makefile.am): Likewise.
19588         * modules/iconv-h (Makefile.am): Likewise.
19589         * modules/langinfo (Makefile.am): Likewise.
19590         * modules/locale (Makefile.am): Likewise.
19591         * modules/math (Makefile.am): Likewise.
19592         * modules/netdb (Makefile.am): Likewise.
19593         * modules/netinet_in (Makefile.am): Likewise.
19594         * modules/poll-h (Makefile.am): Likewise.
19595         * modules/pthread (Makefile.am): Likewise.
19596         * modules/pty (Makefile.am): Likewise.
19597         * modules/sched (Makefile.am): Likewise.
19598         * modules/search (Makefile.am): Likewise.
19599         * modules/selinux-h (Makefile.am): Likewise.
19600         * modules/signal (Makefile.am): Likewise.
19601         * modules/spawn (Makefile.am): Likewise.
19602         * modules/stdarg (Makefile.am): Likewise.
19603         * modules/stddef (Makefile.am): Likewise.
19604         * modules/stdint (Makefile.am): Likewise.
19605         * modules/stdio (Makefile.am): Likewise.
19606         * modules/stdlib (Makefile.am): Likewise.
19607         * modules/string (Makefile.am): Likewise.
19608         * modules/strings (Makefile.am): Likewise.
19609         * modules/sys_file (Makefile.am): Likewise.
19610         * modules/sys_ioctl (Makefile.am): Likewise.
19611         * modules/sys_select (Makefile.am): Likewise.
19612         * modules/sys_socket (Makefile.am): Likewise.
19613         * modules/sys_stat (Makefile.am): Likewise.
19614         * modules/sys_time (Makefile.am): Likewise.
19615         * modules/sys_times (Makefile.am): Likewise.
19616         * modules/sys_uio (Makefile.am): Likewise.
19617         * modules/sys_utsname (Makefile.am): Likewise.
19618         * modules/sys_wait (Makefile.am): Likewise.
19619         * modules/sysexits (Makefile.am): Likewise.
19620         * modules/termios (Makefile.am): Likewise.
19621         * modules/time (Makefile.am): Likewise.
19622         * modules/unistd (Makefile.am): Likewise.
19623         * modules/wchar (Makefile.am): Likewise.
19624         * modules/wctype-h (Makefile.am): Likewise.
19625         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
19626
19627 2011-05-29  Bruno Haible  <bruno@clisp.org>
19628
19629         assert-h: Allow multiple gnulib generated replacements to coexist.
19630         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
19631
19632 2011-05-29  Bruno Haible  <bruno@clisp.org>
19633
19634         argp: Allow coexistence with strerror_r-posix module.
19635         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
19636         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
19637         by gnulib's <string.h> replacement), assume it has the POSIX signature,
19638         not the glibc signature.
19639
19640 2011-05-28  Bruno Haible  <bruno@clisp.org>
19641
19642         gnulib-tool: Alternative structure of testdirs, similar to --import.
19643         * gnulib-tool: New option --single-configure.
19644         (func_usage): Document it.
19645         (single_configure): New variable.
19646         (func_modules_transitive_closure_separately,
19647         func_modules_transitive_closure_separately,
19648         func_determine_use_libtests, func_modules_add_dummy_separately,
19649         func_modules_to_filelist_separately): New functions, extracted from
19650         func_import.
19651         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
19652         (func_import): Use the new functions.
19653         (func_create_testdir): Set final_modules. Handle $single_configure =
19654         true case.
19655
19656 2011-05-28  Bruno Haible  <bruno@clisp.org>
19657
19658         getloadavg: Remove an unreliable safety check.
19659         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
19660         getloadavg.c is in place.
19661         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
19662         Reported by Sam Steingold <sds@gnu.org>.
19663
19664 2011-05-28  Bruno Haible  <bruno@clisp.org>
19665
19666         doc: Cleanup yet another file produced by texinfo.tex.
19667         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
19668
19669 2011-05-28  Bruno Haible  <bruno@clisp.org>
19670
19671         Finish the conditional dependencies mechanism.
19672         * gnulib-tool: New option --no-conditional-dependencies.
19673         (func_usage): Document it. Don't mark --conditional-dependencies as
19674         experimental.
19675         (cond_dependencies): The possible values can now be true, false, empty.
19676         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
19677         (func_import): Store setting in gnulib-cache.m4 and read it from there.
19678         * doc/gnulib-tool.texi (Conditional dependencies): New section.
19679
19680 2011-05-28  Bruno Haible  <bruno@clisp.org>
19681
19682         doc: Use a recent texinfo.tex.
19683         * doc/Makefile (tex_opts): New variable.
19684         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
19685
19686 2011-05-28  Jim Meyering  <meyering@redhat.com>
19687
19688         intprops.h: adjust comment to match code change
19689         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
19690         only once, it *may* have side effects.  Also fix an unrelated typo.
19691         (_GL_INT_SIGNED): Likewise.
19692
19693 2011-05-26  Simon Josefsson  <simon@josefsson.org>
19694
19695         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
19696
19697 2011-05-26  Bruno Haible  <bruno@clisp.org>
19698
19699         mbsrchr: Avoid collision with system function on Interix.
19700         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
19701         Reported by Markus Duft <mduft@gentoo.org>.
19702
19703 2011-05-15  James Youngman  <jay@gnu.org>
19704
19705         getopt: for ambiguous options, enumerate the possibilities.
19706         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
19707         the ambiguous options when an ambiguous prefix is given. This was
19708         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
19709         glibc change was
19710         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
19711
19712 2011-05-25  Eric Blake  <eblake@redhat.com>
19713
19714         getcwd: work around mingw bug
19715         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
19716         * doc/posix-functions/getcwd.texi (getcwd): Document it.
19717         Reported by Matthias Bolte.
19718
19719 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
19720
19721         test-intprops: disable -Wtype-limits diagnostics
19722         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
19723         diagnostics.  Otherwise, the integer overflow macros generate many
19724         diagnostics.  Reported by Jim Meyering in
19725         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
19726
19727         intprops: shorten, to pacify gcc -Woverlength-strings
19728         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
19729         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
19730         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
19731         likely to run afoul of C compiler limits for string constant lengths.
19732         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
19733
19734 2011-05-24  Eric Blake  <eblake@redhat.com>
19735
19736         docs: document recently fixed glibc printf bug
19737         * doc/posix-functions/fprintf.texi (fprintf): Document it.
19738         * doc/posix-functions/printf.texi (printf): Likewise.
19739         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
19740         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
19741
19742         closein-tests: convert to init.sh
19743         * modules/closein-tests (Files): Add init.sh
19744         * tests/test-closein.sh Use it.
19745
19746         yesno-tests: convert to init.sh
19747         * modules/yesno-tests (Files): Add init.sh.
19748         * tests/test-yesno.sh: Use it.
19749
19750         atexit-tests: ensure reliable exit status
19751         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
19752         Reported by Bruno Haible.
19753
19754 2011-05-24  Bruno Haible  <bruno@clisp.org>
19755
19756         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
19757         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
19758         gl_PREREQ_STRERROR_R invocations from here...
19759         * modules/strerror_r-posix (configure.ac): ... to here.
19760
19761 2011-05-24  Eric Blake  <eblake@redhat.com>
19762
19763         strerror_r: fix missing header
19764         * lib/strerror_r.c: Avoid compiler warning about snprintf.
19765
19766         strerror_r: fix AIX test failures
19767         * lib/strerror_r.c (strerror_r): Convert silent truncation to
19768         ERANGE failure.
19769
19770         strerror_r: fix Solaris test failures
19771         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
19772         failures.
19773         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
19774
19775         strerror_r: enforce POSIX recommendations
19776         * lib/strerror_r.c (safe_copy): New helper method.
19777         (strerror_r): Guarantee a non-empty string.
19778         * tests/test-strerror_r.c (main): Enhance tests to incorporate
19779         recent POSIX rulings and to match our strerror guarantees.
19780         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
19781
19782 2011-05-24  Jim Meyering  <meyering@redhat.com>
19783
19784         test-perror2.c: avoid warning about unused variable
19785         * tests/test-perror2.c (main): Remove declaration of unused "fp".
19786
19787 2011-05-24  Eric Blake  <eblake@redhat.com>
19788
19789         perror: avoid spurious test failure on HP-UX
19790         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
19791
19792         tests: fix logic bug in init.sh
19793         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
19794         shell.
19795
19796 2011-05-24  Jim Meyering  <meyering@redhat.com>
19797
19798         utimensat: do not reference an out-of-scope buffer
19799         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
19800         declared in an inner scope, yet "times" would be dereferenced outside
19801         the scope in which "ts" was valid.
19802         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
19803         of ts[2] "out/up", so that the use of aliased "times" (via
19804         "times = ts;") does not end up referencing an out-of-scope "ts"
19805
19806         opendir-safer.c: don't clobber errno; don't close negative FD
19807         * lib/opendir-safer.c (opendir_safer):
19808         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
19809         file descriptor, and more importantly, don't clobber the
19810         offending errno value with EINVAL.  Before, upon failure
19811         of dup_safer, we would pass the negative file descriptor to
19812         fdopendir, which would clobber errno.
19813
19814 2011-05-23  Bruno Haible  <bruno@clisp.org>
19815
19816         idcache: Fix module description.
19817         * modules/idcache (Include): Set to "idcache.h".
19818
19819 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
19820
19821         gnulib-tool: fix portability problem with MacOS sed
19822         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
19823         before the "}".  Problem reported by Leo in
19824         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
19825         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
19826         sed_extract_condition1, sed_extract_condition2.
19827
19828 2011-05-23  Bruno Haible  <bruno@clisp.org>
19829
19830         hash: Simplify autoconf macro.
19831         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
19832
19833 2011-05-23  Bruno Haible  <bruno@clisp.org>
19834
19835         getugroups: Fix module description.
19836         * modules/getugroups (Include): Set to "getugroups.h".
19837
19838 2011-05-23  Bruno Haible  <bruno@clisp.org>
19839
19840         linkat: Simplify autoconf macro.
19841         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
19842
19843 2011-05-23  Bruno Haible  <bruno@clisp.org>
19844             Eric Blake  <eblake@redhat.com>
19845
19846         linkat, renameat: Update dependencies.
19847         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
19848         * modules/linkat (Depends-on): Likewise. Remove also readlink,
19849         symlinkat.
19850
19851 2011-05-23  Jim Meyering  <meyering@redhat.com>
19852
19853         maint.mk: more tight_scope improvements
19854         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
19855         (_gl_TS_headers): Define only in if-0'd block.
19856         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
19857         sometimes we must *not* use it.  Adjust uses accordingly.
19858         (sc_tight_scope): Use much simpler grep-based test to determine
19859         whether we skip this rule.
19860
19861         maint.mk: generalize/improve the tight-scope rule
19862         * top/maint.mk: Emit a warning when the test is skipped.
19863         (_gl_TS_dir): Add $(srcdir)/ prefix.
19864         (_gl_TS_function_match): Simplify, rather than trying
19865         to enumerate common types.  Otherwise, it would fail to match an
19866         "extern unsigned char const *" declaration in idutils.
19867         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
19868         a way to support use of that type of macro.
19869         (_gl_TS_var_match): Simplify regexp.
19870         (_gl_TS_obj_files): New configurable variable.
19871         (_gl_TS_headers): Likewise.
19872
19873 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
19874
19875         verify: fix bug when gnulib <assert.h> is also included
19876         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
19877         is defined, not if _GL_STATIC_ASSERT_H is not defined.
19878         Perhaps there's a better way, but this fixes the immediate problem.
19879         Problem reported by Bruno Haible in
19880         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
19881
19882 2011-05-22  Bruno Haible  <bruno@clisp.org>
19883
19884         xgetcwd: Simplify autoconf macro.
19885         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
19886
19887 2011-05-22  Bruno Haible  <bruno@clisp.org>
19888
19889         New module 'mktime-internal'.
19890         * modules/mktime-internal: New file.
19891         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
19892         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
19893         mktime_internal as a C macro if libc has __mktime_internal.
19894         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
19895         conditions.
19896         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
19897
19898 2011-05-22  Bruno Haible  <bruno@clisp.org>
19899
19900         timegm: Correct mktime replacement statements.
19901         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
19902         defining mktime as a C macro. This completes a 2009-07-28 commit.
19903
19904 2011-05-22  Bruno Haible  <bruno@clisp.org>
19905
19906         timegm: Simplify autoconf macro.
19907         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
19908
19909 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
19910
19911         clock-time: change to LGPLv2+.
19912         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
19913         BSD-like but we have no mark for that; this is good enough for now.
19914
19915 2011-05-21  Bruno Haible  <bruno@clisp.org>
19916
19917         strerror_r: Fix comments.
19918         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
19919
19920 2011-05-21  Bruno Haible  <bruno@clisp.org>
19921
19922         relocatable-prog-wrapper: Fix possible link error.
19923         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
19924         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
19925         (gl_FUNC_SETENV): ... to here.
19926         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
19927         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
19928
19929 2011-05-21  Bruno Haible  <bruno@clisp.org>
19930
19931         relocatable-prog-wrapper: Assume strerror() exists.
19932         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
19933         m4/strerror.m4.
19934         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
19935         * lib/relocwrapper.c: Remove mention of strerror module.
19936         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
19937         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
19938         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
19939         C macro.
19940
19941 2011-05-21  Bruno Haible  <bruno@clisp.org>
19942
19943         select: Simplify replacement idiom.
19944         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
19945         Win32 platforms.
19946         * lib/sys_select.in.h (select): Simplify accordingly.
19947         * modules/select (Depends-on): Likewise.
19948
19949 2011-05-21  Bruno Haible  <bruno@clisp.org>
19950
19951         mkdir-p: Simplify autoconf macro.
19952         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
19953         gl_FUNC_LCHOWN.
19954
19955 2011-05-21  Eric Blake  <eblake@redhat.com>
19956
19957         strerror_r: avoid clobbering strerror on cygwin
19958         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
19959         fall back instead to sys_errlist.
19960         * modules/strerror (configure.ac): Add witness.
19961         * tests/test-strerror_r.c (main): Enhance test.
19962         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
19963         * tests/test-perror2.c (main): Free memory before exit.
19964
19965 2011-05-21  Bruno Haible  <bruno@clisp.org>
19966
19967         mkdtemp: Use gnulib naming conventions.
19968         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
19969         * modules/mkdtemp (configure.ac): Update.
19970
19971 2011-05-20  Eric Blake  <eblake@redhat.com>
19972
19973         strerror_r: avoid corrupting errno on Solaris
19974         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
19975         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
19976
19977         strerror_r: avoid compiler warning
19978         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
19979
19980         strerror_r: simplify AIX code
19981         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
19982
19983         test-perror: avoid spurious failure on FreeBSD
19984         * modules/perror-tests (Depends-on): Add strerror, now that
19985         strerror_r no longer pulls it in.
19986
19987 2011-05-20  Bruno Haible  <bruno@clisp.org>
19988
19989         strerror_r-posix: Remove unused dependencies.
19990         * modules/strerror_r-posix (Depends-on): Remove strerror.
19991         Reported by Eric Blake.
19992
19993 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
19994
19995         intprops: remove assumption about A|B representation
19996         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
19997         is a valid integer if both A and B are.  Although this is true for
19998         all known practical hosts, the C standard doesn't guarantee it,
19999         and the code need not assume it.  Also, this change may work around
20000         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
20001         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
20002
20003 2011-05-20  Eric Blake  <eblake@redhat.com>
20004
20005         perror: work around FreeBSD bug
20006         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
20007         is broken.  Move AC_LIBOBJ...
20008         * modules/perror (configure.ac): Here.
20009         * doc/posix-functions/perror.texi (perror): Document this.
20010         * tests/test-perror2.c (main): Enhance test.
20011
20012         test-perror: check for strerror interactions
20013         * tests/macros.h (STREQ): Add macro.
20014         * modules/perror-tests (Files): Add second test.
20015         * tests/test-perror2.c (main): New file.
20016         * doc/posix-functions/perror.texi (perror): Document glibc bug.
20017
20018         test-perror: rewrite to use init script
20019         * modules/perror-tests (Files): Add init.sh.
20020         * tests/test-perror.sh: Use temporary directory.
20021
20022 2011-05-20  Jim Meyering  <meyering@redhat.com>
20023
20024         maint: replace misused "a" with "an"
20025         * doc/intprops.texi: "a integer"
20026         * doc/regex.texi: "a explanation"
20027         * lib/alignof.h: "a object"
20028         * lib/argmatch.h: "a explanation"
20029         * lib/argp-help.c: "a option" and "a OPTION_DOC"
20030         * lib/stdint.in.h: "a integer"
20031         * lib/userspec.c: "a owner"
20032         * doc/gnulib.texi: Fix "a idea", and reword.
20033
20034 2011-05-19  Jim Meyering  <meyering@redhat.com>
20035
20036         maint: correct misuse of "a" and "an"
20037         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
20038         * lib/argp-help.c: "an docum...": s/an/a/
20039         * lib/argp-parse.c: "An vector": s/An/A/
20040         * lib/execute.c: "an native": s/an/a/
20041         * lib/spawn-pipe.c: Likewise.
20042         * lib/gc.h: "an Gc_rc": s/an/a/
20043         * lib/unigbrk.in.h: "an grapheme": s/an/a/
20044         * lib/fts.c: "an stat.st_dev": s/an/a/
20045
20046 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
20047
20048         intprops-tests: work around HP-UX 11.23 cc bug with constants
20049         * tests/test-intprops.c (VERIFY): New macro.
20050         (main): Use it, instead of verify, to work around the compiler bug; see
20051         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
20052
20053         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
20054         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
20055         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
20056         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
20057         (_GL_REMAINDER_OVERFLOW): Use it.
20058
20059         intprops-tests: revert unsigned part of previous change
20060         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
20061         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
20062         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
20063         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
20064
20065 2011-05-19  Bruno Haible  <bruno@clisp.org>
20066
20067         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
20068         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
20069         strerror_r() returned without filling the buffer.
20070         Reported by Eric Blake.
20071
20072 2011-05-19  Eric Blake  <eblake@redhat.com>
20073
20074         strerror_r: guarantee unchanged errno
20075         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
20076         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
20077         failure.
20078         * tests/test-strerror_r.c (main): Enhance test.
20079
20080 2011-05-19  Bruno Haible  <bruno@clisp.org>
20081
20082         strerror_r: Reorder #if blocks.
20083         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
20084         for consistency with the previous commit.
20085
20086 2011-05-19  Bruno Haible  <bruno@clisp.org>
20087
20088         perror: Avoid clobbering the strerror buffer when possible.
20089         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
20090         * lib/strerror.c: Include it.
20091         * modules/strerror (Files): Add lib/strerror-impl.h.
20092         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
20093         (my_strerror): New function, defined through lib/strerror-impl.h.
20094         (perror): Use it instead of strerror.
20095         * modules/perror (Files): Add lib/strerror-impl.h.
20096         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
20097
20098 2011-05-19  Eric Blake  <eblake@redhat.com>
20099
20100         strerror_r: fix on newer cygwin
20101         * lib/strerror_r.c (strerror_r): Cygwin now has
20102         __xpg_strerror_r, use it.
20103
20104 2011-05-19  Bruno Haible  <bruno@clisp.org>
20105
20106         strerror_r: Avoid clobbering the strerror buffer when possible.
20107         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
20108         (sys_nerr, sys_errlist): New declarations.
20109         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
20110         HP-UX, native Win32, IRIX, and 32-bit Solaris.
20111         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
20112
20113 2011-05-19  Bruno Haible  <bruno@clisp.org>
20114
20115         strerror_r: Fix test failure on mingw.
20116         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
20117         EXTEND_STRERROR_R.
20118         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
20119         macros from errno.in.h instead.
20120
20121 2011-05-19  Eric Blake  <eblake@redhat.com>
20122
20123         strerror: relax test for Solaris
20124         * tests/test-strerror.c (main): Permit Solaris behavior.
20125         * tests/test-strerror_r.c (main): Likewise.
20126
20127         strerror: enforce POSIX ruling on strerror(0)
20128         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
20129         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
20130         * lib/strerror_r.c (rpl_strerror_r): Work around it.
20131         * doc/posix-functions/strerror.texi (strerror): Document it.
20132         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
20133         * tests/test-strerror.c (main): Strengthen test.
20134         * tests/test-strerror_r.c (main): Likewise.
20135
20136 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
20137
20138         intprop-tests: port to older and more-pedantic compilers
20139         * modules/intprops-tests (Files): Add tests/macros.h.
20140         * tests/test-intprops.c: Include macros.h.
20141         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
20142         it's no longer documented to expand to an integer constant expression.
20143         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
20144         argument is floating point, as it's no longer documented to expand
20145         to an integer constant expression in that case.
20146         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
20147         compiler bugs reported by Bruno Haible.  See
20148         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
20149         (U0, U1): New constants, to work around the same bugs.  Also,
20150         in tests, use e.g., "(unsigned int) 39" rather than "39u".
20151
20152         intprops: work around C compiler bugs
20153         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
20154         bug in Sun C 5.11 2010/08/13 and other compilers; see
20155         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
20156
20157         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
20158         * doc/intprops.texi (Integer Type Determination): Fix
20159         documentation for TYPE_IS_INTEGER: it returns an constant
20160         expression, not an integer constant expression.  Fix doc for
20161         TYPE_SIGNED: it returns an integer constant expression only if its
20162         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
20163         hardly worth documented that way....)
20164
20165 2011-05-18  Bruno Haible  <bruno@clisp.org>
20166
20167         strerror_r: Avoid clobbering the strerror buffer when possible.
20168         * lib/strerror_r.c (strerror_r): Merge the three implementations.
20169         Handle gnulib defined errno values here. When strerror() returns NULL
20170         or an empty string, return EINVAL.
20171         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
20172         gnulib defined errno values here.
20173         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
20174
20175 2011-05-18  Eric Blake  <eblake@redhat.com>
20176
20177         fnmatch: avoid compiler warning
20178         * lib/fnmatch_loop.c (FCT): Use correct type.
20179         Reported by Matthias Bolte.
20180
20181 2011-05-13  Jim Meyering  <meyering@redhat.com>
20182
20183         maint.mk: three new prohibit_<HDR>_without_use rules
20184         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
20185         (sc_prohibit_stdio-safer_without_use): Likewise.
20186         (sc_prohibit_xfreopen_without_use): Likewise.
20187
20188 2011-05-17  Jim Meyering  <meyering@redhat.com>
20189
20190         announce-gen: fail if the NEWS delta is empty
20191         If there's nothing noteworthy in NEWS, then either you forgot
20192         or you shouldn't be releasing.
20193         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
20194
20195 2011-05-17  Pádraig Brady <P@draigBrady.com>
20196
20197         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
20198         reserved symbols starting with double underscore from the check.
20199
20200 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
20201
20202         intprops: add doc
20203         * doc/intprops.texi: New file, documenting intprops.
20204         * doc/gnulib.texi (Particular Modules): Include it.
20205
20206         verify: add doc to gnulib manual and fix example
20207         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
20208         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
20209         (Compile-time Assertions): Fix example so it can't overflow.
20210
20211 2011-05-17  Jim Meyering  <meyering@redhat.com>
20212
20213         warnings.m4: don't usurp save_CPPFLAGS variable name
20214         * m4/warnings.m4: Prefix local temporary variable name with gl_.
20215
20216         doc: fix typo
20217         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
20218
20219 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
20220             Bruno Haible  <bruno@clisp.org>
20221
20222         doc: Tweak recent change.
20223         * README (Portability guidelines): Tweak new text.
20224         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
20225         Interix 6.1.
20226
20227 2011-05-16  Eric Blake  <eblake@redhat.com>
20228
20229         inttypes: avoid autoconf warning
20230         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
20231         * m4/stdint.m4 (gl_STDINT_H): Likewise.
20232
20233 2011-05-16  Sam Steingold <sds@gnu.org>
20234         and Eric Blake  <eblake@redhat.com>
20235
20236         vc-list-files: accept multiple directory operands
20237         * build-aux/vc-list-files: Iterate over all remaining operands.
20238
20239 2011-05-16  Bruno Haible  <bruno@clisp.org>
20240
20241         Fix confusion regarding deprecated modules.
20242         * modules/calloc (Status, Notice): Mark module as deprecated, not
20243         obsolete.
20244         * modules/fnmatch-posix (Status, Notice): Likewise.
20245         * modules/getdate (Status, Notice): Likewise.
20246         * modules/getopt (Status, Notice): Likewise.
20247         * modules/malloc (Status, Notice): Likewise.
20248         * modules/pipe (Status, Notice): Likewise.
20249         * modules/realloc (Status, Notice): Likewise.
20250         * modules/rename-dest-slash (Status, Notice): Likewise.
20251         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
20252         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
20253         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
20254         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
20255         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
20256
20257 2011-05-16  Bruno Haible  <bruno@clisp.org>
20258
20259         doc: List the target platforms.
20260         * doc/gnulib-intro.texi (Target Platforms): New section.
20261         * doc/gnulib.texi (Introduction): Update menu.
20262         * README (Portability guidelines): Refer to the new section. Update
20263         statement about oldest supported environment. Remove rationale why
20264         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
20265         unportable C89 function.
20266         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
20267         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
20268
20269 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
20270
20271         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
20272
20273 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
20274
20275         intprops-tests: new module
20276         * modules/intprops-tests, tests/test-intprops.c: New files.
20277
20278         intprops: add safe, portable integer overflow checking
20279         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
20280         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
20281         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
20282         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
20283         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
20284         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
20285         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
20286         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
20287         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
20288         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
20289         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
20290
20291 2011-05-12  James Youngman  <jay@gnu.org>
20292
20293         Add a test for glibc's Bugzilla bug #12378.
20294         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
20295         doesn't allow the literal matching of a lone "[" (which is
20296         required by POSIX).
20297         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
20298
20299 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
20300
20301         Sync glibc change fixing Bugzilla bug #12378.
20302         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
20303         beginning and fall back to matching as normal character if the
20304         string ends before the matching ']' is found.  This is what POSIX
20305         requires.
20306
20307 2011-05-13  Eric Blake  <eblake@redhat.com>
20308
20309         getcwd-lgpl: relax test for FreeBSD
20310         * doc/posix-functions/getcwd.texi (getcwd): Document portability
20311         issue.
20312         * tests/test-getcwd-lgpl.c (main): Relax test.
20313         Reported by Matthias Bolte.
20314
20315 2011-05-11  Eric Blake  <eblake@redhat.com>
20316
20317         test-fflush: silence compiler warning
20318         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
20319
20320 2011-05-11  Bruno Haible  <bruno@clisp.org>
20321
20322         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
20323         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
20324         * modules/canonicalize (Depends-on): Add 'nocrash'.
20325         * modules/canonicalize-lgpl (Depends-on): Likewise.
20326         * doc/posix-functions/realpath.texi: Update platforms list.
20327         Reported by Ryan Schmidt <ryandesign@macports.org>.
20328
20329 2011-05-11  Bruno Haible  <bruno@clisp.org>
20330
20331         group-member: Declare function in <unistd.h>.
20332         * lib/unistd.in.h (group_member): New declaration.
20333         * lib/group-member.h: Remove file.
20334         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
20335         * tests/test-unistd-c++.cc: Check signature of group_member.
20336         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
20337         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
20338         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
20339         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
20340         HAVE_GROUP_MEMBER.
20341         * modules/group-member (Files): Remove lib/group-member.h.
20342         (Depends-on): Add unistd. Specify conditions.
20343         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
20344         (Include): Change to <unistd.h>.
20345         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
20346         HAVE_GROUP_MEMBER.
20347         * NEWS: Mention the change.
20348         * lib/euidaccess.c: Don't include group-member.h.
20349
20350 2011-05-11  Bruno Haible  <bruno@clisp.org>
20351
20352         group-member: Document module.
20353         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
20354         module.
20355
20356 2011-05-11  Bruno Haible  <bruno@clisp.org>
20357
20358         fclose: Fix mistake earlier today.
20359         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
20360
20361 2011-05-11  Eric Blake  <eblake@redhat.com>
20362
20363         fclose: preserve fflush errors
20364         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
20365         Reported by Jim Meyering.
20366
20367         bootstrap: support a prereq of 'rpcgen -' on RHEL5
20368         * build-aux/bootstrap (check_versions): When no specific version
20369         is required, merely check that the app produces an exit status
20370         that indicates its existence.
20371
20372         maint.mk: drop redundant check
20373         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
20374         the same but better.
20375
20376 2011-05-11  Bruno Haible  <bruno@clisp.org>
20377
20378         fclose: Fix possible link error.
20379         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
20380         unregister_shadow_fd. Improve comments.
20381         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
20382         Eric Blake.
20383
20384 2011-05-11  Jim Meyering  <meyering@redhat.com>
20385
20386         maint.mk: improve "can not" detection and generalize rule name
20387         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
20388         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
20389         Use the same technique as in sc_prohibit_doubled_word, so that
20390         we recognize "can not" also when the words are separated by a newline.
20391         Suggested by Eric Blake.
20392         (perl_filename_lineno_text_): Define.  Factored out of...
20393         (prohibit_doubled_word_): ...here.  Use the new definition.
20394         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
20395         (prohibit_undesirable_word_seq_RE_): New overridable variable.
20396         (ignore_undesirable_word_sequence_RE_): New overridable variable.
20397
20398 2011-05-10  Eric Blake  <eblake@redhat.com>
20399
20400         fclose: avoid double close race when possible
20401         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
20402         all but WINDOWS_SOCKETS.
20403
20404 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
20405
20406         openat: correct new comment
20407         * lib/openat-proc.c (openat_proc_name): Correct the comment.
20408
20409 2011-05-10  Jim Meyering  <meyering@redhat.com>
20410
20411         openat: add comments
20412         * lib/openat-proc.c (openat_proc_name): Add comments,
20413         mostly from Eric Blake.
20414
20415 2011-05-09  Eric Blake  <eblake@redhat.com>
20416
20417         openat: reduce syscalls in first probe of /proc
20418         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
20419         be a directory.  Simplify the probe for .. bugs.
20420         * modules/openat (Depends-on): Drop same-inode.
20421         Reported by Bastien ROUCARIES.
20422
20423 2011-05-09  Jim Meyering  <meyering@redhat.com>
20424
20425         maint.mk: change semantics/name of tight_scope variables
20426         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
20427         Rename variables to align with semantics that make them more useful.
20428
20429         maint.mk: tweak new rule's name not to impinge
20430         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
20431         (sc_tight_scope): Use new rule name rather than $@-0.
20432
20433         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
20434         * top/maint.mk (sc_tight_scope): New rule.
20435         (sc_tight_scope-0): New rule, ifdef'd out.
20436         (_gl_TS_dir): Default.
20437         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
20438         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
20439
20440 2011-05-09  Simon Josefsson  <simon@josefsson.org>
20441
20442         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
20443         Haible <bruno@clisp.org>.
20444
20445 2011-05-08  Bruno Haible  <bruno@clisp.org>
20446
20447         Comments.
20448         * m4/isnanf.m4: Add comment.
20449         * m4/isnanl.m4: Likewise.
20450
20451 2011-05-08  Bruno Haible  <bruno@clisp.org>
20452
20453         glob: Remove obsolete macro.
20454         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
20455
20456 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
20457
20458         intprops: Sun C 5.11 supports __typeof__
20459         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
20460         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
20461         which is new.
20462         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
20463
20464         intprops: switch to usual gnulib indenting and naming
20465         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
20466         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
20467
20468         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
20469
20470 2011-05-08  Jim Meyering  <meyering@redhat.com>
20471
20472         maint.mk: suppress "Entering/Leaving directory" diag in announcement
20473         * top/maint.mk (release-prep): Use make's --no-print-directory
20474         option when generating the announcement.  This eliminates the
20475         pesky "make[2]: Entering/Leaving directory" diagnostics in the
20476         generated announcement template.
20477
20478 2011-05-08  Bruno Haible  <bruno@clisp.org>
20479
20480         tzset: Fix gettimeofday wrapper on Solaris 2.6.
20481         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
20482         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
20483
20484 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
20485
20486         ignore-value, verify: Omit include files from lib_SOURCES.
20487         * modules/ignore-value, modules/verify (Makefile.am):
20488         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
20489         that leads Automake to duplicate use of am__objects_... variables
20490         in Makefile.in.  See
20491         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
20492
20493 2011-05-07  Bruno Haible  <bruno@clisp.org>
20494
20495         fclose: Simplify autoconf macro.
20496         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
20497         defined.
20498
20499 2011-05-07  Bruno Haible  <bruno@clisp.org>
20500
20501         canonicalize-lgpl: Fix autoconf macro ordering bug.
20502         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
20503         gl_STDLIB_H_DEFAULTS.
20504
20505 2011-05-06  Eric Blake  <eblake@redhat.com>
20506
20507         maintainer-makefile: make sc_po_check easier to tune
20508         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
20509         to probe for strings, such as an alternate location for gnulib.
20510
20511         fclose: guarantee behavior on seekable stdin
20512         * modules/fclose (Depends-on): Add fflush.
20513         * doc/posix-functions/fclose.texi (fclose): Document this.
20514         * tests/test-fclose.c (main): Make test for this unconditional.
20515
20516 2011-05-06  Bruno Haible  <bruno@clisp.org>
20517
20518         fflush, fpurge: Relicense under LGPLv2+.
20519         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
20520         * modules/fpurge (License): Likewise.
20521         With permission from Eric Blake and Jim Meyering.
20522         Suggested by Eric Blake.
20523
20524 2011-05-06  Karl Berry  <karl@gnu.org>
20525
20526         * MODULES.html.sh (func_all_modules): remove exit.
20527
20528 2011-05-06  Jim Meyering  <meyering@redhat.com>
20529
20530         maint.mk: use info-gnu@ as the default only for a stable release
20531         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
20532         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
20533         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
20534         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
20535
20536 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
20537
20538         assert-h: new module, which supports C1X-style static_assert
20539         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
20540         * lib/verify.h: Revamp so that this can be copied into assert.h,
20541         while retaining the ability to use it standalone as before.
20542         Rename private identifiers so as not to encroach on the
20543         standard C namespace, since this is now used by assert.h.
20544         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
20545         the old verify_true.
20546         (_GL_VERIFY_TRUE): New macro, with much of the contents of
20547         the old verify_true.  Use _GL_VERIFY_TYPE.
20548         (_GL_VERIFY): New macro, with much of the contents of the old verify.
20549         (static_assert): New macro, if _GL_STATIC_ASSERT_H
20550         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
20551         defined when this file is copied into the replacement assert.h.
20552         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
20553         and _Static_assert is not built in.
20554         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
20555         defined, and use the new macros mentioned above.
20556         * doc/posix-headers/assert.texi: Document this.
20557
20558 2011-05-05  Bruno Haible  <bruno@clisp.org>
20559
20560         fclose, fflush: Respect rules for use of AC_LIBOBJ.
20561         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
20562         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
20563         gl_REPLACE_FCLOSE here.
20564         * modules/fflush (Depends-on): Remove fclose.
20565         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
20566         combination with module 'fclose'.
20567
20568 2011-05-05  Bruno Haible  <bruno@clisp.org>
20569
20570         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
20571         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
20572         gl_FUNC_FFLUSH.
20573         (gl_FUNC_FFLUSH): Use it.
20574         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
20575         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
20576         gl_REPLACE_FSEEKO here.
20577
20578 2011-05-05  Bruno Haible  <bruno@clisp.org>
20579
20580         tzset: Relicense under LGPL.
20581         * modules/tzset (License): Change to LGPL.
20582         No agreement needed; it's a no-op.
20583
20584         strtoimax, strtoumax: Relicense under LGPL.
20585         * modules/strtoimax (License): Change to LGPL.
20586         * modules/strtoumax (License): Likewise.
20587         With permission from Jim Meyering, Paul Eggert:
20588         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
20589         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
20590
20591         getgroups: Relicense under LGPL.
20592         * modules/getgroups (License): Change to LGPL.
20593         With permission from Jim Meyering, Paul Eggert, Eric Blake:
20594         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
20595         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
20596         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
20597
20598         nanosleep: Relicense under LGPL.
20599         * modules/nanosleep (License): Change to LGPL.
20600         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
20601         Haible:
20602         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
20603         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
20604         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
20605         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
20606
20607         futimens: Relicense under LGPL.
20608         * modules/futimens (License): Change to LGPL.
20609         With permission from Eric Blake:
20610         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
20611
20612         fflush: Relicense under LGPL.
20613         * modules/fflush (License): Change to LGPL.
20614         With permission from Eric Blake, Bruno Haible, Jim Meyering:
20615         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
20616         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
20617         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
20618
20619         tmpfile: Relicense under LGPL.
20620         * modules/tmpfile (License): Change to LGPL.
20621         With permission from Ben Pfaff:
20622         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
20623
20624         isfinite: Relicense under LGPL.
20625         * modules/isfinite (License): Change to LGPL.
20626         With permission from Ben Pfaff, Bruno Haible:
20627         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
20628         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
20629
20630         acosl..tanl: Relicense under LGPL.
20631         * modules/acosl (License): Change to LGPL.
20632         * modules/asinl (License): Likewise.
20633         * modules/atanl (License): Likewise.
20634         * modules/cosl (License): Likewise.
20635         * modules/expl (License): Likewise.
20636         * modules/logl (License): Likewise.
20637         * modules/sinl (License): Likewise.
20638         * modules/sqrtl (License): Likewise.
20639         * modules/tanl (License): Likewise.
20640         Source code originally from glibc and Paolo Bonzini. Agreements:
20641         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
20642         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
20643
20644 2011-05-05  Bruno Haible  <bruno@clisp.org>
20645
20646         signal: Define sighandler_t.
20647         * lib/signal.in.h (sighandler_t): New type.
20648         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
20649         whether sighandler_t is defined.
20650         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
20651         * modules/signal (Depends-on): Add extensions.
20652         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
20653         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
20654         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
20655
20656 2011-05-05  Eric Blake  <eblake@redhat.com>
20657
20658         maint: remove useless REPLACE_*_H macros
20659         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
20660         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
20661         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
20662         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
20663         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
20664         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
20665         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
20666         * m4/btowc.m4: Update callers.
20667         * m4/dirfd.m4: Likewise.
20668         * m4/duplocale.m4: Likewise.
20669         * m4/fchdir.m4: Likewise.
20670         * m4/fdopendir.m4: Likewise.
20671         * m4/inet_ntop.m4: Likewise.
20672         * m4/inet_pton.m4: Likewise.
20673         * m4/ioctl.m4: Likewise.
20674         * m4/mbrlen.m4: Likewise.
20675         * m4/mbrtowc.m4: Likewise.
20676         * m4/mbsinit.m4: Likewise.
20677         * m4/mbsnrtowcs.m4: Likewise.
20678         * m4/mbsrtowcs.m4: Likewise.
20679         * m4/poll.m4: Likewise.
20680         * m4/setlocale.m4: Likewise.
20681         * m4/wcrtomb.m4: Likewise.
20682         * m4/wcsnrtombs.m4: Likewise.
20683         * m4/wcsrtombs.m4: Likewise.
20684         * m4/wctob.m4: Likewise.
20685         * m4/wcwidth.m4: Likewise.
20686         * modules/posix_spawn: Likewise.
20687         * modules/posix_spawn_file_actions_addclose: Likewise.
20688         * modules/posix_spawn_file_actions_adddup2: Likewise.
20689         * modules/posix_spawn_file_actions_addopen: Likewise.
20690         * modules/posix_spawn_file_actions_destroy: Likewise.
20691         * modules/posix_spawn_file_actions_init: Likewise.
20692         * modules/posix_spawnattr_destroy: Likewise.
20693         * modules/posix_spawnattr_getflags: Likewise.
20694         * modules/posix_spawnattr_getpgroup: Likewise.
20695         * modules/posix_spawnattr_getschedparam: Likewise.
20696         * modules/posix_spawnattr_getschedpolicy: Likewise.
20697         * modules/posix_spawnattr_getsigdefault: Likewise.
20698         * modules/posix_spawnattr_getsigmask: Likewise.
20699         * modules/posix_spawnattr_init: Likewise.
20700         * modules/posix_spawnattr_setflags: Likewise.
20701         * modules/posix_spawnattr_setpgroup: Likewise.
20702         * modules/posix_spawnattr_setschedparam: Likewise.
20703         * modules/posix_spawnattr_setschedpolicy: Likewise.
20704         * modules/posix_spawnattr_setsigdefault: Likewise.
20705         * modules/posix_spawnattr_setsigmask: Likewise.
20706         * modules/posix_spawnp: Likewise.
20707
20708 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
20709
20710         Add option to do-release-commit-and-tag to specify branch.
20711         * build-aux/do-release-commit-and-tag: Add --branch.
20712
20713 2011-05-03  Bruno Haible  <bruno@clisp.org>
20714
20715         Avoid unnecessary compilation units, through conditional dependencies.
20716         * modules/accept (Depends-on): Add conditions to the dependencies.
20717         * modules/acosl (Depends-on): Likewise.
20718         * modules/argz (Depends-on): Likewise.
20719         * modules/asinl (Depends-on): Likewise.
20720         * modules/atanl (Depends-on): Likewise.
20721         * modules/atoll (Depends-on): Likewise.
20722         * modules/bind (Depends-on): Likewise.
20723         * modules/btowc (Depends-on): Likewise.
20724         * modules/canonicalize-lgpl (Depends-on): Likewise.
20725         * modules/ceil (Depends-on): Likewise.
20726         * modules/ceilf (Depends-on): Likewise.
20727         * modules/ceill (Depends-on): Likewise.
20728         * modules/chdir-long (Depends-on): Likewise.
20729         * modules/chown (Depends-on): Likewise.
20730         * modules/close (Depends-on): Likewise.
20731         * modules/connect (Depends-on): Likewise.
20732         * modules/cosl (Depends-on): Likewise.
20733         * modules/dirfd (Depends-on): Likewise.
20734         * modules/dprintf (Depends-on): Likewise.
20735         * modules/dprintf-posix (Depends-on): Likewise.
20736         * modules/error (Depends-on): Likewise.
20737         * modules/euidaccess (Depends-on): Likewise.
20738         * modules/expl (Depends-on): Likewise.
20739         * modules/faccessat (Depends-on): Likewise.
20740         * modules/fchdir (Depends-on): Likewise.
20741         * modules/fclose (Depends-on): Likewise.
20742         * modules/fcntl (Depends-on): Likewise.
20743         * modules/fdopendir (Depends-on): Likewise.
20744         * modules/fflush (Depends-on): Likewise.
20745         * modules/floor (Depends-on): Likewise.
20746         * modules/floorf (Depends-on): Likewise.
20747         * modules/floorl (Depends-on): Likewise.
20748         * modules/fnmatch (Depends-on): Likewise.
20749         * modules/fopen (Depends-on): Likewise.
20750         * modules/fprintf-posix (Depends-on): Likewise.
20751         * modules/frexp (Depends-on): Likewise.
20752         * modules/frexp-nolibm (Depends-on): Likewise.
20753         * modules/frexpl (Depends-on): Likewise.
20754         * modules/frexpl-nolibm (Depends-on): Likewise.
20755         * modules/fseek (Depends-on): Likewise.
20756         * modules/fsusage (Depends-on): Likewise.
20757         * modules/ftell (Depends-on): Likewise.
20758         * modules/ftello (Depends-on): Likewise.
20759         * modules/futimens (Depends-on): Likewise.
20760         * modules/getcwd (Depends-on): Likewise.
20761         * modules/getcwd-lgpl (Depends-on): Likewise.
20762         * modules/getdelim (Depends-on): Likewise.
20763         * modules/getdomainname (Depends-on): Likewise.
20764         * modules/getgroups (Depends-on): Likewise.
20765         * modules/gethostname (Depends-on): Likewise.
20766         * modules/getline (Depends-on): Likewise.
20767         * modules/getlogin_r (Depends-on): Likewise.
20768         * modules/getopt-posix (Depends-on): Likewise.
20769         * modules/getpeername (Depends-on): Likewise.
20770         * modules/getsockname (Depends-on): Likewise.
20771         * modules/getsockopt (Depends-on): Likewise.
20772         * modules/getsubopt (Depends-on): Likewise.
20773         * modules/getusershell (Depends-on): Likewise.
20774         * modules/glob (Depends-on): Likewise.
20775         * modules/grantpt (Depends-on): Likewise.
20776         * modules/iconv_open (Depends-on): Likewise.
20777         * modules/iconv_open-utf (Depends-on): Likewise.
20778         * modules/inet_ntop (Depends-on): Likewise.
20779         * modules/inet_pton (Depends-on): Likewise.
20780         * modules/ioctl (Depends-on): Likewise.
20781         * modules/isapipe (Depends-on): Likewise.
20782         * modules/isfinite (Depends-on): Likewise.
20783         * modules/isinf (Depends-on): Likewise.
20784         * modules/lchown (Depends-on): Likewise.
20785         * modules/ldexpl (Depends-on): Likewise.
20786         * modules/link (Depends-on): Likewise.
20787         * modules/linkat (Depends-on): Likewise.
20788         * modules/listen (Depends-on): Likewise.
20789         * modules/logl (Depends-on): Likewise.
20790         * modules/lstat (Depends-on): Likewise.
20791         * modules/mbrlen (Depends-on): Likewise.
20792         * modules/mbrtowc (Depends-on): Likewise.
20793         * modules/mbsinit (Depends-on): Likewise.
20794         * modules/mbsnrtowcs (Depends-on): Likewise.
20795         * modules/mbsrtowcs (Depends-on): Likewise.
20796         * modules/mbtowc (Depends-on): Likewise.
20797         * modules/memcmp (Depends-on): Likewise.
20798         * modules/mkdir (Depends-on): Likewise.
20799         * modules/mkdtemp (Depends-on): Likewise.
20800         * modules/mkfifo (Depends-on): Likewise.
20801         * modules/mkfifoat (Depends-on): Likewise.
20802         * modules/mknod (Depends-on): Likewise.
20803         * modules/mkostemp (Depends-on): Likewise.
20804         * modules/mkostemps (Depends-on): Likewise.
20805         * modules/mkstemp (Depends-on): Likewise.
20806         * modules/mkstemps (Depends-on): Likewise.
20807         * modules/mktime (Depends-on): Likewise.
20808         * modules/nanosleep (Depends-on): Likewise.
20809         * modules/open (Depends-on): Likewise.
20810         * modules/openat (Depends-on): Likewise.
20811         * modules/perror (Depends-on): Likewise.
20812         * modules/poll (Depends-on): Likewise.
20813         * modules/popen (Depends-on): Likewise.
20814         * modules/posix_spawn (Depends-on): Likewise.
20815         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
20816         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
20817         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
20818         * modules/posix_spawnp (Depends-on): Likewise.
20819         * modules/pread (Depends-on): Likewise.
20820         * modules/printf-posix (Depends-on): Likewise.
20821         * modules/ptsname (Depends-on): Likewise.
20822         * modules/putenv (Depends-on): Likewise.
20823         * modules/pwrite (Depends-on): Likewise.
20824         * modules/readline (Depends-on): Likewise.
20825         * modules/readlink (Depends-on): Likewise.
20826         * modules/readlinkat (Depends-on): Likewise.
20827         * modules/recv (Depends-on): Likewise.
20828         * modules/recvfrom (Depends-on): Likewise.
20829         * modules/regex (Depends-on): Likewise.
20830         * modules/remove (Depends-on): Likewise.
20831         * modules/rename (Depends-on): Likewise.
20832         * modules/renameat (Depends-on): Likewise.
20833         * modules/rmdir (Depends-on): Likewise.
20834         * modules/round (Depends-on): Likewise.
20835         * modules/roundf (Depends-on): Likewise.
20836         * modules/roundl (Depends-on): Likewise.
20837         * modules/rpmatch (Depends-on): Likewise.
20838         * modules/select (Depends-on): Likewise.
20839         * modules/send (Depends-on): Likewise.
20840         * modules/sendto (Depends-on): Likewise.
20841         * modules/setenv (Depends-on): Likewise.
20842         * modules/setlocale (Depends-on): Likewise.
20843         * modules/setsockopt (Depends-on): Likewise.
20844         * modules/shutdown (Depends-on): Likewise.
20845         * modules/sigaction (Depends-on): Likewise.
20846         * modules/signbit (Depends-on): Likewise.
20847         * modules/sigprocmask (Depends-on): Likewise.
20848         * modules/sinl (Depends-on): Likewise.
20849         * modules/sleep (Depends-on): Likewise.
20850         * modules/snprintf (Depends-on): Likewise.
20851         * modules/snprintf-posix (Depends-on): Likewise.
20852         * modules/socket (Depends-on): Likewise.
20853         * modules/sprintf-posix (Depends-on): Likewise.
20854         * modules/sqrtl (Depends-on): Likewise.
20855         * modules/stat (Depends-on): Likewise.
20856         * modules/strchrnul (Depends-on): Likewise.
20857         * modules/strdup-posix (Depends-on): Likewise.
20858         * modules/strerror (Depends-on): Likewise.
20859         * modules/strerror_r-posix (Depends-on): Likewise.
20860         * modules/strndup (Depends-on): Likewise.
20861         * modules/strnlen (Depends-on): Likewise.
20862         * modules/strptime (Depends-on): Likewise.
20863         * modules/strsep (Depends-on): Likewise.
20864         * modules/strsignal (Depends-on): Likewise.
20865         * modules/strstr-simple (Depends-on): Likewise.
20866         * modules/strtod (Depends-on): Likewise.
20867         * modules/strtoimax (Depends-on): Likewise.
20868         * modules/strtok_r (Depends-on): Likewise.
20869         * modules/strtoumax (Depends-on): Likewise.
20870         * modules/symlink (Depends-on): Likewise.
20871         * modules/symlinkat (Depends-on): Likewise.
20872         * modules/tanl (Depends-on): Likewise.
20873         * modules/tcgetsid (Depends-on): Likewise.
20874         * modules/tmpfile (Depends-on): Likewise.
20875         * modules/trunc (Depends-on): Likewise.
20876         * modules/truncf (Depends-on): Likewise.
20877         * modules/truncl (Depends-on): Likewise.
20878         * modules/uname (Depends-on): Likewise.
20879         * modules/unlink (Depends-on): Likewise.
20880         * modules/unlockpt (Depends-on): Likewise.
20881         * modules/unsetenv (Depends-on): Likewise.
20882         * modules/usleep (Depends-on): Likewise.
20883         * modules/utimensat (Depends-on): Likewise.
20884         * modules/vasprintf (Depends-on): Likewise.
20885         * modules/vdprintf (Depends-on): Likewise.
20886         * modules/vdprintf-posix (Depends-on): Likewise.
20887         * modules/vfprintf-posix (Depends-on): Likewise.
20888         * modules/vprintf-posix (Depends-on): Likewise.
20889         * modules/vsnprintf (Depends-on): Likewise.
20890         * modules/vsnprintf-posix (Depends-on): Likewise.
20891         * modules/vsprintf-posix (Depends-on): Likewise.
20892         * modules/wcrtomb (Depends-on): Likewise.
20893         * modules/wcscasecmp (Depends-on): Likewise.
20894         * modules/wcscspn (Depends-on): Likewise.
20895         * modules/wcsdup (Depends-on): Likewise.
20896         * modules/wcsncasecmp (Depends-on): Likewise.
20897         * modules/wcsnrtombs (Depends-on): Likewise.
20898         * modules/wcspbrk (Depends-on): Likewise.
20899         * modules/wcsrtombs (Depends-on): Likewise.
20900         * modules/wcsspn (Depends-on): Likewise.
20901         * modules/wcsstr (Depends-on): Likewise.
20902         * modules/wcstok (Depends-on): Likewise.
20903         * modules/wcswidth (Depends-on): Likewise.
20904         * modules/wctob (Depends-on): Likewise.
20905         * modules/wctomb (Depends-on): Likewise.
20906         * modules/wctype (Depends-on): Likewise.
20907         * modules/wcwidth (Depends-on): Likewise.
20908         * modules/write (Depends-on): Likewise.
20909
20910 2011-05-03  Bruno Haible  <bruno@clisp.org>
20911
20912         Support for conditional dependencies.
20913         * doc/gnulib.texi (Module description): Document the syntax of
20914         conditional dependencies.
20915         * gnulib-tool: New option --conditional-dependencies.
20916         (func_usage): Document it.
20917         (cond_dependencies): New variable.
20918         (func_get_automake_snippet_conditional,
20919         func_get_automake_snippet_unconditional): New functions, extracted from
20920         func_get_automake_snippet.
20921         (func_get_automake_snippet): Use them.
20922         (sed_first_32_chars): New variable.
20923         (func_module_shellfunc_name): New function.
20924         (func_module_shellvar_name): New function.
20925         (func_module_conditional_name): New function.
20926         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
20927         func_cond_module_condition): New functions.
20928         (func_modules_transitive_closure): Add support for conditional
20929         dependencies.
20930         (func_emit_lib_Makefile_am): For a conditional module, enclose the
20931         conditional automake snippet in an automake conditional.
20932         (func_emit_autoconf_snippets): Emit shell functions that contain the
20933         code for conditional modules.
20934         (func_import, func_create_testdir): Update specification.
20935
20936 2011-05-03  Eric Blake  <eblake@redhat.com>
20937
20938         test-getaddrinfo: report error information
20939         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
20940
20941 2011-05-03  Jim Meyering  <meyering@redhat.com>
20942
20943         bootstrap: avoid build failure when $GZIP is set
20944         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
20945         program name.  If defined at all, it is supposed to list gzip options.
20946         Reported by Alan Curry in http://debbugs.gnu.org/8609
20947
20948 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
20949
20950         readme-release: new module with release instructions
20951         * modules/readme-release: New module.
20952         * top/README-release: New file, from coreutils, grep, diffutils.
20953         * MODULES.html.sh (Support for maintaining and releasing): Add it.
20954
20955 2011-05-02  Eric Blake  <eblake@redhat.com>
20956
20957         fflush: also replace fclose when fixing fflush
20958         * modules/fflush (Depends-on): Add fclose.
20959         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
20960         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
20961         memstreams with no backing fd.
20962         * doc/posix-functions/fclose.texi (fclose): Document the use of
20963         fflush module to fix the bug.
20964         * tests/test-fclose.c (main): Relax test when fclose is used in
20965         isolation.
20966
20967         fclose: add some tests
20968         * modules/fclose-tests: New test module.
20969         * tests/test-fclose.c: New file.
20970         * doc/posix-functions/fclose.texi (fclose): Document the bug.
20971
20972         fclose: reduced dependencies
20973         * modules/fclose (Depends-on): Switch from fflush/fseeko to
20974         simpler lseek.
20975         * lib/fclose.c (rpl_fclose): Likewise.
20976         Reported by Simon Josefsson.
20977
20978         exit: drop remaining clients
20979         * modules/argmatch (Depends-on): Replace exit with stdlib.
20980         * modules/copy-file (Depends-on): Likewise.
20981         * modules/execute (Depends-on): Likewise.
20982         * modules/exitfail (Depends-on): Likewise.
20983         * modules/obstack (Depends-on): Likewise.
20984         * modules/pagealign_alloc (Depends-on): Likewise.
20985         * modules/pipe-filter-gi (Depends-on): Likewise.
20986         * modules/pipe-filter-ii (Depends-on): Likewise.
20987         * modules/savewd (Depends-on): Likewise.
20988         * modules/spawn-pipe (Depends-on): Likewise.
20989         * modules/wait-process (Depends-on): Likewise.
20990         * modules/xsetenv (Depends-on): Likewise.
20991         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
20992         * modules/git-merge-changelog (Depends-on): Likewise.
20993         * modules/long-options (Depends-on): Likewise.
20994         * modules/pt_chown (Depends-on): Likewise.
20995         * modules/sysexits (Depends-on): Likewise.
20996
20997         freading: relax license from LGPLv3+ to LGPLv2+
20998         * modules/freading (License): Relax LGPL version.
20999
21000 2011-05-02  Bruno Haible  <bruno@clisp.org>
21001
21002         fchdir: Remove unused dependencies.
21003         * modules/fchdir (Depends-on): Remove include_next.
21004
21005 2011-05-02  Bruno Haible  <bruno@clisp.org>
21006
21007         gnulib-tool: Refactor.
21008         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
21009         from func_emit_autoconf_snippets.
21010         (func_emit_autoconf_snippets): Use it.
21011
21012 2011-05-02  Simon Josefsson  <simon@josefsson.org>
21013
21014         * NEWS: Document removal of 'exit'.
21015         * modules/exit: Remove file.
21016
21017 2011-05-01  Bruno Haible  <bruno@clisp.org>
21018
21019         Update DEPENDENCIES.
21020         * DEPENDENCIES (gettext): Recommend the newest release.
21021         Reported by Simon Josefsson.
21022
21023 2011-05-01  Bruno Haible  <bruno@clisp.org>
21024
21025         gnulib-tool: Reduce code duplication.
21026         * gnulib-tool (func_emit_autoconf_snippets): New function.
21027         (func_import, func_create_testdir): Use it.
21028
21029 2011-04-30  Eric Blake  <eblake@redhat.com>
21030
21031         fclose: don't fail on non-seekable input stream
21032         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
21033         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
21034         since fflush is allowed to fail in that case.
21035
21036 2011-04-30  Bruno Haible  <bruno@clisp.org>
21037
21038         dup3: cleanup
21039         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
21040
21041 2011-04-30  Bruno Haible  <bruno@clisp.org>
21042
21043         netdb: Make it work in C++ mode.
21044         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
21045         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
21046         module.
21047         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
21048         gl_MODULE_INDICATOR_FOR_TESTS.
21049         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
21050         * modules/netdb-c++-tests: New file.
21051         * tests/test-netdb-c++.cc: New file.
21052
21053 2011-04-30  Bruno Haible  <bruno@clisp.org>
21054
21055         New modules 'vfscanf', 'vscanf'.
21056         * modules/vfscanf: New file.
21057         * modules/vscanf: New file.
21058         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
21059         here.
21060         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
21061         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
21062
21063 2011-04-30  Bruno Haible  <bruno@clisp.org>
21064
21065         passfd: Add comments.
21066         * lib/passfd.c: Add comments about platforms.
21067
21068 2011-04-30  Bruno Haible  <bruno@clisp.org>
21069
21070         sys_uio: Make <sys/uio.h> self-contained.
21071         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
21072         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
21073
21074 2011-04-30  Bruno Haible  <bruno@clisp.org>
21075
21076         sys_socket: Ensure 'struct iovec' definition.
21077         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
21078         <sys/socket.h>.
21079         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
21080
21081 2011-04-30  Bruno Haible  <bruno@clisp.org>
21082
21083         sys_uio: Protect definition of 'struct iovec'.
21084         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
21085         it as a C struct.
21086
21087 2011-04-30  Bruno Haible  <bruno@clisp.org>
21088
21089         manywarnings: fix indentation
21090         * m4/manywarnings.m4: Indent by 2 spaces consistently.
21091
21092 2011-04-30  Pádraig Brady <P@draigBrady.com>
21093
21094         manywarnings: add -Wno-missing-field-initializers if needed.
21095         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
21096         option if it's needed to allow initialization with { 0, }
21097
21098 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
21099
21100         announce-gen: cosmetic improvement
21101         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
21102
21103 2011-04-29  Jim Meyering  <meyering@redhat.com>
21104
21105         vc-list-files: indent with spaces, not TABs
21106         * build-aux/vc-list-files: Convert leading TABs to spaces,
21107         to match the style of most other files in gnulib.
21108
21109         announce-gen: indent with spaces, not TABs
21110         * build-aux/announce-gen: Convert all TABs to spaces, to match
21111         the style of most other files in gnulib.
21112
21113 2011-04-29  Eric Blake  <eblake@redhat.com>
21114
21115         quotearg: avoid uninitialized variable use
21116         * lib/quotearg.c (quoting_options_from_style): Initialize
21117         remaining fields, and ensure that custom styles are only used via
21118         quoting_options rather than quoting_style.
21119
21120 2011-04-29  Jim Meyering  <meyering@redhat.com>
21121
21122         maint.mk: remove unused VC-tag variable
21123         * top/maint.mk (VC-tag): Remove unused variable.
21124
21125 2011-04-29  Bruno Haible  <bruno@clisp.org>
21126
21127         netdb: fix gai_strerror replacements
21128         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
21129         * modules/netdb: Substitute it.
21130
21131 2011-04-29  Jim Meyering  <meyering@redhat.com>
21132
21133         test-getcwd.c: avoid new set-but-not-used warning
21134         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
21135         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
21136         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
21137         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
21138
21139         test-hash.c: avoid a new shadowing warning
21140         * tests/test-hash.c (main): Don't shadow "dup".
21141
21142 2011-04-28  Eric Blake  <eblake@redhat.com>
21143
21144         getaddrinfo: fix gai_strerror signature
21145         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
21146         and work around mingw with UNICODE defined.
21147         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
21148         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
21149         * modules/netdb (Makefile.am): Substitute it.
21150         * lib/netdb.in.h (gai_strerror): Declare replacement.
21151         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
21152         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
21153         the fix.
21154
21155         getsockopt: avoid compiler warning
21156         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
21157         Reported by Matthias Bolte.
21158
21159         tests: drop unused link dependency
21160         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
21161         * modules/dirent-safer-tests (Makefile.am): Likewise.
21162         * modules/fdopendir-tests (Makefile.am): Likewise.
21163         * modules/mkfifoat-tests (Makefile.am): Likewise.
21164         * modules/openat-safer-tests (Makefile.am): Likewise.
21165         * modules/openat-tests (Makefile.am): Likewise.
21166         * modules/readlinkat-tests (Makefile.am): Likewise.
21167         * modules/symlinkat-tests (Makefile.am): Likewise.
21168         * modules/linkat-tests (Makefile.am): Likewise.
21169         (Depends-on): Switch to filenamecat-lgpl.
21170         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
21171         LIBINTL.
21172         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
21173         * tests/test-linkat.c (main): Don't require xalloc.
21174
21175         hash, mgetgroups: drop xalloc dependency
21176         * lib/hash.c (includes): Adjust includes.
21177         * lib/mgetgroups.c (includes): Likewise.
21178         (xgetgroups): Move...
21179         * lib/xgetgroups.c: ...to new file.
21180         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
21181         * modules/xgetgroups: New file, split from...
21182         * modules/mgetgroups: ...here.
21183         (Depends-on): Add xalloc-oversized.
21184         * modules/hash (Depends-on): Likewise.
21185         * modules/hash-tests (Depends-on): Drop xalloc.
21186         (test_hash_LDADD): Drop unused library.
21187         * tests/test-hash.c (main): Break xalloc dependency.
21188         (includes): Drop unused include.
21189
21190         xalloc-oversized: new module
21191         * modules/xalloc-oversized: New module.
21192         * modules/xalloc (Depends-on): Add it.
21193         * lib/xalloc.h (xalloc_oversized): Move...
21194         * lib/xalloc-oversized.h: ...into new file.
21195
21196         utimecmp: drop dependency on xmalloc
21197         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
21198         due to memory pressure.
21199         * modules/utimecmp (Depends-on): Drop xalloc.
21200
21201 2011-04-27  Eric Blake  <eblake@redhat.com>
21202
21203         getcwd: fix mingw bugs
21204         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
21205         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
21206         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
21207
21208 2011-04-27  Bruno Haible  <bruno@clisp.org>
21209
21210         mkstemps: Ensure declaration on MacOS X 10.5.
21211         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
21212         * doc/glibc-functions/mkstemps.texi: Document header file problem on
21213         MacOS X.
21214
21215 2011-04-27  Bruno Haible  <bruno@clisp.org>
21216
21217         mkstemp: More documentation.
21218         * doc/posix-functions/mkstemp.texi: Document header file problem on
21219         MacOS X.
21220
21221 2011-04-27  Bruno Haible  <bruno@clisp.org>
21222
21223         mkstemp: Tweak configure message when cross-compiling.
21224         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
21225         result as a guess.
21226
21227 2011-04-27  Bruno Haible  <bruno@clisp.org>
21228
21229         clean-temp: Clarify what it does.
21230         * lib/clean-temp.h: Add more comments.
21231         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
21232         module.
21233         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
21234         * doc/glibc-functions/mkstemps.texi: Likewise.
21235         * doc/glibc-functions/mkostemps.texi: Likewise.
21236
21237 2011-04-27  Eric Blake  <eblake@redhat.com>
21238
21239         fchdir: avoid extra chdir and fix test
21240         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
21241         getcwd-lgpl.
21242         * lib/fchdir.c (get_name): Any absolute name will do; it does not
21243         have to be canonical.
21244         (canonicalize_file_name): Drop unused macro.
21245         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
21246
21247         filenamecat-lgpl: fix licence
21248         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
21249         when it was first created.
21250
21251         linkat, renameat: add missing dependency
21252         * modules/linkat (Depends-on): Require getcwd-lgpl.
21253         * modules/renameat (Depends-on): Likewise.
21254
21255         tests: reduce dependencies
21256         * tests/test-linkat.c (main): Use lighter-weight getcwd.
21257         * tests/test-renameat.c (main): Likewise.
21258         * modules/linkat-tests (Depends-on): Relax dependency.
21259         * modules/renameat-tests (Depends-on): Likewise.
21260         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
21261         dependency explicit.
21262
21263         save-cwd: reduce default dependency
21264         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
21265         * lib/save-cwd.c: Update comments.
21266         * NEWS: Document the semantic change.
21267
21268         getcwd: enhance tests
21269         * tests/test-getcwd-lgpl.c: New file, taken from...
21270         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
21271         repeat long path stress tests from m4 probe.
21272         * modules/getcwd-lgpl-tests: New module.
21273         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
21274         * m4/getcwd-abort-bug.m4: Update comment.
21275         * m4/getcwd-path-max.m4: Likewise.
21276
21277         getcwd-lgpl: new module
21278         * modules/getcwd-lgpl: New module.
21279         * lib/getcwd-lgpl.c: New file.
21280         * doc/posix-functions/getcwd.texi (getcwd): Document it.
21281         * MODULES.html.sh (lacking POSIX:2008): Likewise.
21282         * modules/getcwd (configure.ac): Set C witness.
21283         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
21284
21285         getcwd: tweak comments
21286         * m4/getcwd-abort-bug.m4: Fix comments.
21287         * m4/getcwd-path-max.m4: Likewise.
21288         * m4/getcwd.m4: Likewise.
21289
21290 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
21291         and Eric Blake  <eblake@redhat.com>
21292
21293         mkstemp: replace if system version uses wrong permissions
21294         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
21295         read/write mode bits set in file created by mkstemp.
21296         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
21297
21298 2011-04-27  Eric Blake  <eblake@redhat.com>
21299
21300         passfd: avoid compiler warning
21301         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
21302         Reported by Laine Stump.
21303
21304 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
21305
21306         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
21307         required by the NetBSD (and perhaps other 4.4BSD derived) join.
21308
21309 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
21310         and Eric Blake  <eblake@redhat.com>
21311
21312         mkstemp: mention clean-temp module
21313         * lib/mkstemp.c: Add comment.
21314         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
21315
21316 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
21317
21318         inttypes: also provide default values for 32-bit tests
21319         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
21320         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
21321
21322 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
21323
21324         strtoumax: remove dependency on strtoimax
21325         This is like the strtoull change of yesterday.
21326         * modules/strtoumax (Files): Add lib/strtoimax.c.
21327         (Depends-on): Remove strtoimax and add verify.
21328
21329         inttypes-incomplete: new module
21330         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
21331         all but the PRI* and SCN* parts of gl_INTTYPES_H.
21332         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
21333         of gl_INTTYPES_H.
21334         (gl_INTTYPES_H): Rewrite in terms of these new macros.
21335         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
21336         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
21337         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
21338         * modules/strtoumax, modules/xstrtol (Depends-on):
21339         Depend on inttypes-incomplete, not inttypes.
21340         * modules/inttypes-incomplete: New module, containing the contents
21341         of the old modules/inttypes module, except that the Files: section
21342         omits m4/inttypes-pri.m4, and the configure.ac section invokes
21343         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
21344         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
21345         (Depends-on): Depend only on inttypes-incomplete.
21346         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
21347
21348         inttypes: omit now-redundant strtoimax and strtoumax work
21349         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
21350         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
21351
21352         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
21353         This supports apps that need pointers to strtoimax and strtoumax,
21354         and ports to HP-UX 11.00 64.bit, which has macros that expand to
21355         nonexistent functions.  See
21356         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
21357         et seq.
21358         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
21359         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
21360         a macro.
21361         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
21362
21363 2011-04-25  Simon Josefsson  <simon@josefsson.org>
21364
21365         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
21366
21367 2011-04-25  Bruno Haible  <bruno@clisp.org>
21368
21369         strtol, strtoul: Mark modules as obsolete.
21370         * modules/strtol (Status, Notice): New sections.
21371         * modules/strtoul (Status, Notice): New sections.
21372
21373 2011-04-25  Bruno Haible  <bruno@clisp.org>
21374
21375         strtod: Remove check for strtod, unless supporting old platforms.
21376         * modules/strtod-obsolete: New file.
21377         * m4/strtod-obsolete.m4: New file.
21378         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
21379         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
21380         * modules/strtod (Depends-on): Add strtod-obsolete.
21381         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
21382
21383 2011-04-25  Bruno Haible  <bruno@clisp.org>
21384
21385         strcase: Make module obsolete.
21386         * modules/strcase (Status, Notice): New sections.
21387
21388 2011-04-25  Bruno Haible  <bruno@clisp.org>
21389
21390         dup2: Remove check for dup2, unless supporting old obsolete platforms.
21391         * modules/dup2-obsolete: New file.
21392         * m4/dup2-obsolete.m4: New file.
21393         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
21394         gl_FUNC_DUP2_OBSOLETE is not also defined.
21395         * modules/dup2 (Depends-on): Add dup2-obsolete.
21396         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
21397
21398 2011-04-25  Bruno Haible  <bruno@clisp.org>
21399
21400         strnlen: Avoid memchr related link error on old obsolete platforms.
21401         * modules/memchr-obsolete: New file.
21402         * m4/memchr-obsolete.m4: New file.
21403         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
21404         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
21405         * modules/memchr (Depends-on): Add memchr-obsolete.
21406         * modules/strnlen (Depends-on): Likewise.
21407         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
21408
21409 2011-04-25  Jim Meyering  <meyering@redhat.com>
21410
21411         maint.mk: makefile_at_at_check extend and clean up
21412         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
21413         in addition to */Makefile.am.
21414         Exempt legitimate uses of @VAR@ notation, e.g.,
21415         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
21416         Remove obsolete coreutils-specific comment.
21417         Prompted by discussion here:
21418         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
21419
21420 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
21421
21422         strtoul: remove dependency on strtol
21423         This is so that 'configure' need not check for strtol merely because
21424         the application needs strtoul.
21425         * modules/strtoul (Files): Add lib/strtol.c.
21426         (Depends-on): Remove strtol.
21427
21428         strtoull: remove dependency on strtoul
21429         This is like the strtoll change.
21430         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
21431         (Depends-on): Remove strtoul.
21432
21433         strtoll: remove dependency on strtol
21434         This is so that 'configure' need not check for strtol merely because
21435         the application needs strtoll.
21436         * modules/strtoll (Files): Add lib/strtol.c.
21437         (Depends-on): Remove strtol.
21438
21439 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
21440
21441         inttypes: Move some configure check to module 'imaxdiv'.
21442         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
21443         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
21444         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
21445
21446 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
21447
21448         inttypes: Move some configure check to module 'imaxabs'.
21449         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
21450         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
21451         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
21452
21453 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
21454
21455         inttypes: Remove configure tests that are not needed since 2009-12-31.
21456         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
21457         gl_cv_header_working_inttypes_h.
21458
21459 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
21460
21461         * modules/strnlen (Depends-on): Remove memchr.
21462         The strnlen implementation doesn't need the memchr module's fixes; see
21463         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
21464
21465         strtol: remove dependency on wchar
21466         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
21467         * modules/strtol (Depends-on): Remove wchar.
21468
21469 2011-04-21  Eric Blake  <eblake@redhat.com>
21470
21471         passfd: fix test regression on Linux
21472         * modules/passfd-tests (configure.ac): Correct socketpair check.
21473
21474         passfd: speed up configure and drop unused code
21475         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
21476         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
21477         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
21478         Instead of probing at configure for unix_scm_rights_bsd44_way,
21479         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
21480         check to a struct member probe.
21481         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
21482         (sendfd, recvfd): Update preprocessor checks.
21483         * modules/passfd (Files): Reflect rename, and drop unused file.
21484         (Depends-on): Drop unused dependency.
21485
21486         passfd: allow compilation on mingw
21487         * modules/sys_socket (Depends-on): Add sys_uio.
21488         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
21489         iovec and a minimal struct msghdr.
21490         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
21491         * tests/test-sys_socket.c (main): Enhance test.
21492         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
21493         guaranteed to provide what we need.
21494         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
21495         * modules/passfd-tests (Depends-on): Add sys_wait.
21496         * tests/test-passfd.c (main): Skip test on mingw, for now.
21497         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
21498         partial 'struct msghdr' implementation.
21499
21500         sys_uio: new module
21501         * modules/sys_uio: New module.
21502         * modules/sys_uio-tests: Likewise.
21503         * lib/sys_uio.in.h: New file.
21504         * m4/sys_uio_h.m4: Likewise.
21505         * tests/test-sys_uio.c: Likewise.
21506         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
21507         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
21508
21509 2011-04-20  Jim Meyering  <meyering@redhat.com>
21510
21511         useless-if-before-free: avoid false-positive
21512         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
21513         disjunct so that it too requires a terminating ";".  Without that,
21514         this script would identify as useless one statement from gcc that
21515         was not:
21516           if (aligned_ptr)
21517             free (((void **) aligned_ptr) [-1]);
21518
21519 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
21520
21521         doc: update users.txt.
21522         * users.txt: Add barcode.
21523
21524 2011-04-19  Bruno Haible  <bruno@clisp.org>
21525
21526         ioctl: Remove link dependency on native Windows.
21527         * lib/fd-hook.h: Renamed from lib/close-hook.h.
21528         (gl_close_fn, gl_ioctl_fn): New types.
21529         (struct fd_hook): Renamed from struct close_hook. Change type of
21530         private_close_fn field. Add private_ioctl_fn field.
21531         (close_hook_fn): Add parameter for primary close method.
21532         (execute_close_hooks, execute_all_close_hooks): Likewise.
21533         (ioctl_hook_fn): New type.
21534         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
21535         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
21536         argument.
21537         (unregister_fd_hook): Renamed from unregister_close_hook.
21538         * lib/fd-hook.c: Renamed from lib/close-hook.c.
21539         Don't include <unistd.h>.
21540         (close): Remove undef.
21541         (anchor): Update.
21542         (execute_close_hooks): Add argument for primary close method.
21543         (execute_all_close_hooks): Likewise.
21544         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
21545         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
21546         argument. Allow each argument to be NULL.
21547         (unregister_fd_hook): Renamed from unregister_close_hook.
21548         * lib/close.c (rpl_close): Pass 'close' function pointer to
21549         execute_all_close_hooks.
21550         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
21551         (primary_ioctl): New function.
21552         (ioctl): Don't call ioctlsocket here. Instead, call
21553         execute_all_ioctl_hooks.
21554         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
21555         close method.
21556         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
21557         (fd_sockets_hook): Renamed from close_sockets_hook.
21558         (gl_sockets_startup, gl_sockets_cleanup): Update.
21559         * modules/fd-hook: Renamed from modules/close-hook. Update.
21560         * modules/close (Depends-on): Add fd-hook, remove close-hook.
21561         * modules/sockets (Depends-on): Likewise.
21562         * modules/ioctl (Depends-on): Add fd-hook.
21563         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
21564         GNULIB_SOCKET.
21565
21566 2011-04-19  Bruno Haible  <bruno@clisp.org>
21567
21568         Move the support of O_NONBLOCK in open() to the 'open' module.
21569         * modules/nonblocking (Depends-on): Remove 'open'.
21570         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
21571         gl_cv_have_open_O_NONBLOCK.
21572         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
21573         O_NONBLOCK support.
21574         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
21575
21576 2011-04-17  Bruno Haible  <bruno@clisp.org>
21577
21578         pipe2: Simplify code.
21579         * lib/pipe2.c (pipe2): Reduce code duplication.
21580
21581 2011-04-17  Bruno Haible  <bruno@clisp.org>
21582
21583         nonblocking: Add comment.
21584         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
21585
21586 2011-04-17  Bruno Haible  <bruno@clisp.org>
21587
21588         nonblocking: Add tests for sockets.
21589         * tests/test-nonblocking-socket.sh: New file.
21590         * tests/test-nonblocking-socket-main.c: New file.
21591         * tests/test-nonblocking-socket-child.c: New file.
21592         * tests/test-nonblocking-socket.h: New file.
21593         * tests/socket-server.h: New file.
21594         * tests/socket-client.h: New file.
21595         * modules/nonblocking-socket-tests: New file.
21596         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
21597
21598 2011-04-17  Bruno Haible  <bruno@clisp.org>
21599
21600         nonblocking: Add tests for pipes.
21601         * tests/test-nonblocking-pipe.sh: New file.
21602         * tests/test-nonblocking-pipe-main.c: New file.
21603         * tests/test-nonblocking-pipe-child.c: New file.
21604         * tests/test-nonblocking-pipe.h: New file.
21605         * tests/test-nonblocking-writer.h: New file.
21606         * tests/test-nonblocking-reader.h: New file.
21607         * tests/test-nonblocking-misc.h: New file.
21608         * modules/nonblocking-pipe-tests: New file.
21609         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
21610
21611 2011-04-16  Bruno Haible  <bruno@clisp.org>
21612
21613         gettext: Clarify the needed programmer actions.
21614         * modules/gettext (Notice): New field.
21615         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
21616
21617 2011-04-16  Bruno Haible  <bruno@clisp.org>
21618
21619         strchrnul: Tweak last commit.
21620         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
21621         bug.
21622         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
21623         as in _GL_FUNCDECL_SYS.
21624         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
21625         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
21626
21627 2011-04-15  Eric Blake  <eblake@redhat.com>
21628
21629         strchrnul: work around cygwin bug
21630         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
21631         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
21632         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
21633         * modules/string (Makefile.am): Substitute it.
21634         * lib/string.in.h (strchrnul): Use it.
21635
21636 2011-04-15  Bruno Haible  <bruno@clisp.org>
21637
21638         Don't require lib/stdio-write.c when only module 'stdio' is used.
21639         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
21640         invocation.
21641         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
21642
21643 2011-04-14  Bruno Haible  <bruno@clisp.org>
21644
21645         Support non-blocking pipe I/O in read() on native Windows.
21646         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
21647         (read): New declaration.
21648         * lib/read.c: New file.
21649         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
21650         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
21651         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
21652         vscanf): New declarations.
21653         * lib/stdio-read.c: New file.
21654         * m4/read.m4: New file.
21655         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
21656         REPLACE_READ.
21657         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
21658         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
21659         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
21660         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
21661         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
21662         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
21663         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
21664         * modules/read: New file.
21665         * modules/nonblocking (Files): Add lib/stdio-read.c.
21666         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
21667         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
21668         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
21669         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
21670         * modules/pread (Depends-on): Add read.
21671         * modules/safe-read (Depends-on): Likewise.
21672         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
21673         gets, scanf, vfscanf, vscanf): Verify signatures.
21674         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
21675         problem with non-blocking pipes.
21676         * doc/posix-functions/fgetc.texi: Likewise.
21677         * doc/posix-functions/fgets.texi: Likewise.
21678         * doc/posix-functions/fread.texi: Likewise.
21679         * doc/posix-functions/fscanf.texi: Likewise.
21680         * doc/posix-functions/getc.texi: Likewise.
21681         * doc/posix-functions/getchar.texi: Likewise.
21682         * doc/posix-functions/gets.texi: Likewise.
21683         * doc/posix-functions/scanf.texi: Likewise.
21684         * doc/posix-functions/vfscanf.texi: Likewise.
21685         * doc/posix-functions/vscanf.texi: Likewise.
21686
21687 2011-04-14  Bruno Haible  <bruno@clisp.org>
21688
21689         Support non-blocking pipe I/O in write() on native Windows.
21690         * lib/write.c (rpl_write): Split a write request that failed merely
21691         because the byte count was larger than the pipe buffer's size.
21692         * doc/posix-functions/write.texi: Mention the problem with large byte
21693         counts.
21694
21695 2011-04-14  Bruno Haible  <bruno@clisp.org>
21696
21697         wchar: Ensure that wchar_t gets defined on uClibc.
21698         * lib/wchar.in.h: On uClibc, include <stddef.h>.
21699         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
21700
21701 2011-04-13  Bruno Haible  <bruno@clisp.org>
21702
21703         safe-write, full-read: Avoid unnecessary compilation units.
21704         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
21705         (Depends-on): Remove safe-read. Add ssize_t.
21706         * modules/full-read (Files): Add lib/full-write.c.
21707         (Depends-on): Add full-write.
21708
21709 2011-04-13  Bruno Haible  <bruno@clisp.org>
21710
21711         Support non-blocking pipe I/O and SIGPIPE in pwrite().
21712         * modules/pwrite (Depends-on): Add 'write'.
21713
21714 2011-04-13  Bruno Haible  <bruno@clisp.org>
21715
21716         Support non-blocking pipe I/O in write() on native Windows.
21717         * lib/unistd.in.h (write): Enable replacement also if
21718         GNULIB_UNISTD_H_NONBLOCKING is 1.
21719         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
21720         (rpl_write): When failing to write on a non-blocking pipe, change
21721         errno from ENOSPC to EAGAIN.
21722         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
21723         putchar, puts, vfprintf, vprintf): Enable replacement also if
21724         GNULIB_STDIO_H_NONBLOCKING is 1.
21725         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
21726         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
21727         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
21728         CALL_WITH_SIGPIPE_EMULATION.
21729         (CALL_WITH_SIGPIPE_EMULATION): Use them.
21730         * m4/nonblocking.m4: New file.
21731         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
21732         for non-blocking I/O support.
21733         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
21734         GNULIB_UNISTD_H_NONBLOCKING.
21735         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
21736         required for non-blocking I/O support.
21737         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
21738         * modules/nonblocking (Files): Add m4/nonblocking.m4,
21739         lib/stdio-write.c, m4/asm-underscore.m4.
21740         (Depends-on): Add stdio, unistd.
21741         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
21742         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
21743         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
21744         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
21745         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
21746         problem with non-blocking pipes.
21747         * doc/posix-functions/fputc.texi: Likewise.
21748         * doc/posix-functions/fputs.texi: Likewise.
21749         * doc/posix-functions/fwrite.texi: Likewise.
21750         * doc/posix-functions/printf.texi: Likewise.
21751         * doc/posix-functions/putc.texi: Likewise.
21752         * doc/posix-functions/putchar.texi: Likewise.
21753         * doc/posix-functions/puts.texi: Likewise.
21754         * doc/posix-functions/vfprintf.texi: Likewise.
21755         * doc/posix-functions/vprintf.texi: Likewise.
21756         * doc/posix-functions/write.texi: Likewise.
21757
21758 2011-04-10  Jim Meyering  <meyering@redhat.com>
21759
21760         maint.mk: prohibit doubled words
21761         Detect them also when they're separated by a newline.
21762         There are 3 ways to customize it:
21763           - disable the test on a per file basis, as usual with rules using
21764             $(VC_LIST_EXCEPT)
21765           - replace the default doubled-word-selecting regexp (affects all files)
21766           - ignore a particular file-vs-doubled-word match
21767         I nearly used that last one to ignore the "is is" match in
21768         coreutils' NEWS file, since the text was "ls -is is ..."
21769         To do that, I would have added this line to cfg.mk:
21770           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
21771         but it would have ignored any "is is" match in NEWS.
21772         Low probability, but still...
21773         Instead, I changed the text, slightly:
21774           -  ls -is is now consistent with ls -lis in ignoring values returned
21775           +  "ls -is" is now consistent with ls -lis in ignoring values returned
21776         * top/maint.mk (prohibit_double_word_RE_): Provide default.
21777         (prohibit_doubled_word_): Define.
21778         (sc_prohibit_doubled_word): New rule.
21779         (sc_prohibit_the_the): Remove.  Subsumed by the above.
21780
21781 2011-04-10  Jim Meyering  <meyering@redhat.com>
21782
21783         maint: fix doubled-word typo in comment
21784         * m4/gethostname.m4: s/is is/it is/
21785         * m4/getdomainname.m4: Likewise.
21786
21787 2011-04-10  Jim Meyering  <meyering@redhat.com>
21788
21789         maint: remove doubled word: s/it it/it/
21790         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
21791
21792 2011-04-10  Jim Meyering  <meyering@redhat.com>
21793
21794         maint.mk: remove useless semicolon and backslash
21795         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
21796         semicolon and backslash.
21797
21798 2011-04-10  Bruno Haible  <bruno@clisp.org>
21799
21800         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
21801         * modules/stdint-tests (Depends-on): Add wchar.
21802
21803 2011-04-10  Jim Meyering  <meyering@redhat.com>
21804
21805         maint: remove doubled words in comments, e.g., s/a a/a/
21806         * lib/strptime.c (day_of_the_week): s/the the/the/
21807         * tests/test-chown.h (test_chown): s/a a/a/
21808
21809         test-chown.h: correct a cast
21810         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
21811         when the destination is a stat.st_gid.
21812
21813 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
21814
21815         getaddrinfo: Fix test for sa_len member.
21816         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
21817         include <sys/types.h> before <sys/socket.h>.
21818
21819 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
21820
21821         maint: change "can not" to "cannot"
21822         * doc/posix-functions/iconv.texi (iconv): This one crossed line
21823         boundaries.
21824
21825 2011-04-09  Jim Meyering  <meyering@redhat.com>
21826
21827         maint: change "a a" to "a"
21828         * tests/test-lchown.h (test_lchown): s/a a/a/
21829
21830         maint.mk: prohibit \<the the\>
21831         * top/maint.mk (sc_prohibit_the_the): New rule.
21832
21833         maint: fix "the the" in comment
21834         * lib/count-one-bits.h: s/the the/the/
21835
21836         maint: change "can not" to "cannot"
21837         But do not change the occurrences in maintain.texi or in
21838         build-aux/po/Makefile.in.in, which I presume comes from gettext.
21839         * doc/gnulib-tool.texi: s/can not/cannot/
21840         * doc/posix-functions/accept.texi (accept): Likewise.
21841         * doc/posix-functions/socket.texi (socket): Likewise.
21842         * lib/mbrtowc.c: Likewise.
21843
21844         maint.mk: prohibit use of "can not"
21845         * top/maint.mk (sc_prohibit_can_not): New rule.
21846         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
21847
21848 2011-04-09  Bruno Haible  <bruno@clisp.org>
21849
21850         careadlinkat: Guard against misuse of careadlinkatcwd.
21851         * lib/careadlinkat.c: Include <stdlib.h>.
21852         (careadlinkatcwd): Check that the fd argument is as expected.
21853
21854 2011-04-09  Bruno Haible  <bruno@clisp.org>
21855
21856         careadlinkat: Use common coding style.
21857         * lib/careadlinkat.c: Move gnulib includes after system includes.
21858
21859 2011-04-09  Bruno Haible  <bruno@clisp.org>
21860
21861         careadlinkat: Clarify specification.
21862         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
21863         (careadlinkatcwd): Add comment.
21864         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
21865
21866 2011-04-09  Bruno Haible  <bruno@clisp.org>
21867
21868         areadlinkat: Avoid link error on many platforms.
21869         * modules/areadlinkat (Depends-on): Add areadlink.
21870
21871 2011-04-09  Bruno Haible  <bruno@clisp.org>
21872
21873         allocator, careadlinkat: Fix double-inclusion guard.
21874         * lib/allocator.h: Fix double-inclusion guard.
21875         * lib/careadlinkat.h: Likewise.
21876
21877 2011-04-09  Bruno Haible  <bruno@clisp.org>
21878
21879         relocatable-prog-wrapper: Update after module 'areadlink' changed.
21880         * lib/relocwrapper.c: Update dependencies hierarchy.
21881         * build-aux/install-reloc: Update list of files to be compiled.
21882         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
21883         lib/allocator.[hc].
21884
21885 2011-04-08  Eric Blake  <eblake@redhat.com>
21886
21887         strftime: silence gnulib-tool warning
21888         * modules/strftime-tests (Depends-on): Drop automatic dependency.
21889
21890 2011-04-08  Bruno Haible  <bruno@clisp.org>
21891
21892         verify: Fix syntax error with GCC 4.6 in C++ mode.
21893         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
21894         (HAVE_STATIC_ASSERT): New macro.
21895         (verify_true, verify): Use 'static_assert' if it is supported and
21896         '_Static_assert' is not supported.
21897
21898 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
21899
21900         allocator: New module.
21901         * modules/allocator, lib/allocator.c: New files.
21902         * lib/allocator.h (stdlib_allocator): New decl.
21903         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
21904         Remove.  Do not include <stdlib.h>.
21905         (careadlinkat): Use stdlib_allocator instead of rolling our own.
21906         * modules/careadlinkat (Files): Remove lib/allocator.h.
21907         (Depends-on): Add allocator.
21908
21909         stdlib: let modules use system malloc, realloc
21910         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
21911         if !_GL_USE_STDLIB_ALLOC.
21912         (malloc, realloc): Limit this change to a smaller scope.
21913
21914         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
21915         (malloc, realloc): Don't #undef; no longer needed.
21916         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
21917         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
21918         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
21919         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
21920         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
21921         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
21922         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
21923         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
21924
21925         careadlinkat: rename members to avoid problem
21926         * lib/allocator.h (struct allocator): Rename members from
21927         malloc/realloc to allocate/reallocate, to avoid problems if malloc
21928         and realloc are #define'd.  Reported by Eric Blake in
21929         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
21930         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
21931
21932 2011-04-08  Eric Blake  <eblake@redhat.com>
21933
21934         nonblocking: reduce dependency
21935         * tests/test-nonblocking.c: Only test sockets when in use.
21936         * modules/nonblocking-tests (Depends-on): Drop socket.
21937         (Makefile.am): Link even if sockets are not present.
21938         * modules/pipe2-tests (Makefile.am): Likewise.
21939         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
21940
21941         pipe2: fix O_NONBLOCK support on mingw
21942         * modules/pipe2 (Depends-on): Add nonblocking.
21943         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
21944         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
21945         * tests/test-nonblocking.c (main): Likewise.
21946         * modules/pipe2-tests (Makefile.am): Avoid link failure.
21947
21948         fcntl-h: fix O_ACCMODE on cygwin
21949         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
21950         * lib/fcntl.in.h (O_ACCMODE): Fix it.
21951
21952         pipe-filter: drop O_NONBLOCK workarounds
21953         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
21954         * modules/pipe-filter-ii (Depends-on): Likewise.
21955         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
21956
21957         nonblocking: provide O_NONBLOCK for mingw
21958         * modules/nonblocking (Depends-on): Add open.
21959         (configure.ac): Set new witness macro.
21960         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
21961         * modules/fcntl-h (Makefile.am): Substitute it.
21962         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
21963         nonblocking module is in use.
21964         * lib/nonblocking.c: Adjust portability test.
21965         * lib/open.c (open): Don't let native open see gnulib flag.
21966         * tests/test-fcntl-h.c (main): Enhance test.
21967         * tests/test-open.h (test_open): Likewise.
21968         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
21969
21970         careadlinkat: fix compilation error on mingw
21971         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
21972         within struct allocator.
21973
21974 2011-04-06  Eric Blake  <eblake@redhat.com>
21975
21976         binary-io: relicense under LGPLv2+
21977         * modules/binary-io (License): Relax to LGPLv2+.
21978         Requested for libvirt, and required by pipe2.
21979
21980 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
21981
21982         verify: use _Static_assert if available
21983         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
21984         (verify_true, verify): Use it if available.  This generates better
21985         diagnostics with GCC 4.6.0 and later.
21986
21987 2011-04-05  Bruno Haible  <bruno@clisp.org>
21988
21989         Remove leftover generated .h files after config.status changed.
21990
21991         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
21992         GL_GENERATE_ALLOCA_H.
21993         * modules/alloca-opt (Makefile.am): Remove alloca.h if
21994         GL_GENERATE_ALLOCA_H evaluates to false.
21995
21996         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
21997         GL_GENERATE_ARGZ_H.
21998         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
21999         evaluates to false.
22000
22001         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
22002         GL_GENERATE_BYTESWAP_H.
22003         * modules/byteswap (Makefile.am): Remove byteswap.h if
22004         GL_GENERATE_BYTESWAP_H evaluates to false.
22005
22006         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
22007         GL_GENERATE_ERRNO_H.
22008         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
22009         evaluates to false.
22010
22011         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
22012         GL_GENERATE_FLOAT_H.
22013         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
22014         evaluates to false.
22015
22016         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
22017         GL_GENERATE_FNMATCH_H.
22018         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
22019         GL_GENERATE_FNMATCH_H evaluates to false.
22020
22021         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
22022         GL_GENERATE_GLOB_H.
22023         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
22024         evaluates to false.
22025
22026         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
22027         automake conditional GL_GENERATE_ICONV_H.
22028         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
22029         evaluates to false.
22030
22031         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
22032         GL_GENERATE_NETINET_IN_H.
22033         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
22034         GL_GENERATE_NETINET_IN_H evaluates to false.
22035
22036         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
22037         conditional GL_GENERATE_PTHREAD_H.
22038         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
22039         * modules/pthread (Makefile.am): Remove pthread.h if
22040         GL_GENERATE_PTHREAD_H evaluates to false.
22041
22042         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
22043         GL_GENERATE_SCHED_H.
22044         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
22045         evaluates to false.
22046
22047         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
22048         conditional GL_GENERATE_SELINUX_CONTEXT_H.
22049         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
22050         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
22051
22052         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
22053         GL_GENERATE_STDARG_H.
22054         * modules/stdarg (Makefile.am): Remove stdarg.h if
22055         GL_GENERATE_STDARG_H evaluates to false.
22056
22057         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
22058         GL_GENERATE_STDBOOL_H.
22059         * modules/stdbool (Makefile.am): Remove stdbool.h if
22060         GL_GENERATE_STDBOOL_H evaluates to false.
22061
22062         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
22063         conditional GL_GENERATE_STDDEF_H.
22064         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
22065         * modules/stddef (Makefile.am): Remove stddef.h if
22066         GL_GENERATE_STDDEF_H evaluates to false.
22067
22068         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
22069         GL_GENERATE_STDINT_H.
22070         * modules/stdint (Makefile.am): Remove stdint.h if
22071         GL_GENERATE_STDINT_H evaluates to false.
22072
22073         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
22074         GL_GENERATE_SYSEXITS_H.
22075         * modules/sysexits (Makefile.am): Remove sysexits.h if
22076         GL_GENERATE_SYSEXITS_H evaluates to false.
22077
22078         Reported by Karl Berry and Ralf Wildenhues.
22079
22080 2011-04-05  Bruno Haible  <bruno@clisp.org>
22081
22082         Ensure to rebuild generated .h files when config.status has changed.
22083         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
22084         config.status.
22085         * modules/ctype (Makefile.am): Likewise.
22086         * modules/dirent (Makefile.am): Likewise.
22087         * modules/errno (Makefile.am): Likewise.
22088         * modules/fcntl-h (Makefile.am): Likewise.
22089         * modules/float (Makefile.am): Likewise.
22090         * modules/getopt-posix (Makefile.am): Likewise.
22091         * modules/glob (Makefile.am): Likewise.
22092         * modules/iconv-h (Makefile.am): Likewise.
22093         * modules/inttypes (Makefile.am): Likewise.
22094         * modules/langinfo (Makefile.am): Likewise.
22095         * modules/locale (Makefile.am): Likewise.
22096         * modules/math (Makefile.am): Likewise.
22097         * modules/netdb (Makefile.am): Likewise.
22098         * modules/netinet_in (Makefile.am): Likewise.
22099         * modules/poll-h (Makefile.am): Likewise.
22100         * modules/pthread (Makefile.am): Likewise.
22101         * modules/pty (Makefile.am): Likewise.
22102         * modules/sched (Makefile.am): Likewise.
22103         * modules/search (Makefile.am): Likewise.
22104         * modules/selinux-h (Makefile.am): Likewise.
22105         * modules/signal (Makefile.am): Likewise.
22106         * modules/spawn (Makefile.am): Likewise.
22107         * modules/stdarg (Makefile.am): Likewise.
22108         * modules/stdbool (Makefile.am): Likewise.
22109         * modules/stddef (Makefile.am): Likewise.
22110         * modules/stdint (Makefile.am): Likewise.
22111         * modules/stdio (Makefile.am): Likewise.
22112         * modules/stdlib (Makefile.am): Likewise.
22113         * modules/string (Makefile.am): Likewise.
22114         * modules/strings (Makefile.am): Likewise.
22115         * modules/sys_file (Makefile.am): Likewise.
22116         * modules/sys_ioctl (Makefile.am): Likewise.
22117         * modules/sys_select (Makefile.am): Likewise.
22118         * modules/sys_socket (Makefile.am): Likewise.
22119         * modules/sys_stat (Makefile.am): Likewise.
22120         * modules/sys_time (Makefile.am): Likewise.
22121         * modules/sys_times (Makefile.am): Likewise.
22122         * modules/sys_utsname (Makefile.am): Likewise.
22123         * modules/sys_wait (Makefile.am): Likewise.
22124         * modules/sysexits (Makefile.am): Likewise.
22125         * modules/termios (Makefile.am): Likewise.
22126         * modules/time (Makefile.am): Likewise.
22127         * modules/unistd (Makefile.am): Likewise.
22128         * modules/wchar (Makefile.am): Likewise.
22129         * modules/wctype-h (Makefile.am): Likewise.
22130         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
22131
22132 2011-04-05  Bruno Haible  <bruno@clisp.org>
22133
22134         pipe2: Relicense under LGPLv2+.
22135         * modules/pipe2 (License): Change to LGPLv2+.
22136         Requested by Eric Blake, for libvirt.
22137
22138 2011-04-05  Bruce Korb  <bkorb@gnu.org>
22139
22140         bootstrap: compute gnulib_extra_files after updating build_aux
22141         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
22142         change build_aux or also supply gnulib_extra_files.  Handle correctly.
22143
22144 2011-04-05  Eric Blake  <eblake@redhat.com>
22145
22146         bootstrap: preserve git whitelist item sorting
22147         * build-aux/bootstrap (sort_patterns): New function.
22148         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
22149
22150 2011-04-05  Simon Josefsson  <simon@josefsson.org>
22151
22152         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
22153         sc_space_tab check.
22154
22155 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
22156
22157         areadlink, areadlinkat: rewrite in terms of careadlinkat
22158         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
22159         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
22160         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
22161         (malloc, realloc): Remove #undefs.
22162         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
22163         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
22164         readlink, ssize_t, stdint, unistd.
22165         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
22166         areadlink, stdint.
22167
22168         careadlinkat: new module
22169         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
22170         * modules/careadlinkat: New files, written by me with
22171         a review and feedback from Ben Pfaff in
22172         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
22173
22174 2011-04-01  Bruno Haible  <bruno@clisp.org>
22175
22176         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
22177         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
22178         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
22179         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
22180         Reported by Bruce Korb <bruce.korb@gmail.com>.
22181
22182 2011-04-01  Bruno Haible  <bruno@clisp.org>
22183
22184         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
22185         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
22186         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
22187         * modules/wcpcpy (Depends-on): Add extensions.
22188         * modules/wcpncpy (Depends-on): Likewise.
22189         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
22190         systems.
22191         * doc/posix-functions/wcpncpy.texi: Likewise.
22192         * doc/posix-functions/wcwidth.texi: Likewise.
22193
22194 2011-03-31  Eric Blake  <eblake@redhat.com>
22195
22196         nonblocking: fix mingw test failures
22197         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
22198         non-blocking flag on regular file.
22199         (get_nonblocking_flag): Set errno on invalid fd.
22200         * tests/test-nonblocking.c (main): Avoid test failure on
22201         directories if fchdir is not active.
22202         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
22203
22204 2011-03-31  Bruno Haible  <bruno@clisp.org>
22205
22206         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
22207         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
22208         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
22209         Reported by Simon Josefsson <simon@josefsson.org>.
22210
22211 2011-03-31  Bruno Haible  <bruno@clisp.org>
22212         and Eric Blake  <eblake@redhat.com>
22213
22214         nonblocking: new module
22215         * modules/nonblocking: New module.
22216         * modules/nonblocking-tests: Likewise.
22217         * lib/nonblocking.h: New file.
22218         * lib/nonblocking.c: Likewise.
22219         * tests/test-nonblocking.c: New test.
22220         * lib/ioctl.c (ioctl) [mingw]: Update comment.
22221
22222 2011-03-30  Bruno Haible  <bruno@clisp.org>
22223
22224         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
22225         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
22226         instead of 'printf' format for GCC >= 4.4.
22227         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
22228         (fprintf, printf, vfprintf, vprintf): Declare with
22229         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
22230         the system's vfprintf() function.
22231         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
22232
22233 2011-03-30  Eric Blake  <eblake@redhat.com>
22234
22235         passfd: fix scoping bug
22236         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
22237         before sendmsg/recvmsg.
22238
22239         passfd: standardize coding conventions
22240         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
22241         can be learned at compile time.
22242         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
22243         ifdefs.
22244         (sendfd, recvfd): Follow gnulib code conventions.
22245
22246         passfd: fix incorrect sendmsg arguments
22247         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
22248         incorrect msg_controllen value.
22249         * modules/passfd-tests (Depends-on): Check for alarm.
22250         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
22251         Reported by Bastien ROUCARIES.
22252
22253 2011-03-30  Bruno Haible  <bruno@clisp.org>
22254
22255         c-strcasestr: Relicense under LGPLv2+.
22256         * modules/c-strcasestr (License): Change to LGPLv2+.
22257         Requested by Eric Blake, for libvirt.
22258
22259 2011-03-30  Simon Josefsson  <simon@josefsson.org>
22260
22261         * users.txt: Add libidn2.  Fix libtasn1 link.
22262
22263 2011-03-30  Jim Meyering  <meyering@redhat.com>
22264
22265         tests: readlink* ("",... fails with EINVAL on newer kernels
22266         readlink and readlinkat have typically failed with ENOENT for
22267         the invalid, empty file name,  "".  However, with the advent
22268         of linux-2.6.39, they fail with EINVAL.
22269         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
22270         when operating on the empty file name.
22271         * tests/test-readlink.h (test_readlink): Likewise.
22272
22273 2011-03-29  Bruno Haible  <bruno@clisp.org>
22274
22275         Relicense some modules under LGPLv2+, for libidn2.
22276         * modules/array-mergesort (License): Change to LGPLv2+.
22277         * modules/c-strcaseeq (License): Likewise.
22278         * modules/striconveh (License): Likewise.
22279         * modules/striconveha (License): Likewise.
22280         * modules/uniconv/base (License): Likewise.
22281         * modules/uniconv/u8-conv-from-enc (License): Likewise.
22282         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
22283         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
22284         * modules/unictype/base (License): Likewise.
22285         * modules/unictype/bidiclass-of (License): Likewise.
22286         * modules/unictype/category-M (License): Likewise.
22287         * modules/unictype/category-none (License): Likewise.
22288         * modules/unictype/category-of (License): Likewise.
22289         * modules/unictype/category-test (License): Likewise.
22290         * modules/unictype/category-test-withtable (License): Likewise.
22291         * modules/unictype/combining-class (License): Likewise.
22292         * modules/unictype/joiningtype-of (License): Likewise.
22293         * modules/unictype/scripts (License): Likewise.
22294         * modules/uninorm/base (License): Likewise.
22295         * modules/uninorm/canonical-decomposition (License): Likewise.
22296         * modules/uninorm/composition (License): Likewise.
22297         * modules/uninorm/decompose-internal (License): Likewise.
22298         * modules/uninorm/decomposition-table (License): Likewise.
22299         * modules/uninorm/nfc (License): Likewise.
22300         * modules/uninorm/nfd (License): Likewise.
22301         * modules/uninorm/u32-normalize (License): Likewise.
22302         * modules/unistr/base (License): Likewise.
22303         * modules/unistr/u32-cpy (License): Likewise.
22304         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
22305         * modules/unistr/u32-to-u8 (License): Likewise.
22306         * modules/unistr/u32-uctomb (License): Likewise.
22307         * modules/unistr/u8-check (License): Likewise.
22308         * modules/unistr/u8-mblen (License): Likewise.
22309         * modules/unistr/u8-mbtouc (License): Likewise.
22310         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
22311         * modules/unistr/u8-mbtoucr (License): Likewise.
22312         * modules/unistr/u8-prev (License): Likewise.
22313         * modules/unistr/u8-strlen (License): Likewise.
22314         * modules/unistr/u8-to-u32 (License): Likewise.
22315         * modules/unistr/u8-uctomb (License): Likewise.
22316         * modules/unitypes (License): Likewise.
22317         Requested by Simon Josefsson.
22318
22319 2011-03-29  Simon Josefsson  <simon@josefsson.org>
22320
22321         lib-symbol-visibility: Add a notice.
22322         * modules/lib-symbol-visibility (Notice): New field.
22323
22324 2011-03-29  Bruno Haible  <bruno@clisp.org>
22325
22326         getaddrinfo: Doc fix.
22327         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
22328         section "fixed in Gnulib".
22329
22330 2011-03-28  Simon Josefsson  <simon@josefsson.org>
22331
22332         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
22333         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
22334
22335 2011-03-26  Bruno Haible  <bruno@clisp.org>
22336
22337         unictype/property-byname: Reduce the number of load-time relocations.
22338         * lib/unictype/pr_byname.c: Include <stdlib.h>.
22339         (UC_PROPERTY_INDEX_*): New enumeration values.
22340         (uc_property_byname): Convert an index from the lookup table to an
22341         uc_property_t.
22342         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
22343         values.
22344
22345 2011-03-26  Bruno Haible  <bruno@clisp.org>
22346
22347         unictype/property-byname: Allow omitted word separators and aliases.
22348         * lib/unictype/pr_byname.gperf: Add property names without word
22349         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
22350         for 'space'.
22351
22352 2011-03-26  Bruno Haible  <bruno@clisp.org>
22353
22354         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
22355         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
22356         also hyphens to space.
22357         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
22358         without spaces.
22359         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
22360
22361 2011-03-26  Bruno Haible  <bruno@clisp.org>
22362
22363         unictype/joiningtype-byname: Recognize long names as well.
22364         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
22365         a long name.
22366         * lib/unictype/joiningtype_byname.c: Include <string.h>,
22367         unictype/joiningtype_byname.h.
22368         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
22369         * lib/unictype/joiningtype_byname.gperf: New file.
22370         * modules/unictype/joiningtype-byname (Files): Add
22371         lib/unictype/joiningtype_byname.gperf.
22372         (Depends-on): Add gperf.
22373         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
22374         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
22375         long names.
22376
22377         Tests for module 'unictype/joiningtype-longname'.
22378         * modules/unictype/joiningtype-longname-tests: New file.
22379         * tests/unictype/test-joiningtype_longname.c: New file.
22380
22381         New module 'unictype/joiningtype-longname'.
22382         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
22383         * lib/unictype/joiningtype_longname.c: New file.
22384         * modules/unictype/joiningtype-longname: New file.
22385         * modules/unictype/joiningtype-all (Depends-on): Add
22386         unictype/joiningtype-longname.
22387
22388 2011-03-26  Bruno Haible  <bruno@clisp.org>
22389
22390         unictype/bidiclass-byname: Recognize long names as well.
22391         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
22392         name.
22393         * lib/unictype/bidi_byname.c: Include <string.h>,
22394         unictype/bidi_byname.h.
22395         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
22396         * lib/unictype/bidi_byname.gperf: New file.
22397         * modules/unictype/bidiclass-byname (Files): Add
22398         lib/unictype/bidi_byname.gperf.
22399         (Depends-on): Add gperf.
22400         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
22401         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
22402         long names.
22403
22404         Tests for module 'unictype/bidiclass-longname'.
22405         * modules/unictype/bidiclass-longname-tests: New file.
22406         * tests/unictype/test-bidi_longname.c: New file.
22407
22408         New module 'unictype/bidiclass-longname'.
22409         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
22410         * lib/unictype/bidi_longname.c: New file.
22411         * modules/unictype/bidiclass-longname: New file.
22412         * modules/unictype/bidiclass-all (Depends-on): Add
22413         unictype/bidiclass-longname.
22414
22415 2011-03-26  Bruno Haible  <bruno@clisp.org>
22416
22417         unictype/bidi*: Rename modules.
22418         * modules/unictype/bidiclass-all: Renamed from
22419         modules/unictype/bidicategory-all.
22420         * modules/unictype/bidiclass-name: Renamed from
22421         modules/unictype/bidiclass-name.
22422         (Description): Update.
22423         * modules/unictype/bidiclass-name-tests: Renamed from
22424         modules/unictype/bidicategory-name-tests.
22425         * modules/unictype/bidiclass-byname: Renamed from
22426         modules/unictype/bidicategory-byname.
22427         (Description): Update.
22428         * modules/unictype/bidiclass-byname-tests: Renamed from
22429         modules/unictype/bidicategory-byname-tests.
22430         * modules/unictype/bidiclass-of: Renamed from
22431         modules/unictype/bidicategory-of.
22432         (Description): Update.
22433         * modules/unictype/bidiclass-of-tests: Renamed from
22434         modules/unictype/bidicategory-of-tests.
22435         * modules/unictype/bidiclass-test: Renamed from
22436         modules/unictype/bidicategory-test.
22437         (Description): Update.
22438         * modules/unictype/bidiclass-test-tests: Renamed from
22439         modules/unictype/bidicategory-test-tests.
22440         * modules/unictype/bidicategory-all: New file, a simple redirection.
22441         * modules/unictype/bidicategory-name: Likewise.
22442         * modules/unictype/bidicategory-byname: Likewise.
22443         * modules/unictype/bidicategory-of: Likewise.
22444         * modules/unictype/bidicategory-test: Likewise.
22445         * modules/unictype/property-bidi-* (Dependencies): Update.
22446         * lib/unictype/bidi_*.c: Update comment.
22447
22448 2011-03-26  Bruno Haible  <bruno@clisp.org>
22449
22450         unictype/bidi*: Rename functions, part 2.
22451         * modules/unictype/bidicategory-name (configure.ac): Update required
22452         libunistring version.
22453         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
22454
22455 2011-03-25  Bruno Haible  <bruno@clisp.org>
22456
22457         New module 'unictype/combining-class-all'.
22458         * modules/unictype/combining-class-all: New file.
22459
22460         Tests for module 'unictype/combining-class-byname'.
22461         * modules/unictype/combining-class-byname-tests: New file.
22462         * tests/unictype/test-combiningclass_byname.c: New file.
22463
22464         New module 'unictype/combining-class-byname'.
22465         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
22466         * lib/unictype/combiningclass_byname.c: New file.
22467         * lib/unictype/combiningclass_byname.gperf: New file.
22468         * modules/unictype/combining-class-byname: New file.
22469
22470         Tests for module 'unictype/combining-class-longname'.
22471         * modules/unictype/combining-class-longname-tests: New file.
22472         * tests/unictype/test-combiningclass_longname.c: New file.
22473
22474         New module 'unictype/combining-class-longname'.
22475         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
22476         * lib/unictype/combiningclass_longname.c: New file.
22477         * modules/unictype/combining-class-longname: New file.
22478
22479         Tests for module 'unictype/combining-class-name'.
22480         * modules/unictype/combining-class-name-tests: New file.
22481         * tests/unictype/test-combiningclass_name.c: New file.
22482
22483         New module 'unictype/combining-class-name'.
22484         * lib/unictype.in.h (uc_combining_class_name): New declaration.
22485         * lib/unictype/combiningclass_name.c: New file.
22486         * modules/unictype/combining-class-name: New file.
22487
22488 2011-03-25  Bruno Haible  <bruno@clisp.org>
22489
22490         unictype/combining-class: Rename source files.
22491         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
22492         of unictype/combining.h.
22493         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
22494         Update.
22495         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
22496         * modules/unictype/combining-class (Description): Fix.
22497         (Files, Makefile.am): Update.
22498         * tests/unictype/test-combiningclass.c: Renamed from
22499         tests/unictype/test-combining.c.
22500         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
22501
22502 2011-03-25  Bruno Haible  <bruno@clisp.org>
22503
22504         unictype: Update list of canonical combining classes.
22505         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
22506
22507 2011-03-25  Bruno Haible  <bruno@clisp.org>
22508
22509         unictype/category-byname: Recognize long names as well.
22510         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
22511         a long name.
22512         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
22513         unictype/categ_byname.h.
22514         (UC_CATEGORY_INDEX_*): New enumeration values.
22515         (uc_general_category_byname): Use uc_general_category_lookup and
22516         convert from index to value.
22517         * lib/unictype/categ_byname.gperf: New file.
22518         * modules/unictype/category-byname (Files): Add
22519         lib/unictype/categ_byname.gperf.
22520         (Depends-on): Add gperf.
22521         (Makefile.am): Add rule for generating unictype/categ_byname.h.
22522         * tests/unictype/test-categ_byname.c (main): Test the recognition of
22523         long names.
22524
22525         Tests for module 'unictype/category-longname'.
22526         * modules/unictype/category-longname-tests: New file.
22527         * tests/unictype/test-categ_longname.c: New file.
22528
22529         New module 'unictype/category-longname'.
22530         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
22531         * lib/unictype/categ_longname.c: New file.
22532         * modules/unictype/category-longname: New file.
22533         * modules/unictype/category-all (Depends-on): Add it.
22534
22535 2011-03-25  Bruno Haible  <bruno@clisp.org>
22536
22537         Tests for module 'unictype/category-LC'.
22538         * modules/unictype/category-LC-tests: New file.
22539         * tests/unictype/test-categ_LC.c: New file, automatically generated.
22540
22541         New module 'unictype/category-LC'.
22542         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
22543         (UC_CATEGORY_LC): New declaration.
22544         (UC_CASED_LETTER): New macro.
22545         * lib/gen-uni-tables.c (is_category_LC): New function.
22546         (output_categories): Also handle category LC.
22547         (UC_CATEGORY_MASK_LC): New enumeration value.
22548         (general_category_byname): Also handle category LC.
22549         * lib/unictype/categ_LC.c: New file.
22550         * lib/unictype/categ_LC.h: New file, automatically generated.
22551         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
22552         category LC.
22553         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
22554         * modules/unictype/category-LC: New file.
22555         * modules/unictype/category-byname (Depends-on): Add
22556         unictype/category-LC.
22557         * modules/unictype/category-all (Depends-on): Likewise.
22558
22559 2011-03-25  Eric Blake  <eblake@redhat.com>
22560
22561         xmalloc: revert yesterday's regression
22562         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
22563         realloc's underlying behavior (allowing allocation of zero-size
22564         objects, especially if malloc-gnu is also in use).
22565
22566 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
22567
22568         maint.mk: add missing version to VC-tag
22569         * top/maint.mk: git tag was missing actual tag name; add it.
22570
22571         valgrind: do leak checking, and exit with code 1 on error (not 0)
22572         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
22573         to VALGRIND.
22574
22575 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
22576
22577         posix-modules: say what it does.
22578         * posix-modules: Add a line to the --help output saying what it does.
22579
22580 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
22581
22582         xmalloc: Do not leak if underlying realloc is C99 compatible.
22583         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
22584         This avoids a leak on C99-based systems.  See
22585         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
22586
22587 2011-03-24  Eric Blake  <eblake@redhat.com>
22588
22589         realloc: document portability problem
22590         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
22591         passing 0 size to realloc.
22592
22593 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
22594
22595         doc: update users.txt
22596         * users.txt: Add cvsps, tmpwatch
22597
22598 2011-03-23  Matt Rice  <ratmice@gmail.com>
22599
22600         doc: update users.txt
22601         * users.txt: Add gdb.
22602
22603 2011-03-23  Jim Meyering  <meyering@redhat.com>
22604
22605         doc: update users.txt
22606         Looking through matches up to the following URL (there are still
22607         several more pages), I found several projects that use gnulib:
22608         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
22609         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
22610         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
22611
22612 2011-03-22  Bruno Haible  <bruno@clisp.org>
22613
22614         unictype/bidi*: Rename functions.
22615         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
22616         uc_bidi_class, uc_is_bidi_class): New declarations.
22617         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
22618         uc_bidi_category_byname.
22619         (uc_bidi_category_byname): New function.
22620         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
22621         u_bidi_category_name.
22622         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
22623         (uc_bidi_category_name): New function.
22624         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
22625         uc_bidi_category.
22626         (uc_bidi_category): New function.
22627         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
22628         uc_is_bidi_category. Invoke uc_bidi_class.
22629         (uc_is_bidi_category): New function.
22630         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
22631         instead of uc_bidi_category_byname.
22632         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
22633         instead of uc_bidi_category_name.
22634         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
22635         uc_bidi_category.
22636         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
22637         instead of uc_is_bidi_category.
22638
22639 2011-03-21  Bruno Haible  <bruno@clisp.org>
22640
22641         New module 'unictype/joininggroup-all'.
22642         * modules/unictype/joininggroup-all: New file.
22643
22644         Tests for module 'unictype/joininggroup-of'.
22645         * modules/unictype/joininggroup-of-tests: New file.
22646         * tests/unictype/test-joininggroup_of.c: New file.
22647         * tests/unictype/test-joininggroup_of.h: New file, automatically
22648         generated by gen-uni-tables.
22649
22650         New module 'unictype/joininggroup-of'.
22651         * modules/unictype/joininggroup-of: New file.
22652         * lib/unictype/joininggroup_of.c: New file.
22653         * lib/unictype/joininggroup_of.h: New file, automatically generated by
22654         gen-uni-tables.
22655
22656         Tests for module 'unictype/joininggroup-byname'.
22657         * modules/unictype/joininggroup-byname-tests: New file.
22658         * tests/unictype/test-joininggroup_byname.c: New file.
22659
22660         New module 'unictype/joininggroup-byname'.
22661         * modules/unictype/joininggroup-byname: New file.
22662         * lib/unictype/joininggroup_byname.c: New file.
22663         * lib/unictype/joininggroup_byname.gperf: New file.
22664
22665         Tests for module 'unictype/joininggroup-name'.
22666         * modules/unictype/joininggroup-name-tests: New file.
22667         * tests/unictype/test-joininggroup_name.c: New file.
22668
22669         New module 'unictype/joininggroup-name'.
22670         * modules/unictype/joininggroup-name: New file.
22671         * lib/unictype/joininggroup_name.c: New file.
22672         * lib/unictype/joininggroup_name.h: New file.
22673
22674         New module 'unictype/joiningtype-all'.
22675         * modules/unictype/joiningtype-all: New file.
22676
22677         Tests for module 'unictype/joiningtype-of'.
22678         * modules/unictype/joiningtype-of-tests: New file.
22679         * tests/unictype/test-joiningtype_of.c: New file.
22680         * tests/unictype/test-joiningtype_of.h: New file, automatically
22681         generated by gen-uni-tables.
22682
22683         New module 'unictype/joiningtype-of'.
22684         * modules/unictype/joiningtype-of: New file.
22685         * lib/unictype/joiningtype_of.c: New file.
22686         * lib/unictype/joiningtype_of.h: New file, automatically generated by
22687         gen-uni-tables.
22688
22689         Tests for module 'unictype/joiningtype-byname'.
22690         * modules/unictype/joiningtype-byname-tests: New file.
22691         * tests/unictype/test-joiningtype_byname.c: New file.
22692
22693         New module 'unictype/joiningtype-byname'.
22694         * modules/unictype/joiningtype-byname: New file.
22695         * lib/unictype/joiningtype_byname.c: New file.
22696
22697         Tests for module 'unictype/joiningtype-name'.
22698         * modules/unictype/joiningtype-name-tests: New file.
22699         * tests/unictype/test-joiningtype_name.c: New file.
22700
22701         New module 'unictype/joiningtype-name'.
22702         * modules/unictype/joiningtype-name: New file.
22703         * lib/unictype/joiningtype_name.c: New file.
22704
22705         unictype: Add support for Arabic shaping properties.
22706         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
22707         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
22708         declarations.
22709         (UC_JOINING_GROUP_*): New enumeration values.
22710         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
22711         declarations.
22712         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
22713         (unicode_joining_type): New variable.
22714         (UC_JOINING_GROUP_*): New enumeration values.
22715         (unicode_joining_group): New variable.
22716         (fill_arabicshaping, joining_type_as_c_identifier,
22717         output_joining_type_test, output_joining_type,
22718         joining_group_as_c_identifier, output_joining_group_test,
22719         output_joining_group): New functions.
22720         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
22721         fill_arabicshaping and output_joining_type_test, output_joining_type,
22722         output_joining_group_test, output_joining_group.
22723         Reported by Simon Josefsson.
22724
22725 2011-03-21  Jim Meyering  <meyering@redhat.com>
22726
22727         strftime: fix a bug in yesterday's change
22728         * lib/strftime.c (add): Accommodate width's initial value of -1.
22729         Otherwise, nstrftime would copy uninitialized data into
22730         the result buffer.
22731
22732 2011-03-21  Jim Meyering  <meyering@redhat.com>
22733
22734         tests: add strftime-tests module
22735         * tests/test-strftime.c: New file.
22736         * modules/strftime-tests: New module.
22737
22738 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
22739
22740         strftime: don't assume a byte count fits in 'int'
22741         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
22742         found this problem by static analysis, using gcc -Wstrict-overflow
22743         (GCC 4.5.2, x86-64).  This reported an optimization that depended
22744         on an integer overflow having undefined behavior, but it turns out
22745         that the argument is a size, which might not fit in 'int' anyway,
22746
22747 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
22748
22749         stdio: don't require ignore_value around fwrite
22750
22751         This patch works around libc bug 11959
22752         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
22753         Without this patch, applications must often write
22754         ignore_value (fwrite (...)) even though the ignore_value is
22755         not helpful here.  It's common to write many objects, using
22756         fwrite/printf/etc., and then use ferror to detect output error.
22757
22758         I considered making this patch optional, but decided against it,
22759         because libc is obviously being inconsistent here: there is no
22760         reason libc should insist that user code must inspect fwrite
22761         return's value without also insisting that it inspect printf's,
22762         putchar's, etc.  If user code wants to have a strict style where
22763         all these functions' values are checked (so that ferror need not
22764         be checked), we could add support for that style in a new gnulib
22765         module, but in the meantime it's better to be consistent and to
22766         support common usage.
22767
22768         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
22769         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
22770         that we are compiling in checking mode, and if not C++, and
22771         if not already wrapping fwrite for some other reason.
22772         (fwrite): #define to rpl_fwrite if the latter is defined.
22773
22774 2011-03-20  Bruno Haible  <bruno@clisp.org>
22775
22776         verror: Fix compilation error introduced on 2011-02-13.
22777         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
22778         instead of __attribute__.
22779         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
22780
22781 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
22782             Bruno Haible  <bruno@clisp.org>
22783
22784         socklen: do not depend on sys_socket
22785         While trying to modify Emacs to use gnulib's socklen module,
22786         I discovered a circular dependency: socklen depends on sys_socket
22787         and vice versa.  Emacs can use socklen, but it does not need
22788         sys_socket because it has its own substitute for sys/socket.h.
22789         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
22790         gl_TYPE_SOCKLEN_T.
22791         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
22792         gl_PREREQ_SYS_H_SOCKET.
22793         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
22794         gl_PREREQ_SYS_H_SOCKET.
22795         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
22796         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
22797         * modules/socklen (Depends-on): Do not depend on sys_socket.
22798         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
22799
22800 2011-03-20  Jim Meyering  <meyering@redhat.com>
22801
22802         maint.mk: sort file names *after* new transformation
22803         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
22804         prefix would have led to an unwarranted failure in GNU parted.
22805         Sort after that transformation.
22806
22807 2011-03-19  Jim Meyering  <meyering@redhat.com>
22808
22809         maint.mk: fix po-file syntax-check rule
22810         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
22811         Patch by Bruno Haible.
22812
22813 2011-03-19  Bruno Haible  <bruno@clisp.org>
22814
22815         socklen: Update comment.
22816         * m4/socklen.m4: Update comment about platforms.
22817
22818 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
22819             Bruno Haible  <bruno@clisp.org>
22820
22821         inet_ntop, inet_pton: Simplify.
22822         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
22823         documented to provide socklen_t and we already depend on sys_socket.
22824         * modules/inet_pton (Depends-on): Likewise.
22825         * lib/arpa_inet.in.h: Adjust comment.
22826
22827 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
22828             Bruno Haible  <bruno@clisp.org>
22829
22830         netdb: Simplify.
22831         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
22832         documented to provide socklen_t and we already depend on sys_socket.
22833         * lib/netdb.in.h: Adjust comment.
22834
22835 2011-03-19  Bruno Haible  <bruno@clisp.org>
22836
22837         sys_socket, netdb: Document problem with socklen_t.
22838         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
22839         platforms.
22840         * doc/posix-headers/netdb.texi: Likewise.
22841
22842 2011-03-18  Eric Blake  <eblake@redhat.com>
22843
22844         maint.mk: let po check work in VPATH build
22845         * top/maint.mk (po_file): Allow cfg.mk override.
22846         (sc_po_check): Allow VPATH use.
22847         Reported by Jiri Denemark.
22848
22849 2011-03-16  Jim Meyering  <meyering@redhat.com>
22850
22851         maint.mk: allow fine-grained syntax-check exclusion via Make variables
22852         Before, you would have had to create one .x-sc_ file per rule in order
22853         to exempt offending files.  Now, you may instead use a Make variable --
22854         usually defined in cfg.mk -- whose name identifies the affected rule.
22855         * top/maint.mk (_sc_excl): Define.
22856         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
22857         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
22858
22859 2011-03-13  Bruno Haible  <bruno@clisp.org>
22860
22861         ignore-value tests: Avoid warnings.
22862         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
22863         empty for gcc < 3.4.
22864
22865 2011-03-13  Bruno Haible  <bruno@clisp.org>
22866
22867         passfd: Fix link error on Solaris.
22868         * modules/passfd (Description): Correct.
22869         (Depends-on): Add socketlib.
22870         (Link): New section.
22871         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
22872
22873 2011-03-13  Bruno Haible  <bruno@clisp.org>
22874
22875         passfd: Fix link error on AIX 5.2.
22876         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
22877
22878 2011-03-13  Bruno Haible  <bruno@clisp.org>
22879
22880         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
22881         * lib/sys_socket.in.h: Include <stddef.h>.
22882         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
22883         CMSG_FIRSTHDR. Remove unused variable.
22884
22885 2011-03-13  Bruno Haible  <bruno@clisp.org>
22886
22887         passfd: Fix compilation error on OpenBSD.
22888         * lib/passfd.c: Include <sys/uio.h>.
22889
22890 2011-03-13  Bruno Haible  <bruno@clisp.org>
22891
22892         passfd test: Fix warnings.
22893         * tests/test-passfd.c: Include <sys/wait.h>.
22894         (main): Fix typo.
22895
22896 2011-03-13  Bruno Haible  <bruno@clisp.org>
22897
22898         passfd module, part 4, tweaks.
22899         * tests/test-passfd.c: Reorder includes.
22900         (main): Fix perror and printf calls.
22901
22902 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
22903
22904         passfd module, part 4.
22905         * modules/passfd-tests: New file.
22906         * tests/test-passfd.c: New file.
22907
22908 2011-03-13  Jim Meyering  <meyering@redhat.com>
22909
22910         Makefile: rely on GNU make; derive syntax-check rule names
22911         Rather than requiring that each sc_ rule be listed as a dependent
22912         of "check", use features of GNU make to derive the list.
22913         * Makefile (syntax-check-rules): Define.
22914         (check): Depend on the new variable, not the hard-coded list.
22915
22916 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
22917             Bruno Haible  <bruno@clisp.org>
22918
22919         passfd module, part 3.
22920         * lib/passfd.h (recvfd): Add a flags argument.
22921         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
22922         (recvfd): Add a flags argument.
22923         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
22924         exists.
22925         * modules/passfd (Depends-on): Add cloexec.
22926         Suggested by Eric Blake.
22927
22928 2011-03-13  Bruno Haible  <bruno@clisp.org>
22929
22930         passfd module, part 2, tweaks.
22931         * modules/passfd (Files): Reorder.
22932         (Depends-on): Remove errno.
22933         (Include): Remove <sys/socket.h>, <sys/un.h>.
22934         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
22935         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
22936         specification header. Include <sys/socket.h> always. Don't include
22937         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
22938         (sendfd): Clarify that it sets errno when it fails.
22939         (recvfd): Fix specification.
22940
22941 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
22942
22943         passfd module, part 2.
22944         * modules/passfd: New file.
22945         * lib/passfd.h: New file.
22946         * lib/passfd.c: New file.
22947
22948 2011-03-12  Bruno Haible  <bruno@clisp.org>
22949
22950         wcswidth, mbswidth: Avoid integer overflow.
22951         * lib/wcswidth.c: Include <limits.h>.
22952         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
22953         * lib/mbswidth.c: Include <limits.h>.
22954         (mbsnwidth): Avoid 'int' overflow.
22955         Reported by Jim Meyering.
22956
22957 2011-03-12  Bruno Haible  <bruno@clisp.org>
22958
22959         futimens, utimensat: Avoid endless recursion on Solaris 10.
22960         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
22961         Solaris.
22962         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
22963         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
22964
22965 2011-03-11  Jim Meyering  <meyering@redhat.com>
22966
22967         maint.mk: relax a regexp to accommodate other formatting styles
22968         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
22969         between "ngettext" and the following "(".
22970
22971 2011-03-11  Pádraig Brady <P@draigBrady.com>
22972
22973         maint.mk: suppress a false positive warning
22974         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
22975         diagnostics are marked with ngettext.
22976
22977 2011-03-10  Eric Blake  <eblake@redhat.com>
22978
22979         wchar: add explicit dependencies, for Tru64
22980         * modules/mbmemcasecoll (Depends-on): Add wchar.
22981         * modules/mbtowc (Depends-on): Likewise.
22982         * modules/vasnprintf (Depends-on): Likewise.
22983         * modules/unistdio/u-printf-args (Depends-on): Likewise.
22984         * modules/wctomb (Depends-on): Likewise.
22985         Reported by Peter O'Gorman.
22986
22987 2011-03-08  Bruno Haible  <bruno@clisp.org>
22988
22989         passfd module, part 1, tweaks.
22990         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
22991         Improve indentation. Improve AC_MSG_CHECKING messages.
22992         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
22993         gl_SOCKET_FAMILIES.
22994
22995 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
22996
22997         passfd module, part 1.
22998         * m4/afunix.m4: New file.
22999         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
23000         sockets.
23001
23002 2011-03-08  Bruno Haible  <bruno@clisp.org>
23003
23004         regex-quote: New API.
23005         * lib/regex-quote.h: Include <stdbool.h>.
23006         (struct regex_quote_spec): New type.
23007         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
23008         New declarations.
23009         (regex_quote_length, regex_quote_copy, regex_quote): Take a
23010         'const struct regex_quote_spec *' argument.
23011         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
23012         (pcre_special): New constant.
23013         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
23014         New functions.
23015         (regex_quote_length, regex_quote_copy, regex_quote): Take a
23016         'const struct regex_quote_spec *' argument.
23017         * modules/regex-quote (Depends-on): Add stdbool.
23018         * tests/test-regex-quote.c (check): Update for new API. Add test for
23019         anchored results.
23020         * NEWS: Mention the API change.
23021         Reported by Reuben Thomas and Eric Blake.
23022
23023 2011-03-06  Bruno Haible  <bruno@clisp.org>
23024
23025         regex-quote: Fix creation of POSIX extended regular expressions.
23026         * lib/regex-quote.c (ere_special): Add grouping and alternation
23027         operators.
23028
23029 2011-03-05  Bruno Haible  <bruno@clisp.org>
23030
23031         doc: Improve doc regarding autopoint vs. gnulib.
23032         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
23033         disable autopoint while running autoreconf.
23034         Suggested by Ralf Wildenhues.
23035
23036 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23037
23038         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
23039         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
23040
23041 2011-03-03  Bruce Korb  <bkorb@gnu.org>
23042
23043         parse-duration: remove xalloc.h dependency
23044         * lib/parse-duration.c (parse_period): handle NULL return from
23045         strdup instead of calling xstrdup().
23046         * modules/parse-duration: remove "xalloc" dependency
23047
23048 2011-03-03  Matthew Booth  <mbooth@redhat.com>
23049
23050         bootstrap: honor m4_base when running aclocal
23051         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
23052
23053 2011-03-02  Jim Meyering  <meyering@redhat.com>
23054
23055         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
23056         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
23057         on request from Matt Booth.
23058
23059 2011-03-01  Eric Blake  <eblake@redhat.com>
23060
23061         test-link: work on Hurd
23062         * tests/test-link.h (test_link): Hurd rejects linking directories
23063         with EISDIR instead of the POSIX-mandated EPERM.
23064
23065 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
23066
23067         stdio: simplify by moving files to printf-posix, sigpipe
23068         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
23069         since this symbol is needed only if printf is replaced.
23070         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
23071         Require gl_ASM_SYMBOL_PREFIX.
23072         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
23073         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
23074         (Depends-on): Add 'raise'.
23075         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
23076         * modules/stdio (Files): Remove lib/stdio-write.c,
23077         m4/asm-underscore.m4.
23078         (Depends-on): Remove 'raise'.
23079
23080         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
23081         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
23082         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
23083         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
23084
23085 2011-02-28  Bruno Haible  <bruno@clisp.org>
23086
23087         localcharset: Assume ANSI C behaviour of free().
23088         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
23089         calling free().
23090         Suggested by Simon Josefsson <simon@josefsson.org>.
23091
23092 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
23093             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
23094             Bruno Haible  <bruno@clisp.org>  (tiny change)
23095
23096         On Cygwin, use /proc file system instead of win32 API.
23097         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
23098         Win32 file names.
23099         (DllMain): Simplify by removing Cygwin specific code.
23100         (find_shared_library_fullname): Use Linux specific implementation also
23101         for Cygwin.
23102         (get_shared_library_fullname): Update accordingly.
23103         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
23104         Win32 file names.
23105         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
23106         Cygwin specific code.
23107
23108 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
23109             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
23110
23111         Fix OpenMP flag detection for various Fortran compilers.
23112         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
23113         OpenMP-conditional compilation construct, to force compile
23114         failure with missing OpenMP flag.
23115         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
23116
23117 2011-02-25  Eric Blake  <eblake@redhat.com>
23118
23119         strstr: expand test coverage
23120         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
23121         compilation.
23122         * tests/test-memmem.c (main): Duplicate tests.
23123         * tests/test-strcasestr.c (main): Likewise.
23124         * tests/test-c-strcasestr.c (main): Likewise.
23125
23126 2011-02-25  Jim Meyering  <meyering@redhat.com>
23127
23128         maint.mk: detect missing-NL-at-EOF, too
23129         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
23130         it also detects when a file lacks a newline at EOF.
23131         (require_exactly_one_NL_at_EOF_): Renamed from
23132         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
23133         since people may well have .x-sc_... file names tied to the
23134         existing name.  Suggested by Eric Blake.
23135
23136 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
23137
23138         dirname: move m4/dos.m4 functionality into lib/dosname.h
23139
23140         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
23141         extracts symbols from it, puts them into config.h; but it's much
23142         easier to use the symbols directly.  filename.h already does this,
23143         but it disagrees with dos.m4 in some respects.  This patch
23144         introduces a different include file dosname.h that packages up
23145         dos.m4, and then later we can work on merging filename.h and
23146         dosname.h.  Applications that need only the easy-to-configure
23147         symbols should consider including dosname.h rather than dirname.h.
23148         * NEWS: Mention incompatible changes.
23149         * m4/dos.m4: Remove.
23150         * lib/dosname.h, modules/dosname: New files.
23151         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
23152         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
23153         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
23154         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
23155         Include dosname.h, not dirname.h.
23156         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
23157         Include dosname.h, for definitions of symbols like ISSLASH
23158         that used to be in config.h.
23159         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
23160         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
23161         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
23162         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
23163         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
23164         * modules/rmdir (Files): Likewise.
23165         * modules/stat (Files): Likewise.
23166         * modules/unlink (Files): Likewise.
23167         * modules/dirname-lgpl (Depends-on): Add dosname.
23168         * modules/lstat (Depends-on): Likewise.
23169         * modules/openat (Depends-on): Likewise.
23170         * modules/rmdir (Depends-on): Likewise.
23171         * modules/savewd (Depends-on): Likewise.
23172         * modules/stat (Depends-on): Likewise.
23173         * modules/unlink (Depends-on): Likewise.
23174         * modules/openat (Depends-on): Remove dirname-lgpl.
23175         * modules/savewd (Depends-on): Likewise.
23176         * tests/test-dirname.c: Do not use removed symbols like
23177         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
23178         the remaining symbols, e.g., ISSLASH ('\\').
23179
23180 2011-02-25  Eric Blake  <eblake@redhat.com>
23181
23182         strstr: revert patches that introduced bug and pessimization
23183         * lib/str-two-way.h: Add another reference.
23184         (two_way_short_needle, two_way_long_needle): Revert changes from
23185         2011-02-24; they pessimize search speed.
23186         (critical_factorization): Partially revert changes from
23187         2010-06-22; they violate the requirement that the left half of the
23188         needle be smaller than the period of the needle.
23189
23190 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
23191
23192         filenamecat: remove unnecessary dependency on dirname-lgpl
23193         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
23194         is no direct dependency, just an indirect one via filenamecat-lgpl.
23195
23196         remove: remove unnecessary use of m4/dos.m4
23197         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
23198         * modules/remove (FILES): Remove m4/dos.m4.
23199
23200         * lib/openat-proc.c: Don't include dirname.h; not needed.
23201
23202         backupfile: remove unnecessary use of m4/dos.m4
23203         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
23204         of its symbols are used by the backupfile code.  backupfile.c does
23205         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
23206         for the rare case of programs that want all their backup file
23207         names to live within 8+3 limits, and dos.m4 doesn't address that.
23208         * modules/backupfile (Files): Remove m4/dos.m4.
23209
23210 2011-02-24  Jim Meyering  <meyering@redhat.com>
23211
23212         strstr: fix a bug whereby strstr would mistakenly return NULL
23213         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
23214         in period calculation.
23215         (two_way_long_needle): Likewise.
23216         The original problem was reported by Mike Stump in
23217         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
23218         Ralf Wildenhues provided the short needle and haystack.
23219         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
23220         Add a more involved test to trigger the bug in two_way_long_needle.
23221
23222 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
23223
23224         gnulib-tool: remove use of bold display in help screen
23225         * gnulib-tool (func_usage): Do not use bold display anymore in the
23226         help screen.  That was just meant to be a temporary emphasis for a
23227         backward-incompatible change.
23228
23229 2011-02-23  Bruno Haible  <bruno@clisp.org>
23230
23231         Fix misindentation of preprocessor directives.
23232         * lib/argp-namefrob.h: Reindent preprocessor directives.
23233         * lib/getopt_int.h (struct _getopt_data): Likewise.
23234         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
23235         * lib/vasnprintf.c (decode_long_double): Likewise.
23236         * tests/test-argmatch.c: Insert blank lines, for clarity.
23237         * tests/test-exclude.c: Likewise.
23238
23239 2011-02-22  Bruno Haible  <bruno@clisp.org>
23240
23241         ioctl: Fix for MacOS X in 64-bit mode.
23242         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
23243         value.
23244         Suggested by Eric Blake.
23245         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
23246
23247 2011-02-22  Jim Meyering  <meyering@redhat.com>
23248
23249         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
23250         * Makefile (sc_cpp_indent_check): Don't limit the check to files
23251         in lib/.
23252
23253 2011-02-22  Eric Blake  <eblake@redhat.com>
23254
23255         maint: avoid any CDPATH issue
23256         * Makefile (sc_cpp_indent_check): Anchor cd argument.
23257
23258         maint: adjust cpp indentation for my modules, as well
23259         * Makefile (sc_cpp_indent_check): Add my name.
23260         * lib/fbufmode.c: Filter through cppi.
23261         * lib/fpurge.c: Likewise.
23262         * lib/freadable.c: Likewise.
23263         * lib/freading.c: Likewise.
23264         * lib/fwritable.c: Likewise.
23265         * lib/fwriting.c: Likewise.
23266         * lib/sigaction.c: Likewise.
23267
23268 2011-02-22  Jim Meyering  <meyering@redhat.com>
23269
23270         maint: adjust cpp indentation to reflect nesting depth
23271         I.e., in a block of code that begins with an unnested "#if",
23272         put one space between the "#" in column 1 and following token.
23273         For example,
23274         -#include <sys/vfs.h>
23275         +# include <sys/vfs.h>
23276         Do this only in .c files that are part of a module I maintain.
23277         * lib/linkat.c: Filter through cppi.
23278         * lib/nanosleep.c: Likewise.
23279         * lib/openat.c: Likewise.
23280         * lib/openat-die.c: Likewise.
23281         * lib/dup3.c: Likewise.
23282         * lib/fchownat.c: Likewise.
23283         * lib/flock.c: Likewise.
23284         * lib/fsync.c: Likewise.
23285         * lib/fts.c: Likewise.
23286         * lib/getpass.c: Likewise.
23287         * lib/gettimeofday.c: Likewise.
23288         * lib/userspec.c: Likewise.
23289         * Makefile (sc_cpp_indent_check): New rule, to check this.
23290
23291 2011-02-22  Bruno Haible  <bruno@clisp.org>
23292
23293         New module 'wctomb'.
23294         * lib/stdlib.in.h (wctomb): New declaration.
23295         * lib/wctomb.c: New file.
23296         * lib/wctomb-impl.h: New file.
23297         * m4/wctomb.m4: New file.
23298         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
23299         REPLACE_WCTOMB.
23300         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
23301         REPLACE_WCTOMB.
23302         * modules/wctomb: New file.
23303         * tests/test-stdlib-c++.cc: Test signature of wctomb.
23304         * doc/posix-functions/wctomb.texi: Mention the new module.
23305         * modules/wctob (Depends-on): Add wctomb.
23306
23307 2011-02-22  Bruno Haible  <bruno@clisp.org>
23308
23309         New module 'mbtowc'.
23310         * lib/stdlib.in.h (mbtowc): New declaration.
23311         * lib/mbtowc.c: New file.
23312         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
23313         * m4/mbtowc.m4: New file.
23314         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
23315         REPLACE_MBTOWC.
23316         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
23317         REPLACE_MBTOWC.
23318         * modules/mbtowc: New file.
23319         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
23320         * doc/posix-functions/mbtowc.texi: Mention the new module.
23321         * modules/btowc (Depends-on): Add mbtowc.
23322
23323 2011-02-22  Bruno Haible  <bruno@clisp.org>
23324
23325         wcrtomb: Add more tests for native Windows platforms.
23326         * tests/test-wcrtomb-w32-1.sh: New file.
23327         * tests/test-wcrtomb-w32-2.sh: New file.
23328         * tests/test-wcrtomb-w32-3.sh: New file.
23329         * tests/test-wcrtomb-w32-4.sh: New file.
23330         * tests/test-wcrtomb-w32-5.sh: New file.
23331         * tests/test-wcrtomb-w32.c: New file.
23332         * modules/wcrtomb-tests (Files): Add them.
23333         (Makefile.am): Arrange to run these tests.
23334         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
23335         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
23336
23337 2011-02-20  Bruno Haible  <bruno@clisp.org>
23338
23339         wcrtomb: Enhance test.
23340         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
23341
23342 2011-02-20  Bruno Haible  <bruno@clisp.org>
23343
23344         mbrtowc: Tiny optimization.
23345         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
23346
23347 2011-02-20  Jim Meyering  <meyering@redhat.com>
23348
23349         test-exclude.c: remove unmatched #endif
23350         * tests/test-exclude.c: Remove stray #endif, left over from
23351         the change of a week ago.
23352
23353 2011-02-19  Jim Meyering  <meyering@redhat.com>
23354
23355         git-version-gen: skip "-dirty" check when appropriate
23356         * build-aux/git-version-gen: Don't run any git commands when the
23357         version string comes from .tarball-version.  Prior to this, we
23358         would run git update-index --refresh even from a just-unpacked
23359         tarball directory, and that could affect a .git/ directory in a
23360         parent of the build directory.  Reported by Mike Frysinger.
23361
23362 2011-02-19  Bruno Haible  <bruno@clisp.org>
23363
23364         unictype/property-byname: Reduce the size of the 'data' segment.
23365         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
23366
23367 2011-02-19  Bruno Haible  <bruno@clisp.org>
23368
23369         unictype/scripts: Reduce the size of the 'data' segment.
23370         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
23371         '%pic'.
23372         * lib/unictype/scripts_byname.gperf: Regenerated.
23373
23374 2011-02-19  Bruno Haible  <bruno@clisp.org>
23375
23376         stdint: Update documentation.
23377         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
23378
23379 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
23380
23381         stdint: omit redundant check for wchar.h
23382         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
23383         always tests whether wchar.h exists, so remove the now-redundant test.
23384
23385 2011-02-18  Bruno Haible  <bruno@clisp.org>
23386
23387         stdint: Cut dependency to module 'wchar'.
23388         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
23389         include the necessary prerequisites.
23390         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
23391         * modules/stdint (Depends-on): Remove wchar.
23392         (Makefile.am): Substitute HAVE_WCHAR_H.
23393         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
23394
23395 2011-02-18  Eric Blake  <eblake@redhat.com>
23396
23397         longlong: skip, rather than fail, on cross-compilation
23398         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
23399         when cross-compiling; regression from 2011-02-16.
23400
23401 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
23402
23403         * NEWS: Mention 2011-02-08 change to stdlib.
23404
23405 2011-02-17  Bruno Haible  <bruno@clisp.org>
23406
23407         getloadavg: Add comments about platforms.
23408         * m4/getloadavg.m4: Add comment.
23409         * lib/getloadavg.c: Likewise.
23410
23411 2011-02-17  Bruno Haible  <bruno@clisp.org>
23412
23413         getloadavg: Fix link error on Solaris 2.6.
23414         * modules/getloadavg (Link): New section.
23415         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
23416         linking test-getloadavg.
23417         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
23418         getloadavg.
23419
23420 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
23421
23422         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
23423         It was 'int', but this doesn't match the IRIX 6.5 manual.
23424         Suggested by Bruno Haible in
23425         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
23426
23427 2011-02-17  Bruno Haible  <bruno@clisp.org>
23428
23429         havelib: Fix comments.
23430         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
23431         change.
23432
23433 2011-02-17  Bruno Haible  <bruno@clisp.org>
23434
23435         havelib: Update config.rpath.
23436         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
23437
23438 2011-02-17  Bruno Haible  <bruno@clisp.org>
23439
23440         getloadavg test: Add some plausibility checks.
23441         * tests/test-getloadavg.c (check_avg): Print a warning when the value
23442         is improbable.
23443
23444 2011-02-16  Eric Blake  <eblake@redhat.com>
23445
23446         maintainer-makefile: make syntax-check a no-op from tarballs
23447         * top/maint.mk (no-vc-detected): New rule.
23448         (local-checks-available): Use it to avoid hanging if someone tries
23449         'make syntax-check' from a tarball.  Also append to any non-syntax
23450         checks already defined in cfg.mk.
23451
23452 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
23453
23454         longlong: tune, particularly for common case of c99
23455
23456         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
23457         or running anything if c99, or if unsigned long long int does not
23458         work.  In either case, we know the answer without further tests.
23459         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
23460         it at most once, and use its results for both long long int and
23461         unsigned long long int.  This is more likely to be efficient in
23462         the common case where the program wants to check for both long
23463         long int and unsigned long long int.
23464         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
23465         since the answer is already known.
23466
23467 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
23468
23469         getloadavg: set errno
23470         * lib/getloadavg.c: Set errno when returning -1.  If no other
23471         error number looks appropriate, set it to ENOSYS if the getloadavg
23472         looks like it can't possibly ever work, ENOTSUP otherwise.
23473         Suggested by Bruno Haible in
23474         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
23475
23476         getloadavg: trim unused parts and speed up 'configure'
23477         * NEWS: Document this.
23478         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
23479         always compiled if getloadavg is absent.
23480         Move test code to ...
23481         * tests/test-getloadavg.c: New file, containing previous
23482         contents of test from lib/getloadavg.c.  It also contains
23483         suggestions by Bruno Haible in
23484         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
23485         * modules/getloadavg-tests: New file.
23486         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
23487         Do tests in the same order as they're needed for getloadavg.c.
23488         Omit setgid-related tests that generate symbols KMEM_GROUP,
23489         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
23490         Do only the tests that are needed to see whether the system has
23491         getloadavg, moving the other tests into ...
23492         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
23493         NLIST_NAME_UNION; nobody should be using it.  Do not define
23494         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
23495         relevant, as the user of this module shouldn't care how getloadavg
23496         is implemented.
23497
23498         getloadavg: omit unused var
23499         * lib/getloadavg.c (getloadavg): Omit unused local variable.
23500
23501 2011-02-15  Jim Meyering  <meyering@redhat.com>
23502
23503         doc: update users.txt
23504         * users.txt: Update iwhd's URL.
23505
23506 2011-02-13  Bruno Haible  <bruno@clisp.org>
23507
23508         Consistent macro naming for macros that use GCC __attribute__.
23509         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
23510         _ATTRIBUTE_NONNULL_.
23511         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
23512         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
23513         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
23514         ATTRIBUTE_DEPRECATED.
23515         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
23516         ATTRIBUTE_NORETURN.
23517         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
23518         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
23519         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
23520         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
23521         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
23522         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
23523         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
23524         ATTRIBUTE_SENTINEL.
23525         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
23526         ATTRIBUTE_RETURN_CHECK.
23527         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
23528         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
23529         ATTRIBUTE_NORETURN.
23530         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
23531         Reported by Paul Eggert.
23532
23533 2011-02-13  Bruno Haible  <bruno@clisp.org>
23534
23535         Don't interfere with a program's definition of __attribute__.
23536         * lib/argp.h (__attribute__): Remove definition.
23537         (_GL_ATTRIBUTE_FORMAT): New macro.
23538         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
23539         * lib/argp-fmtstream.h (__attribute__): Remove definition.
23540         (_GL_ATTRIBUTE_FORMAT): New macro.
23541         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
23542         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
23543         GCC 3 or newer.
23544         * lib/error.h (__attribute__): Remove definition.
23545         (_GL_ATTRIBUTE_FORMAT): New macro.
23546         (error, error_at_line): Use it.
23547         * lib/hash.h (__attribute__): Remove definition.
23548         (ATTRIBUTE_WUR): Update definition. Define always.
23549         * lib/openat.h (__attribute__): Remove definition.
23550         (ATTRIBUTE_NORETURN): Update definition. Define always.
23551         * lib/sigpipe-die.h (__attribute__): Remove definition.
23552         (ATTRIBUTE_NORETURN): Update definition. Define always.
23553         * lib/vasnprintf.h (__attribute__): Remove definition.
23554         (_GL_ATTRIBUTE_FORMAT): New macro.
23555         (asnprintf, vasnprintf): Use it.
23556         * lib/xalloc.h (__attribute__): Remove definition.
23557         (ATTRIBUTE_NORETURN): Update definition. Define always.
23558         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
23559         * lib/xmemdup0.h (__attribute__): Remove definition.
23560         (ATTRIBUTE_NORETURN): Update definition. Define always.
23561         * lib/xprintf.h (__attribute__): Remove definition.
23562         (_GL_ATTRIBUTE_FORMAT): New macro.
23563         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
23564         * lib/xstrtol.h (__attribute__): Remove definition.
23565         (ATTRIBUTE_NORETURN): Update definition. Define always.
23566         * lib/xvasprintf.h (__attribute__): Remove definition.
23567         (_GL_ATTRIBUTE_FORMAT): New macro.
23568         (xasprintf, xvasprintf): Use it.
23569         * tests/test-argmatch.c (__attribute__): Remove definition.
23570         (ATTRIBUTE_NORETURN): Update definition. Define always.
23571         * tests/test-exclude.c (__attribute__): Remove definition.
23572         (ATTRIBUTE_NORETURN): Update definition. Define always.
23573         Reported by Paul Eggert.
23574
23575 2011-02-13  Bruno Haible  <bruno@clisp.org>
23576
23577         mbrtowc: Add more tests for native Windows platforms.
23578         * tests/test-mbrtowc-w32-1.sh: New file.
23579         * tests/test-mbrtowc-w32-2.sh: New file.
23580         * tests/test-mbrtowc-w32-3.sh: New file.
23581         * tests/test-mbrtowc-w32-4.sh: New file.
23582         * tests/test-mbrtowc-w32-5.sh: New file.
23583         * tests/test-mbrtowc-w32.c: New file.
23584         * modules/mbrtowc-tests (Files): Add them.
23585         (Makefile.am): Arrange to run these tests.
23586         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
23587         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
23588
23589 2011-02-13  Bruno Haible  <bruno@clisp.org>
23590
23591         mbrtowc: Work around native Windows bug.
23592         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
23593         guess when no suitable locale for testing was found.
23594         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
23595
23596 2011-02-13  Bruno Haible  <bruno@clisp.org>
23597
23598         mbsinit: Work around mingw bug.
23599         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
23600         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
23601         Windows.
23602         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
23603
23604 2011-02-13  Bruno Haible  <bruno@clisp.org>
23605
23606         mbsinit: Don't crash for a NULL argument.
23607         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
23608         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
23609
23610 2011-02-13  Bruno Haible  <bruno@clisp.org>
23611
23612         Don't interfere with a program's definition of __attribute__.
23613         * lib/stdio.in.h (__attribute__): Remove definition.
23614         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
23615         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
23616         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
23617         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
23618         * lib/string.in.h (__attribute__): Remove definition.
23619         Reported by Paul Eggert.
23620
23621 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
23622
23623         stdlib: don't get in the way of non-GCC __attribute__
23624         See thread starting at
23625         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
23626         Revert previous stdlib change, installing the following instead:
23627         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
23628         to get in the way of a non-GCC compiler that supports __attribute__.
23629         (_GL_ATTRIBUTE_RETURN): New macro.
23630         (_Exit): Use it instead of __attribute__.
23631
23632 2011-02-12  Bruno Haible  <bruno@clisp.org>
23633
23634         quotearg test: Avoid test failure on mingw.
23635         * tests/test-quotearg.sh: Convert the locale identifier from native
23636         Windows syntax to Unix syntax.
23637
23638 2011-02-12  Bruno Haible  <bruno@clisp.org>
23639
23640         setlocale: Prefer gnulib's override over libintl's override.
23641         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
23642         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
23643         GNULIB_defined_setlocale is set.
23644
23645 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
23646
23647         stdlib: support non-GCC __attribute__
23648
23649         Fix a serious and tricky problem encountered when attempting to
23650         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
23651         5.5, but it crashed due to memory corruption on Solaris 10 with
23652         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
23653         bits that are otherwise zero.  This tagging is optional inside
23654         Emacs but is preferred and is used when __attribute__ ((__aligned
23655         (8))) works, as it does with both recent-enough GCC and with Sun C
23656         5.11.  However, Sun C 5.11 is not GCC and does not #define
23657         __GNUC__ and __GNUC_MINOR__.
23658
23659         When I added the getloadavg module to Emacs, it brought in
23660         stdlib.in.h, which contained this fragment:
23661
23662            #ifndef __attribute__
23663            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
23664            #  define __attribute__(Spec)   /* empty */
23665            # endif
23666            #endif
23667
23668         When files that include <stdlib.h> were compiled with Sun C 5.11,
23669         the above code disabled __attribute__ ((__aligned (8))), which
23670         caused variables to not be properly aligned, which eventually led
23671         to the pointer corruption mentioned above.  (This was a bit hard
23672         to diagnose, unfortunately.)
23673
23674         Several "#define __attribute__(X) /* empty */" code snippets need
23675         to be eradicated from Gnulib to work with non-GCC compilers that
23676         support __attribute__.  The Autoconf way to do this is to test for
23677         each kind of attribute that we want support for, and selectively
23678         enable that in source code.
23679
23680         Fix this problem just for stdlib.h, by adding a test for the
23681         __noreturn__ attribute, and change stdlib.in.h to use that test
23682         when needed.  This technique can be easily generalized to the
23683         other *.in.h files and attributes, and a similar technique can be
23684         used for *.h and *.c files.  This patch is enough to solve the
23685         problem for Emacs + getloadavg, and I thought I'd publish it for
23686         feedback before undertaking further, similar fixes in other
23687         modules.
23688
23689         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
23690         because it's not needed for stdlib.h.  It merely substitutes the
23691         value directly into stdlib.h.  We may well need to #define it, or
23692         similar symbols, for other modules, but it's nice to also have an
23693         option to not #define it for applications like Emacs that do not
23694         need it.
23695
23696         * lib/stdlib.in.h (__attribute__): Do not #define.
23697         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
23698         be defined only if the _Exit module is also used.
23699         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
23700         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
23701         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
23702         platforms.
23703         * modules/_Exit (Files): Add m4/attribute.m4.
23704         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
23705         * m4/attribute.m4: New file.
23706
23707 2011-02-12  Bruno Haible  <bruno@clisp.org>
23708
23709         wcsrtombs: Work around bug on native Windows.
23710         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
23711         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
23712         instead of len.
23713         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
23714
23715 2011-02-12  Bruno Haible  <bruno@clisp.org>
23716
23717         mbsrtowcs: Work around bug on native Windows.
23718         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
23719         against mingw bug.
23720         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
23721
23722 2011-02-12  Bruno Haible  <bruno@clisp.org>
23723
23724         Avoid setlocale bugs in tests.
23725         * modules/btowc (Dependencies): Add setlocale.
23726         * modules/c-strcase (Dependencies): Likewise.
23727         * modules/mbmemcasecmp (Dependencies): Likewise.
23728         * modules/mbmemcasecoll (Dependencies): Likewise.
23729         * modules/mbrtowc (Dependencies): Likewise.
23730         * modules/mbscasecmp (Dependencies): Likewise.
23731         * modules/mbscasestr (Dependencies): Likewise.
23732         * modules/mbschr (Dependencies): Likewise.
23733         * modules/mbscspn (Dependencies): Likewise.
23734         * modules/mbsinit (Dependencies): Likewise.
23735         * modules/mbsncasecmp (Dependencies): Likewise.
23736         * modules/mbsnrtowcs (Dependencies): Likewise.
23737         * modules/mbspbrk (Dependencies): Likewise.
23738         * modules/mbspcasecmp (Dependencies): Likewise.
23739         * modules/mbsrchr (Dependencies): Likewise.
23740         * modules/mbsrtowcs (Dependencies): Likewise.
23741         * modules/mbsspn (Dependencies): Likewise.
23742         * modules/mbsstr (Dependencies): Likewise.
23743         * modules/nl_langinfo (Dependencies): Likewise.
23744         * modules/quotearg (Dependencies): Likewise.
23745         * modules/unicase/locale-language (Dependencies): Likewise.
23746         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
23747         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
23748         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
23749         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
23750         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
23751         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
23752         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
23753         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
23754         * modules/vasnprintf-posix (Dependencies): Likewise.
23755         * modules/wcrtomb (Dependencies): Likewise.
23756         * modules/wcsnrtombs (Dependencies): Likewise.
23757         * modules/wcsrtombs (Dependencies): Likewise.
23758
23759 2011-02-12  Bruno Haible  <bruno@clisp.org>
23760
23761         setlocale: Workaround native Windows bug.
23762         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
23763         succeeds but sets LC_CTYPE to "C", report a failure.
23764         * tests/test-setlocale2.sh: New file.
23765         * tests/test-setlocale2.c: New file.
23766         * modules/setlocale-tests (Files): Add the new files.
23767         (Makefile.am): Enable test-setlocale2.sh test.
23768         * doc/posix-functions/setlocale.texi: Mention workaround.
23769
23770 2011-02-11  Bruno Haible  <bruno@clisp.org>
23771
23772         Tests for module 'setlocale'.
23773         * modules/setlocale-tests: New file.
23774         * tests/test-setlocale1.sh: New file.
23775         * tests/test-setlocale1.c: New file.
23776
23777         New module 'setlocale'.
23778         * lib/locale.in.h (setlocale): New declaration.
23779         * lib/setlocale.c: New file, based on
23780         gettext/gettext-runtime/intl/setlocale.c.
23781         * m4/setlocale.m4: New file.
23782         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
23783         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
23784         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
23785         REPLACE_SETLOCALE.
23786         * modules/setlocale: New file.
23787         * tests/test-locale-c++.cc: Test the declaration of setlocale.
23788         * doc/posix-functions/setlocale.texi: Mention the new module.
23789
23790 2011-02-11  Bruno Haible  <bruno@clisp.org>
23791
23792         Prepare for locale dependent tests on mingw.
23793         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
23794         because it has the wrong locale encoding.
23795         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
23796         French_France.1252 instead of "fr".
23797         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
23798         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
23799         because it has the wrong locale encoding.
23800         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
23801         native Windows, try Turkish_Turkey.65001.
23802         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
23803         Chinese_China.54936.
23804
23805         Prepare for locale dependent tests on mingw.
23806         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
23807         differently.
23808         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
23809         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
23810         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
23811         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
23812
23813 2011-02-11  Eric Blake  <eblake@redhat.com>
23814
23815         strptime: avoid compiler warnings
23816         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
23817         compiler warnings about dead code.
23818         Reported by Daniel P. Berrange.
23819
23820 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
23821
23822         doc: update users.txt
23823         * users.txt: Add rcs.
23824
23825 2011-02-10  John W. Eaton  <jwe@gnu.org>
23826
23827         doc: update users.txt
23828         * users.txt: Add octave.
23829
23830 2011-02-10  Jim Meyering  <meyering@redhat.com>
23831
23832         doc: update users.txt
23833         * users.txt: Add iwhd.
23834
23835 2011-02-09  Bruno Haible  <bruno@clisp.org>
23836
23837         gnulib-tool: Make copyright notice adjustment more robust.
23838         * gnulib-tool (func_import): In sed_transform_main_lib_file,
23839         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
23840         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
23841         License".
23842         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
23843
23844 2011-02-06  Bruno Haible  <bruno@clisp.org>
23845
23846         New module 'towctrans'.
23847         * modules/towctrans: New file.
23848         * lib/wctype.in.h (towctrans): New declaration.
23849         * lib/towctrans.c: New file.
23850         * lib/towctrans-impl.h: New file.
23851         * m4/towctrans.m4: New file.
23852         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
23853         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
23854         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
23855         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
23856         * doc/posix-functions/towctrans.texi: Mention the new module.
23857
23858 2011-02-06  Bruno Haible  <bruno@clisp.org>
23859
23860         New module 'wctrans'.
23861         * modules/wctrans: New file.
23862         * lib/wctype.in.h (wctrans): New declaration.
23863         * lib/wctrans.c: New file.
23864         * lib/wctrans-impl.h: New file.
23865         * m4/wctrans.m4: New file.
23866         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
23867         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
23868         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
23869         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
23870         * doc/posix-functions/wctrans.texi: Mention the new module.
23871
23872 2011-02-06  Bruno Haible  <bruno@clisp.org>
23873
23874         New module 'iswctype'.
23875         * modules/iswctype: New file.
23876         * lib/wctype.in.h (iswctype): New declaration.
23877         * lib/iswctype.c: New file.
23878         * lib/iswctype-impl.h: New file.
23879         * m4/iswctype.m4: New file.
23880         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
23881         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
23882         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
23883         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
23884         * doc/posix-functions/iswctype.texi: Mention the new module and the
23885         HP-UX 11.00 problem.
23886
23887 2011-02-06  Bruno Haible  <bruno@clisp.org>
23888
23889         New module 'wctype'.
23890         * modules/wctype: Change to represent the wctype() substitute.
23891         * lib/wctype.in.h (wctype): New declaration.
23892         * lib/wctype.c: New file.
23893         * lib/wctype-impl.h: New file.
23894         * m4/wctype.m4: New file.
23895         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
23896         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
23897         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
23898         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
23899         * doc/posix-functions/wctype.texi: Mention the new module and the
23900         HP-UX 11.00 problem.
23901
23902 2011-02-06  Bruno Haible  <bruno@clisp.org>
23903
23904         wctype-h: Ensure wctype_t and wctrans_t are defined.
23905         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
23906         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
23907         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
23908         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
23909         HAVE_WCTRANS_T.
23910         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
23911
23912 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
23913
23914         flock: fix license typo
23915
23916         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
23917         omitted.
23918
23919 2011-02-08  Bruno Haible  <bruno@clisp.org>
23920
23921         Split large sed scripts, for HP-UX sed.
23922         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
23923         to avoid HP-UX limit of 99 commands, in the near future.
23924         * modules/stdlib (Makefile.am): Likewise.
23925         * modules/unistd (Makefile.am): Likewise.
23926         * modules/wchar (Makefile.am): Likewise.
23927         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
23928         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
23929         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
23930
23931 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
23932             Bruno Haible  <bruno@clisp.org>
23933
23934         stdlib: improve random_r modularization
23935         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
23936         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
23937         you also need the random_r module to get this material right.
23938         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
23939         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
23940         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
23941
23942 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
23943
23944         stdlib: don't depend on stdint
23945         * lib/stdlib.in.h: Don't include <stdint.h> merely because
23946         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
23947         be independent of whether stdint.h is needed.
23948         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
23949         here, instead of ...
23950         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
23951         struct random_data should be using the random_r module, not just
23952         the stdlib module (which wouldn't make sense: what package needs
23953         just struct random_data without also needing random_r?).
23954         * modules/stdlib (Depends-on): Remove stdint.
23955
23956         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
23957         See the thread rooted at
23958         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
23959         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
23960         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
23961         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
23962         __VMS)); previously it was always included (via fcntl--.h).
23963         (getloadavg): Do not use c_strtod.  Instead, approximate it by
23964         hand; this is good enough for load averages.  Also, do not use
23965         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
23966         flags directly if available and don't bother otherwise.  (Packages
23967         that need the extra reliability should use the modules that define
23968         these flags on older platforms that lack them.)
23969         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
23970         fcntl-safer.
23971
23972 2011-02-08  Jim Meyering  <meyering@redhat.com>
23973
23974         di-set.h, ino-map.h: add multiple-inclusion guard
23975         Technically, the guard is required only for ino-map.h, due to its
23976         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
23977         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
23978         * lib/ino-map.h: Likewise.
23979
23980 2011-02-06  Bruno Haible  <bruno@clisp.org>
23981
23982         iswblank: Ensure declaration on glibc systems.
23983         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
23984         * modules/iswblank (Dependencies): Add 'extensions'.
23985         * doc/posix-functions/iswblank.texi: Document the glibc problem.
23986
23987 2011-02-06  Bruno Haible  <bruno@clisp.org>
23988
23989         New module 'iswblank'.
23990         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
23991         * modules/iswblank: New file.
23992         * modules/wctype-h (Files): Remove lib/iswblank.c.
23993         (Makefile.am): Substitute GNULIB_ISWBLANK.
23994         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
23995         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
23996         (gl_WCTYPE_H_DEFAULTS): New macro.
23997         (gl_WCTYPE_H): Require it. Remove iswblank related code.
23998         * modules/iswblank-tests: New file.
23999         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
24000         * tests/test-wctype-h.c (main): Remove iswblank tests.
24001         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
24002         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
24003         of 'wctype-h'.
24004         * NEWS: Mention the change.
24005         * modules/mbchar (Depends-on): Add iswblank.
24006
24007 2011-02-08  Bruno Haible  <bruno@clisp.org>
24008
24009         di-set tests: Refactor.
24010         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
24011         unnecessary includes.
24012         (ASSERT): Remove macro.
24013         (main): Make C90 compliant by avoiding variable declaration after
24014         statement.
24015         * modules/di-set-tests (Files): Add tests/macros.h.
24016
24017 2011-02-08  Bruno Haible  <bruno@clisp.org>
24018
24019         ino-map tests: Refactor.
24020         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
24021         unnecessary includes.
24022         (ASSERT): Remove macro.
24023         (main): Make C90 compliant by avoiding variable declaration after
24024         statement.
24025         * modules/ino-map-tests (Files): Add tests/macros.h.
24026
24027 2011-02-08  Jim Meyering  <meyering@redhat.com>
24028
24029         di-set: add "const" to a cast
24030         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
24031         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
24032
24033 2011-02-06  Bruno Haible  <bruno@clisp.org>
24034
24035         Rename module 'wctype' to 'wctype-h'.
24036         * modules/wctype-h: Renamed from modules/wctype.
24037         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
24038         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
24039         (Files, Depends-on, Makefile.am): Update.
24040         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
24041         (Files, Makefile.am): Update.
24042         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
24043         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
24044         * doc/posix-headers/wctype.texi: Update.
24045         * doc/posix-functions/iswalnum.texi: Update.
24046         * doc/posix-functions/iswalpha.texi: Update.
24047         * doc/posix-functions/iswblank.texi: Update.
24048         * doc/posix-functions/iswcntrl.texi: Update.
24049         * doc/posix-functions/iswdigit.texi: Update.
24050         * doc/posix-functions/iswgraph.texi: Update.
24051         * doc/posix-functions/iswlower.texi: Update.
24052         * doc/posix-functions/iswprint.texi: Update.
24053         * doc/posix-functions/iswpunct.texi: Update.
24054         * doc/posix-functions/iswspace.texi: Update.
24055         * doc/posix-functions/iswupper.texi: Update.
24056         * doc/posix-functions/iswxdigit.texi: Update.
24057         * doc/posix-functions/towlower.texi: Update.
24058         * doc/posix-functions/towupper.texi: Update.
24059         * NEWS: Mention the change.
24060         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
24061         * modules/mbchar (Dependencies): Likewise.
24062         * modules/mbswidth (Dependencies): Likewise.
24063         * modules/quotearg (Dependencies): Likewise.
24064         * modules/regex (Dependencies): Likewise.
24065         * modules/wcscasecmp (Dependencies): Likewise.
24066         * modules/wcsncasecmp (Dependencies): Likewise.
24067         * modules/wcwidth (Dependencies): Likewise.
24068
24069 2011-02-06  Bruno Haible  <bruno@clisp.org>
24070
24071         New module 'wcswidth'.
24072         * modules/wcswidth: New file.
24073         * lib/wchar.in.h (wcswidth): New declaration.
24074         * lib/wcswidth.c: New file.
24075         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
24076         * m4/wcswidth.m4: New file.
24077         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
24078         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
24079         REPLACE_WCSWIDTH.
24080         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
24081         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
24082         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
24083         * doc/posix-functions/wcswidth.texi: Mention the new module.
24084
24085 2011-02-06  Bruno Haible  <bruno@clisp.org>
24086
24087         New module 'wcstok'.
24088         * modules/wcstok: New file.
24089         * lib/wchar.in.h (wcstok): New declaration.
24090         * lib/wcstok.c: New file.
24091         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
24092         * m4/wcstok.m4: New file.
24093         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
24094         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
24095         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
24096         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
24097         * doc/posix-functions/wcstok.texi: Mention the new module.
24098
24099 2011-02-06  Bruno Haible  <bruno@clisp.org>
24100
24101         New module 'wcsstr'.
24102         * modules/wcsstr: New file.
24103         * lib/wchar.in.h (wcsstr): New declaration.
24104         * lib/wcsstr.c: New file.
24105         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
24106         * m4/wcsstr.m4: New file.
24107         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
24108         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
24109         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
24110         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
24111         * doc/posix-functions/wcsstr.texi: Mention the new module.
24112
24113 2011-02-06  Bruno Haible  <bruno@clisp.org>
24114
24115         New module 'wcspbrk'.
24116         * modules/wcspbrk: New file.
24117         * lib/wchar.in.h (wcspbrk): New declaration.
24118         * lib/wcspbrk.c: New file.
24119         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
24120         * m4/wcspbrk.m4: New file.
24121         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
24122         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
24123         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
24124         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
24125         * doc/posix-functions/wcspbrk.texi: Mention the new module.
24126
24127 2011-02-06  Bruno Haible  <bruno@clisp.org>
24128
24129         New module 'wcsspn'.
24130         * modules/wcsspn: New file.
24131         * lib/wchar.in.h (wcsspn): New declaration.
24132         * lib/wcsspn.c: New file.
24133         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
24134         * m4/wcsspn.m4: New file.
24135         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
24136         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
24137         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
24138         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
24139         * doc/posix-functions/wcsspn.texi: Mention the new module.
24140
24141 2011-02-06  Bruno Haible  <bruno@clisp.org>
24142
24143         New module 'wcscspn'.
24144         * modules/wcscspn: New file.
24145         * lib/wchar.in.h (wcscspn): New declaration.
24146         * lib/wcscspn.c: New file.
24147         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
24148         * m4/wcscspn.m4: New file.
24149         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
24150         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
24151         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
24152         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
24153         * doc/posix-functions/wcscspn.texi: Mention the new module.
24154
24155 2011-02-06  Bruno Haible  <bruno@clisp.org>
24156
24157         New module 'wcsrchr'.
24158         * modules/wcsrchr: New file.
24159         * lib/wchar.in.h (wcsrchr): New declaration.
24160         * lib/wcsrchr.c: New file.
24161         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
24162         * m4/wcsrchr.m4: New file.
24163         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
24164         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
24165         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
24166         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
24167         * doc/posix-functions/wcsrchr.texi: Mention the new module.
24168
24169 2011-02-06  Bruno Haible  <bruno@clisp.org>
24170
24171         New module 'wcschr'.
24172         * modules/wcschr: New file.
24173         * lib/wchar.in.h (wcschr): New declaration.
24174         * lib/wcschr.c: New file.
24175         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
24176         * m4/wcschr.m4: New file.
24177         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
24178         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
24179         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
24180         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
24181         * doc/posix-functions/wcschr.texi: Mention the new module.
24182
24183 2011-02-06  Bruno Haible  <bruno@clisp.org>
24184
24185         New module 'wcsdup'.
24186         * modules/wcsdup: New file.
24187         * lib/wchar.in.h (wcsdup): New declaration.
24188         * lib/wcsdup.c: New file.
24189         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
24190         * m4/wcsdup.m4: New file.
24191         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
24192         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
24193         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
24194         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
24195         * doc/posix-functions/wcsdup.texi: Mention the new module.
24196
24197 2011-02-06  Bruno Haible  <bruno@clisp.org>
24198
24199         New module 'wcsxfrm'.
24200         * modules/wcsxfrm: New file.
24201         * lib/wchar.in.h (wcsxfrm): New declaration.
24202         * lib/wcsxfrm.c: New file.
24203         * lib/wcsxfrm-impl.h: New file.
24204         * m4/wcsxfrm.m4: New file.
24205         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
24206         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
24207         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
24208         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
24209         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
24210
24211 2011-02-06  Bruno Haible  <bruno@clisp.org>
24212
24213         New module 'wcscoll'.
24214         * modules/wcscoll: New file.
24215         * lib/wchar.in.h (wcscoll): New declaration.
24216         * lib/wcscoll.c: New file.
24217         * lib/wcscoll-impl.h: New file.
24218         * m4/wcscoll.m4: New file.
24219         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
24220         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
24221         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
24222         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
24223         * doc/posix-functions/wcscoll.texi: Mention the new module.
24224
24225 2011-02-06  Bruno Haible  <bruno@clisp.org>
24226
24227         New module 'wcsncasecmp'.
24228         * modules/wcsncasecmp: New file.
24229         * lib/wchar.in.h (wcsncasecmp): New declaration.
24230         * lib/wcsncasecmp.c: New file.
24231         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
24232         * m4/wcsncasecmp.m4: New file.
24233         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
24234         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
24235         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
24236         HAVE_WCSNCASECMP.
24237         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
24238         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
24239
24240 2011-02-06  Bruno Haible  <bruno@clisp.org>
24241
24242         New module 'wcscasecmp'.
24243         * modules/wcscasecmp: New file.
24244         * lib/wchar.in.h (wcscasecmp): New declaration.
24245         * lib/wcscasecmp.c: New file.
24246         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
24247         * m4/wcscasecmp.m4: New file.
24248         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
24249         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
24250         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
24251         HAVE_WCSCASECMP.
24252         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
24253         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
24254
24255 2011-02-05  Bruno Haible  <bruno@clisp.org>
24256
24257         New module 'wcsncmp'.
24258         * modules/wcsncmp: New file.
24259         * lib/wchar.in.h (wcsncmp): New declaration.
24260         * lib/wcsncmp.c: New file.
24261         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
24262         * m4/wcsncmp.m4: New file.
24263         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
24264         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
24265         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
24266         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
24267         * doc/posix-functions/wcsncmp.texi: Mention the new module.
24268
24269 2011-02-05  Bruno Haible  <bruno@clisp.org>
24270
24271         New module 'wcscmp'.
24272         * modules/wcscmp: New file.
24273         * lib/wchar.in.h (wcscmp): New declaration.
24274         * lib/wcscmp.c: New file.
24275         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
24276         * m4/wcscmp.m4: New file.
24277         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
24278         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
24279         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
24280         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
24281         * doc/posix-functions/wcscmp.texi: Mention the new module.
24282
24283 2011-02-05  Bruno Haible  <bruno@clisp.org>
24284
24285         New module 'wcsncat'.
24286         * modules/wcsncat: New file.
24287         * lib/wchar.in.h (wcsncat): New declaration.
24288         * lib/wcsncat.c: New file.
24289         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
24290         * m4/wcsncat.m4: New file.
24291         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
24292         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
24293         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
24294         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
24295         * doc/posix-functions/wcsncat.texi: Mention the new module.
24296
24297 2011-02-05  Bruno Haible  <bruno@clisp.org>
24298
24299         New module 'wcscat'.
24300         * modules/wcscat: New file.
24301         * lib/wchar.in.h (wcscat): New declaration.
24302         * lib/wcscat.c: New file.
24303         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
24304         * m4/wcscat.m4: New file.
24305         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
24306         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
24307         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
24308         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
24309         * doc/posix-functions/wcscat.texi: Mention the new module.
24310
24311 2011-02-05  Bruno Haible  <bruno@clisp.org>
24312
24313         New module 'wcpncpy'.
24314         * modules/wcpncpy: New file.
24315         * lib/wchar.in.h (wcpncpy): New declaration.
24316         * lib/wcpncpy.c: New file.
24317         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
24318         * m4/wcpncpy.m4: New file.
24319         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
24320         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
24321         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
24322         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
24323         * doc/posix-functions/wcpncpy.texi: Mention the new module.
24324
24325 2011-02-05  Bruno Haible  <bruno@clisp.org>
24326
24327         New module 'wcsncpy'.
24328         * modules/wcsncpy: New file.
24329         * lib/wchar.in.h (wcsncpy): New declaration.
24330         * lib/wcsncpy.c: New file.
24331         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
24332         * m4/wcsncpy.m4: New file.
24333         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
24334         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
24335         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
24336         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
24337         * doc/posix-functions/wcsncpy.texi: Mention the new module.
24338
24339 2011-02-05  Bruno Haible  <bruno@clisp.org>
24340
24341         New module 'wcpcpy'.
24342         * modules/wcpcpy: New file.
24343         * lib/wchar.in.h (wcpcpy): New declaration.
24344         * lib/wcpcpy.c: New file.
24345         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
24346         * m4/wcpcpy.m4: New file.
24347         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
24348         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
24349         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
24350         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
24351         * doc/posix-functions/wcpcpy.texi: Mention the new module.
24352
24353 2011-02-05  Bruno Haible  <bruno@clisp.org>
24354
24355         New module 'wcscpy'.
24356         * modules/wcscpy: New file.
24357         * lib/wchar.in.h (wcscpy): New declaration.
24358         * lib/wcscpy.c: New file.
24359         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
24360         * m4/wcscpy.m4: New file.
24361         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
24362         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
24363         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
24364         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
24365         * doc/posix-functions/wcscpy.texi: Mention the new module.
24366
24367 2011-02-05  Bruno Haible  <bruno@clisp.org>
24368
24369         New module 'wcsnlen'.
24370         * modules/wcsnlen: New file.
24371         * lib/wchar.in.h (wcsnlen): New declaration.
24372         * lib/wcsnlen.c: New file.
24373         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
24374         * m4/wcsnlen.m4: New file.
24375         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
24376         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
24377         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
24378         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
24379         * doc/posix-functions/wcsnlen.texi: Mention the new module.
24380
24381 2011-02-05  Bruno Haible  <bruno@clisp.org>
24382
24383         New module 'wcslen'.
24384         * modules/wcslen: New file.
24385         * lib/wchar.in.h (wcslen): New declaration.
24386         * lib/wcslen.c: New file.
24387         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
24388         * m4/wcslen.m4: New file.
24389         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
24390         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
24391         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
24392         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
24393         * doc/posix-functions/wcslen.texi: Mention the new module.
24394
24395 2011-02-05  Bruno Haible  <bruno@clisp.org>
24396
24397         New module 'wmemset'.
24398         * modules/wmemset: New file.
24399         * lib/wchar.in.h (wmemset): New declaration.
24400         * lib/wmemset.c: New file.
24401         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
24402         * m4/wmemset.m4: New file.
24403         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
24404         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
24405         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
24406         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
24407         * doc/posix-functions/wmemset.texi: Mention the new module.
24408
24409 2011-02-05  Bruno Haible  <bruno@clisp.org>
24410
24411         New module 'wmemmove'.
24412         * modules/wmemmove: New file.
24413         * lib/wchar.in.h (wmemmove): New declaration.
24414         * lib/wmemmove.c: New file.
24415         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
24416         * m4/wmemmove.m4: New file.
24417         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
24418         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
24419         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
24420         HAVE_WMEMMOVE.
24421         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
24422         * doc/posix-functions/wmemmove.texi: Mention the new module.
24423
24424 2011-02-05  Bruno Haible  <bruno@clisp.org>
24425
24426         New module 'wmemcpy'.
24427         * modules/wmemcpy: New file.
24428         * lib/wchar.in.h (wmemcpy): New declaration.
24429         * lib/wmemcpy.c: New file.
24430         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
24431         * m4/wmemcpy.m4: New file.
24432         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
24433         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
24434         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
24435         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
24436         * doc/posix-functions/wmemcpy.texi: Mention the new module.
24437
24438 2011-02-05  Bruno Haible  <bruno@clisp.org>
24439
24440         New module 'wmemcmp'.
24441         * modules/wmemcmp: New file.
24442         * lib/wchar.in.h (wmemcmp): New declaration.
24443         * lib/wmemcmp.c: New file.
24444         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
24445         * m4/wmemcmp.m4: New file.
24446         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
24447         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
24448         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
24449         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
24450         * doc/posix-functions/wmemcmp.texi: Mention the new module.
24451
24452 2011-02-07  Jim Meyering  <meyering@redhat.com>
24453
24454         di-set, ino-map: new modules, from coreutils
24455         * lib/di-set.c: New file.
24456         * lib/di-set.h: Likewise.
24457         * lib/ino-map.c: Likewise.
24458         * lib/ino-map.h: Likewise.
24459         * modules/di-set: Likewise.
24460         * modules/di-set-tests: Likewise.
24461         * modules/ino-map: Likewise.
24462         * modules/ino-map-tests: Likewise.
24463         * tests/test-di-set.c: Likewise.
24464         * tests/test-ino-map.c: Likewise.
24465
24466 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
24467
24468         getloadavg: merge minor changes from Emacs
24469
24470         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
24471         (getloadavg): Use memset, not bzero.
24472
24473         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
24474         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
24475         clash (bug#86).
24476
24477 2010-11-14  Bruno Haible  <bruno@clisp.org>
24478
24479         Allow multiple gnulib generated replacements to coexist.
24480         * lib/getopt.in.h (struct option): Avoid identical redefinition.
24481         * lib/inttypes.in.h (imaxdiv_t): Likewise.
24482         * lib/langinfo.in.h (nl_item): Likewise.
24483         * lib/math.in.h (_NaN, NAN): Likewise.
24484         * lib/netdb.in.h (struct addrinfo): Likewise.
24485         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
24486         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
24487         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
24488         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
24489         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
24490         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
24491         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
24492         pthread_mutexattr_init, pthread_mutexattr_settype,
24493         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
24494         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
24495         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
24496         pthread_spin_trylock, pthread_spin_unlock): Likewise.
24497         * lib/sched.in.h (struct sched_param): Likewise.
24498         * lib/se-selinux.in.h (security_class_t, security_context_t,
24499         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
24500         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
24501         lsetfilecon, fsetfilecon, security_check_context,
24502         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
24503         Likewise.
24504         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
24505         Likewise.
24506         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
24507         _gl_function_taking_int_returning_void_t, union sigval,
24508         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
24509         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
24510         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
24511         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
24512         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
24513         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
24514         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
24515         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
24516         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
24517         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
24518         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
24519         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
24520         socklen_t, rpl_fd_isset): Likewise.
24521         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
24522         * lib/sys_time.in.h (struct timeval): Likewise.
24523         * lib/sys_times.in.h (struct tms): Likewise.
24524         * lib/sys_utsname.in.h (struct utsname):
24525         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
24526         * lib/unistd.in.h (getpagesize): Likewise.
24527         * lib/wchar.in.h (mbstate_t): Likewise.
24528         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
24529         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
24530         towlower, towupper): Likewise.
24531         Reported by Sam Steingold <sds@gnu.org>.
24532
24533 2011-02-05  Eric Blake  <eblake@redhat.com>
24534
24535         unsetenv: work around Haiku issues
24536         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
24537         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
24538
24539 2010-12-30  Bruce Korb  <bkorb@gnu.org>
24540
24541         libposix: avoid calling error() within libposix
24542         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
24543         is defined.
24544
24545 2011-02-05  Eric Blake  <eblake@redhat.com>
24546
24547         strerror_r-posix: port to cygwin
24548         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
24549         implementation.
24550         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
24551         * tests/test-strerror_r.c (main): Fix test.
24552         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
24553         issue.
24554
24555 2011-02-05  Bruno Haible  <bruno@clisp.org>
24556
24557         New module 'wmemchr'.
24558         * modules/wmemchr: New file.
24559         * lib/wchar.in.h (wmemchr): New declaration.
24560         * lib/wmemchr.c: New file.
24561         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
24562         * m4/wmemchr.m4: New file.
24563         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
24564         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
24565         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
24566         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
24567         * doc/posix-functions/wmemchr.texi: Mention the new module.
24568
24569 2011-02-04  Eric Blake  <eblake@redhat.com>
24570
24571         fdopendir: detect FreeBSD bug
24572         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
24573         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
24574
24575 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
24576
24577         stdbool: do not define HAVE_STDBOOL_H
24578         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
24579         AC_HEADER_STDBOOL.  All uses changed.  Do not define
24580         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
24581         imported from the latest Autoconf git.  It was motivated by Emacs,
24582         which uses gnulib but does not need HAVE_STDBOOL_H.
24583
24584 2011-02-04  Bruno Haible  <bruno@clisp.org>
24585
24586         wcsnrtombs: Prepare for new module wwcsnrtombs.
24587         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
24588         * lib/wcsnrtombs.c: Include it.
24589         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
24590
24591         wcsrtombs: Prepare for new module wwcsrtombs.
24592         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
24593         * lib/wcsrtombs.c: Include it.
24594         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
24595
24596         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
24597         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
24598         * lib/mbsnrtowcs.c: Include it.
24599         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
24600
24601         mbsrtowcs: Prepare for new module mbsrtowwcs.
24602         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
24603         * lib/mbsrtowcs.c: Include it.
24604         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
24605
24606 2011-02-04  Bruno Haible  <bruno@clisp.org>
24607
24608         vasnprintf: Reduce use of malloc for small format strings.
24609         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
24610         (arguments): Add room for the first 7 arguments.
24611         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
24612         (char_directives, u8_directives, u16_directives, u32_directives): Add
24613         room for the first 7 directives.
24614         * lib/printf-parse.c: Include <string.h>.
24615         (PRINTF_PARSE): Change memory handling code so that it uses the first
24616         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
24617         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
24618         Reported by Pádraig Brady <P@draigbrady.com>.
24619
24620 2011-01-31  Eric Blake  <eblake@redhat.com>
24621
24622         dup2: work around Haiku bug
24623         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
24624         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
24625         * doc/posix-functions/dup2.texi (dup2): Document the bug.
24626         * tests/test-dup2.c (main): Enhance test.
24627
24628 2011-01-31  Simon Josefsson  <simon@josefsson.org>
24629
24630         doc: off_t is not available in eglibc 2.11.2 stdio.h.
24631         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
24632         declared by eglibc 2.11.2.
24633         * lib/stdio.in.h: Likewise.
24634
24635 2011-01-31  Eric Blake  <eblake@redhat.com>
24636
24637         ignore-value: add missing test dependency
24638         * tests/test-ignore-value.c: Revert previous change; stdio.h
24639         provides off_t.
24640         * modules/ignore-value-tests (Depends-on): Add missing dependency.
24641
24642 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
24643
24644         mktime: clarify long_int width checking
24645         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
24646         the top level, to make it clearer that the assumption about
24647         long_int width is being checked.  See
24648         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
24649
24650 2011-01-30  Simon Josefsson  <simon@josefsson.org>
24651
24652         ignore-value: Fix self-test.
24653         * tests/test-ignore-value.c: Include sys/types.h for off_t.
24654
24655 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
24656
24657         TYPE_MAXIMUM: avoid theoretically undefined behavior
24658         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
24659         negative number, which the C Standard says has undefined behavior.
24660         In practice this is not a problem, but might as well do it by the book.
24661         Reported by Rich Felker and Eric Blake; see
24662         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
24663         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
24664         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
24665         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
24666         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
24667         * m4/stdint.m4 (gl_STDINT_H): Likewise.
24668         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
24669
24670         mktime: #undef mktime before #defining it
24671         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
24672
24673         mktime: systematically normalize tm_isdst comparisons
24674         * lib/mktime.c (isdst_differ): New function.
24675         (__mktime_internal): Use it systematically for all isdst comparisons.
24676         This completes the fix for libc BZ #6723, and removes the need for
24677         normalizing tm_isdst.  See
24678         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
24679         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
24680
24681         mktime: fix some integer overflow issues and sidestep the rest
24682
24683         This was prompted by a bug report by Benjamin Lindner for MinGW
24684         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
24685         His bug is due to signed integer overflow (0 - INT_MIN), and I
24686         I scanned through mktime.c looking for other integer overflow
24687         problems, fixing all the bugs I found.
24688
24689         Although the C Standard says the resulting code is still not safe
24690         in the presence of integer overflow, in practice it should be good
24691         enough for all real-world two's-complement implementations, except
24692         for debugging environments that deliberately trap on integer
24693         overflow (e.g., gcc -ftrapv).
24694
24695         * lib/mktime.c (WRAPV): New macro.
24696         (SHR): Also check that long_int and time_t shift right in the
24697         usual way, before using the fast-but-unportable method.
24698         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
24699         used.  The code already assumed two's complement, so there's
24700         no need to test for alternatives.  All uses removed.
24701         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
24702         the C standard.  Problem reported by Rich Felker in
24703         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
24704         (twos_complement_arithmetic): Also check long_int and time_t.
24705         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
24706         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
24707         (__mktime_internal): Avoid integer overflow with unary subtraction
24708         in two instances where -1 - X is an adequate replacement for -X,
24709         since the calculations are approximate.
24710
24711 2011-01-29  Eric Blake  <eblake@redhat.com>
24712
24713         mktime: avoid infinite loop
24714         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
24715         type; behavior is still undefined but portable to all known targets.
24716         Reported by Rich Felker.
24717
24718 2011-01-29  Simon Josefsson  <simon@josefsson.org>
24719
24720         rename, unlink, same-inode: Relicense.
24721         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
24722         * modules/unlink (License): Likewise.
24723         * modules/same-inode (License): Likewise.
24724
24725 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
24726
24727         mktime: avoid problems on NetBSD 5 / i386
24728         * lib/mktime.c (long_int): New type.  This works around a problem
24729         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
24730         but time_t is 64 bits, and where I expect the existing code is
24731         wrong in some cases.
24732         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
24733         (ydhms_diff): Bring back the compile-time check for wide-enough
24734         year and yday.
24735
24736         mktime: fix misspelling in comment
24737         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
24738         This merges all recent glibc changes of importance.
24739
24740 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24741
24742         move-if-change: cope with concurrent mv of identical file.
24743         * build-aux/move-if-change (CMPPROG): Accept environment
24744         variable as an override for `cmp'.
24745         (usage): Document CMPPROG.
24746         Adjust comparison to drop stdout.  Cope with failure of mv if
24747         the target file exists and is identical to the source, for
24748         parallel builds.
24749         Report from H.J. Lu against binutils in PR binutils/12283.
24750
24751 2011-01-28  Bruce Korb  <bkorb@gnu.org>
24752
24753         * users.txt: Mention sharutils.
24754
24755 2011-01-28  Simon Josefsson  <simon@josefsson.org>
24756
24757         * users.txt: Mention OATH Toolkit.
24758
24759 2011-01-27  Bruno Haible  <bruno@clisp.org>
24760
24761         Prepare for supporting FreeBSD 10.
24762         * build-aux/config.libpath: Remove handling of freebsd1*.
24763
24764 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
24765
24766         Prepare for supporting FreeBSD 10.
24767         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
24768         match FreeBSD 10.0.
24769
24770 2011-01-27  Bruno Haible  <bruno@clisp.org>
24771
24772         vma-iter, get-rusage-as: Add OpenBSD support.
24773         * modules/vma-iter (configure.ac): Test for mquery.
24774         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
24775         * lib/vma-iter.c: Include <sys/mman.h>.
24776         (vma_iterate): Add an implementation based on mquery().
24777         * lib/resource-ext.h (get_rusage_as): Update comments.
24778         * lib/get-rusage-as.c: Likewise.
24779         * lib/get-rusage-data.c: Likewise.
24780
24781 2011-01-26  Karl Berry  <karl@gnu.org>
24782
24783         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
24784         variables to make it easier to override the makeinfo program used.
24785
24786 2011-01-26  Eric Blake  <eblake@redhat.com>
24787
24788         fcntl: work around Haiku F_DUPFD bugs
24789         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
24790         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
24791         cloexec bit on duplication.
24792         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
24793
24794 2011-01-26  Bruno Haible  <bruno@clisp.org>
24795
24796         Enable memory leak tests on AIX.
24797         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
24798         * tests/test-fprintf-posix3.c (main): Likewise.
24799
24800 2011-01-26  Bruno Haible  <bruno@clisp.org>
24801
24802         Tests for module 'get-rusage-data'.
24803         * modules/get-rusage-data-tests: New file.
24804         * tests/test-get-rusage-data.c: New file.
24805
24806         New module 'get-rusage-data'.
24807         * lib/resource-ext.h (get_rusage_data): New declaration.
24808         * lib/get-rusage-data.c: New file.
24809         * modules/get-rusage-data: New file.
24810
24811 2011-01-25  Bruno Haible  <bruno@clisp.org>
24812
24813         get-rusage-as: Allow for easier testing.
24814         * lib/resource-ext.h (get_rusage_as): Add comment.
24815         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
24816         (main): New function for interactive testing.
24817
24818 2011-01-25  Bruno Haible  <bruno@clisp.org>
24819
24820         vma-iter: Treat Haiku like BeOS.
24821         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
24822         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
24823
24824 2011-01-25  Eric Blake  <eblake@redhat.com>
24825
24826         c-stack: fix regression on cygwin when libsigsegv is present
24827         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
24828
24829 2011-01-24  Bruno Haible  <bruno@clisp.org>
24830
24831         vma-iter: Avoid empty intervals.
24832         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
24833         on an empty interval.
24834
24835 2011-01-24  Jim Meyering  <meyering@redhat.com>
24836
24837         u64: remove unnecessary #include
24838         * lib/u64.h: Don't include <stddef.h>.  It was not used.
24839
24840 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
24841
24842         Allow the user to avoid the HAVE_RAW_DECL_* macros.
24843         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
24844
24845 2011-01-23  Bruno Haible  <bruno@clisp.org>
24846
24847         New module 'vma-iter'.
24848         * lib/vma-iter.h: New file.
24849         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
24850         * modules/vma-iter: New file.
24851         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
24852         for get_rusage_as_via_iterator.
24853         (vma_iterate_callback): New function.
24854         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
24855         * modules/get-rusage-as (Depends-on): Add vma-iter.
24856
24857 2011-01-23  Bruno Haible  <bruno@clisp.org>
24858
24859         uninorm: Tweak includes.
24860         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
24861         Reported by Jim Meyering.
24862
24863 2011-01-23  Bruno Haible  <bruno@clisp.org>
24864
24865         get-rusage-as: Improve on NetBSD.
24866         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
24867         /proc, like on FreeBSD.
24868
24869 2011-01-23  Jim Meyering  <meyering@redhat.com>
24870
24871         xreadlink.h: remove unnecessary #include
24872         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
24873
24874         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
24875         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
24876
24877 2011-01-23  Bruno Haible  <bruno@clisp.org>
24878
24879         get-rusage-as: Fix bug.
24880         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
24881         original limit when aborting the first loop.
24882
24883 2011-01-23  Bruno Haible  <bruno@clisp.org>
24884
24885         wctype: Ensure valid C syntax.
24886         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
24887         unconditionally, instead of gl_NEXT_HEADERS conditionally.
24888
24889 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
24890
24891         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
24892         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
24893         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
24894         as they are needed only for configure's test case.
24895         This removes two unnecessary symbols from config.h.
24896
24897         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
24898         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
24899         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
24900         AC_CHECK_HEADERS_ONCE on a header that we also invoke
24901         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
24902         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
24903         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
24904         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
24905         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
24906         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
24907         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
24908         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
24909         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
24910         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
24911         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
24912         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
24913         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
24914         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
24915
24916 2011-01-21  Eric Blake  <eblake@redhat.com>
24917
24918         maintainer-makefile: work with older git for submodule check
24919         * top/maint.mk (public-submodule-commit): Rewrite to avoid
24920         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
24921         Reported by Matthias Bolte.
24922
24923         bootstrap: minor portability fixes
24924         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
24925         (usage): Omit leading capital and trailing . on help phrases, per
24926         GNU Coding Standards.
24927         (check_versions, top level): Prefix messages with script name.
24928
24929 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
24930
24931         bootstrap: support --no-git option
24932         * build-aux/bootstrap: Add --no-git option, to be used when
24933         --gnulib-srcdir points to the exact desired checkout.
24934
24935 2011-01-21  Eric Blake  <eblake@redhat.com>
24936
24937         strerror_r-posix: work with glibc 2.13
24938         * lib/strerror_r.c (strerror_r): Fix return type.
24939
24940 2011-01-21  Pádraig Brady  <P@draigBrady.com>
24941             Bruno Haible  <bruno@clisp.org>
24942
24943         uN_strstr: New unit tests.
24944         * modules/unistr/u8-strstr-tests: New file.
24945         * modules/unistr/u16-strstr-tests: New file.
24946         * modules/unistr/u32-strstr-tests: New file.
24947         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
24948         * tests/unistr/test-u8-strstr.c: New file.
24949         * tests/unistr/test-u16-strstr.c: New file.
24950         * tests/unistr/test-u32-strstr.c: New file.
24951
24952 2011-01-21  Pádraig Brady  <P@draigBrady.com>
24953             Bruno Haible  <bruno@clisp.org>
24954
24955         Make uN_strstr functions O(n) worst-case.
24956         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
24957         16-bit and 32-bit unit cases, use the unibyte algorithm from
24958         lib/mbsstr.c.
24959         * lib/unistr/u8-strstr.c: Include <string.h>.
24960         (UNIT_IS_UINT8_T): New macro.
24961         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
24962         (U_STRLEN, U_STRNLEN): New macros.
24963         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
24964         (U_STRLEN, U_STRNLEN): New macros.
24965         * modules/unistr/u8-strstr (Depends-on): Add strstr.
24966         (configure.ac): Update required libunistring version.
24967         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
24968         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
24969         malloca.
24970         (configure.ac): Update required libunistring version.
24971         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
24972         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
24973         malloca.
24974         (configure.ac): Update required libunistring version.
24975
24976 2011-01-21  Pádraig Brady  <P@draigBrady.com>
24977             Bruno Haible  <bruno@clisp.org>
24978
24979         Prepare for faster uN_strstr functions.
24980         * lib/str-kmp.h: Support definable UNITs.
24981         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
24982         needle_len argument.
24983         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
24984         * lib/mbscasestr.c (mbscasestr): Likewise.
24985
24986 2011-01-21  Pádraig Brady <P@draigBrady.com>
24987
24988         malloca-tests: make faster by unsetting MALLOC_PERTURB_
24989         * tests/test-malloca.c (main): Unset the environment variable
24990         to greatly speed up the test.
24991         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
24992         * modules/malloca-tests: Depend on unsetenv.
24993
24994 2011-01-21  Pádraig Brady <P@draigBrady.com>
24995
24996         ignore-value: remove stdint dependency
24997         * lib/ignore-value.h: Remove <stdint.h>
24998         * modules/ignore-value: Remove stdint dependency.
24999
25000 2011-01-21  Jim Meyering  <meyering@redhat.com>
25001
25002         maint.mk: adjust variable name to be consistent with other gl_ vars
25003         * top/maint.mk (gl_public_submodule_commit): Rename the variable
25004         to be lower case.
25005
25006 2011-01-20  Jim Meyering  <meyering@redhat.com>
25007
25008         maint.mk: make "check" depend on public-submodule-commit by default
25009         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
25010
25011 2011-01-20  Bruno Haible  <bruno@clisp.org>
25012
25013         mbfile, mbiter: Complete change from 2008-12-21.
25014         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
25015         * m4/mbiter.m4 (gl_MBITER): Likewise.
25016
25017 2011-01-20  Jim Meyering  <meyering@redhat.com>
25018
25019         init.sh: insert space between each function name and "()"
25020         * tests/init.sh: Make it a little easier to see that a function's
25021         name is "warn_", and not "warn" when looking at the first part of
25022         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
25023
25024 2011-01-20  Jim Meyering  <meyering@redhat.com>
25025
25026         mountlist: clean up code formatting
25027         * lib/mountlist.c (read_file_system_list): Split a long line,
25028         correct bracing style, use NULL in place of "(struct statfs *)0",
25029         don't parenthesize return value, add spaces around "=" and after
25030         ";-in-for-stmt".
25031
25032 2011-01-14  Markus Duft <mduft@gentoo.org>
25033
25034         mountlist: add support for Interix
25035         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
25036         Apply statvfs to all entries of /dev/fs.
25037         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
25038         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
25039
25040 2011-01-20  Jim Meyering  <meyering@redhat.com>
25041
25042         maint.mk: improve the public-submodule-commit rule
25043         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
25044         to suppress printing of its commands... unless V=1.
25045         Add git submodule's --quiet option to suppress printing of e.g.,
25046         "Entering gnulib" output.
25047         "cd" into $(srcdir) before running git submodule.
25048
25049 2011-01-20  Bruno Haible  <bruno@clisp.org>
25050
25051         include_next: Fix bug introduced on 2011-01-18.
25052         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
25053         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
25054         ac_cv_header_... variable if the second argument is not 'check'.
25055         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
25056         gl_NEXT_HEADERS_INTERNAL.
25057
25058 2011-01-20  Bruno Haible  <bruno@clisp.org>
25059
25060         Allow the user to avoid the GNULIB_TEST_* macros.
25061         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
25062         Suggested by Paul Eggert.
25063
25064 2011-01-14  Jim Meyering  <meyering@redhat.com>
25065
25066         bootstrap: avoid failure when there is no .gitmodules file
25067         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
25068         has been assigned to, even when its value is the empty string.
25069         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
25070         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
25071         Reported by John W. Eaton <jwe@gnu.org>.
25072
25073 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
25074
25075         assume <ctype.h>, ..., <time.h> exist
25076         For years gnulib has been assuming the existence of the headers
25077         <ctype.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
25078         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
25079         them, since they don't appear to be needed.
25080         * README (Portability guidelines): Document this.
25081         * lib/flock.c: Assume <fcntl.h> exists.
25082         * lib/regex_internal.h: Assume <locale.h> exists.
25083         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
25084         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
25085         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
25086         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
25087         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
25088         * m4/regex.m4 (gl_REGEX): Likewise.
25089         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
25090         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
25091         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
25092         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
25093         * tests/test-argp.c: Likewise.
25094         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
25095
25096         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
25097         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
25098         AA_APPLE_UNIVERSAL_BUILD.  See
25099         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
25100         * NEWS: Document this.
25101
25102 2011-01-19  Eric Blake  <eblake@redhat.com>
25103
25104         c-stack: assume stack overflow if SA_SIGINFO unsupported
25105         * lib/c-stack.c (SIGACTION_WORKS): Rename...
25106         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
25107         sigaction will work.
25108         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
25109         behavior match Linux.
25110         * tests/test-c-stack.c (main): Prefer NULL for pointers.
25111
25112         stdbool-tests: accommodate Haiku
25113         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
25114
25115         binary-io: fix O_TEXT on Haiku
25116         * modules/binary-io (Depends-on): Add fcntl-h.
25117         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
25118         than blindly undefining O_TEXT.
25119         Reported by Scott McCreary.
25120
25121 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
25122
25123         include_next: do not check for standard headers like stddef.h
25124
25125         I found this problem when modifying Emacs to use gnulib.
25126         I noticed that it added HAVE_STDDEF_H to config.h, even though
25127         gnulib always assumes <stddef.h> exists as per README and this
25128         symbol is unnecessary.
25129         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
25130         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
25131         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
25132         faster for headers like stddef.h that are known to exist.
25133         (gl_CHECK_NEXT_HEADERS): Use it.
25134         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
25135         rather than gl_CHECK_NEXT_HEADERS.
25136         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
25137         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
25138
25139 2011-01-18  Eric Blake  <eblake@redhat.com>
25140
25141         ansi-c++-opt: skip C++ dependency style if C++ is unused
25142         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
25143         tests when we know C++ compilation is not desired.
25144         Reported by Scott McCreary.
25145
25146 2011-01-18  Bruno Haible  <bruno@clisp.org>
25147
25148         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
25149         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
25150         (main): Perform test also when getrlimit and setrlimit don't exist or
25151         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
25152         limiting the address space size using setrlimit, compare the address
25153         space size before and after the the test.
25154         * tests/test-dprintf-posix2.c: Likewise.
25155         * tests/test-fprintf-posix3.sh: Update skip messages.
25156         * tests/test-dprintf-posix2.sh: Likewise.
25157         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
25158         * modules/dprintf-posix-tests (Depends-on): Likewise.
25159         Reported by Bruce Korb <bkorb@gnu.org> and
25160         Gary V. Vaughan <gary@gnu.org>.
25161
25162 2011-01-18  Bruno Haible  <bruno@clisp.org>
25163
25164         get-rusage-as: Improvement for Cygwin.
25165         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
25166         areas that are merely reserved.
25167
25168 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
25169
25170         strftime: remove dependencies on multibyte modules
25171
25172         strftime depended on mbrlen, mbsinit, and wchar, but these modules
25173         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
25174         only if __osf__ is defined, and I suspect OSF doesn't need these
25175         other modules.  If my guess is wrong, we'll need to come up with a
25176         variant of strftime that doesn't need the multibyte modules.
25177
25178         I discovered this problem when attempting modify Emacs to use the
25179         strftime module.  With the previous gnulib, this caused Emacs to
25180         need 31 new files, ranging from lib/config.charset to
25181         m4/wint_t.m4.  This was overkill and I expect would be offputting
25182         to the Emacs maintainers.  After this change, only 6 new files are
25183         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
25184         stdbool.m4, and tm_gmtoff.m4.
25185
25186         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
25187         Suggested by Bruno Haible in
25188         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
25189         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
25190         and do not check for wchar.h.
25191         * modules/strftime (Files): Remove m4/mbstate_t.m4.
25192         (Depends-on): Remove mbrlen, mbsinit, wchar.
25193
25194 2011-01-18  Bruno Haible  <bruno@clisp.org>
25195
25196         Tests for module 'get-rusage-as'.
25197         * modules/get-rusage-as-tests: New file.
25198         * tests/test-get-rusage-as.c: New file.
25199
25200         New module 'get-rusage-as'.
25201         * modules/get-rusage-as: New file.
25202         * lib/resource-ext.h: New file.
25203         * lib/get-rusage-as.c: New file.
25204
25205 2011-01-17  Eric Blake  <eblake@redhat.com>
25206
25207         sigaction: relax license from LGPLv3+ to LGPLv2+
25208         * modules/sigaction (License): Relax to LGPLv2+.
25209
25210 2011-01-14  Bruno Haible  <bruno@clisp.org>
25211
25212         filemode: Make function declarations usable in C++ mode.
25213         * lib/filemode.h: Enclose function declarations in extern "C" block.
25214         Reported by John W. Eaton <jwe@gnu.org>.
25215
25216 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
25217
25218         save-cwd: no longer include "xgetcwd.h"
25219         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
25220         This avoids a compilation failure in projects that use save-cwd
25221         without also using the xgetcwd module.
25222
25223 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
25224
25225         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
25226         This is so that a program like Emacs, which needs only dtoastr,
25227         does not have to bother with distributing and compiling ftoastr
25228         and ldtoastr.
25229         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
25230         * modules/dtoastr, modules/ldtoastr: New files.
25231         * modules/ftoastr: Now works just for 'float'.
25232         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
25233         (Makefile.am): Remove ftoastr.h (not needed and no effect),
25234         dtoastr.c, ldtoastr.c.
25235
25236 2011-01-11  Jim Meyering  <meyering@redhat.com>
25237
25238         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
25239         There is no need to work around the lack of the fchdir function,
25240         since gnulib can now provide a replacement when required.
25241         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
25242         * modules/save-cwd (Depends-on): Add fchdir.
25243
25244 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
25245
25246         openat, save-cwd: avoid xmalloc
25247
25248         This removes a direct (but undocumented) dependency of openat on
25249         xalloc, along with an indirect dependency via save-cwd.  It also
25250         removes a dependency of save-cwd on xgetcwd, and thereby
25251         indirectly on xalloc.  This change causes the openat substitute
25252         to fall back on save_cwd when memory is tight, and for save_cwd to
25253         fail instead of dying when memory is tight, but that's good enough.
25254         Problem and initial idea for fix reported by Bastien Roucaries in
25255         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
25256
25257         * lib/openat-proc.c: Include stdlib.h (for malloc), not
25258         xalloc.h (for xmalloc).
25259         (openat_proc_name): Use malloc, not xmalloc.
25260         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
25261         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
25262
25263         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
25264         This avoids heap allocation for file names whose lengths are in
25265         the range 512..1023, with the upper bound increasing to at most
25266         4031 depending on the platform's PATH_MAX.  (We do not want
25267         pathmax.h here as it might supply a non-constant PATH_MAX.)
25268         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
25269         Perhaps they should be moved to malloca.h?
25270         (OPENAT_BUFFER_SIZE): Use them.
25271
25272 2011-01-10  Bruno Haible  <bruno@clisp.org>
25273
25274         doc: Update users.txt.
25275         * users.txt: Add recutils.
25276
25277 2011-01-09  Karl Berry  <karl@gnu.org>
25278
25279         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
25280
25281         * doc/configmake.texi: New file.
25282         * doc/gnulib.texi: Include it.
25283         * modules/configmake: Move documentation from here.
25284
25285 2011-01-09  Bruno Haible  <bruno@clisp.org>
25286
25287         Update to Unicode 6.0.0.
25288         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
25289         (get_lbp): Update for Unicode 6.0.0.
25290         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
25291         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
25292         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
25293         U+11001, U+11038..U+11046. Remove U+06DE.
25294         (uc_width): Fix bounds of planes.
25295         * tests/uniwidth/test-uc_width2.sh: Same updates as in
25296         lib/uniwidth/width.c.
25297         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
25298         trailing whitespace removed.
25299         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
25300         without comments, but with the original copyright notice.
25301         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
25302         * lib/unicase/ignorable.h: Likewise.
25303         * lib/unicase/tocasefold.h: Likewise.
25304         * lib/unicase/tolower.h: Likewise.
25305         * lib/unicase/totitle.h: Likewise.
25306         * lib/unicase/toupper.h: Likewise.
25307         * lib/unictype/bidi_of.h: Likewise.
25308         * lib/unictype/blocks.h: Likewise.
25309         * lib/unictype/categ_C.h: Likewise.
25310         * lib/unictype/categ_Cn.h: Likewise.
25311         * lib/unictype/categ_L.h: Likewise.
25312         * lib/unictype/categ_Ll.h: Likewise.
25313         * lib/unictype/categ_Lm.h: Likewise.
25314         * lib/unictype/categ_Lo.h: Likewise.
25315         * lib/unictype/categ_Lu.h: Likewise.
25316         * lib/unictype/categ_M.h: Likewise.
25317         * lib/unictype/categ_Mc.h: Likewise.
25318         * lib/unictype/categ_Me.h: Likewise.
25319         * lib/unictype/categ_Mn.h: Likewise.
25320         * lib/unictype/categ_N.h: Likewise.
25321         * lib/unictype/categ_Nd.h: Likewise.
25322         * lib/unictype/categ_No.h: Likewise.
25323         * lib/unictype/categ_P.h: Likewise.
25324         * lib/unictype/categ_Po.h: Likewise.
25325         * lib/unictype/categ_S.h: Likewise.
25326         * lib/unictype/categ_Sc.h: Likewise.
25327         * lib/unictype/categ_Sk.h: Likewise.
25328         * lib/unictype/categ_Sm.h: Likewise.
25329         * lib/unictype/categ_So.h: Likewise.
25330         * lib/unictype/categ_of.h: Likewise.
25331         * lib/unictype/combining.h: Likewise.
25332         * lib/unictype/ctype_alnum.h: Likewise.
25333         * lib/unictype/ctype_alpha.h: Likewise.
25334         * lib/unictype/ctype_graph.h: Likewise.
25335         * lib/unictype/ctype_lower.h: Likewise.
25336         * lib/unictype/ctype_print.h: Likewise.
25337         * lib/unictype/ctype_punct.h: Likewise.
25338         * lib/unictype/ctype_upper.h: Likewise.
25339         * lib/unictype/decdigit.h: Likewise.
25340         * lib/unictype/digit.h: Likewise.
25341         * lib/unictype/numeric.h: Likewise.
25342         * lib/unictype/pr_alphabetic.h: Likewise.
25343         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
25344         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
25345         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
25346         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
25347         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
25348         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
25349         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
25350         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
25351         * lib/unictype/pr_case_ignorable.h: Likewise.
25352         * lib/unictype/pr_cased.h: Likewise.
25353         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
25354         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
25355         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
25356         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
25357         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
25358         * lib/unictype/pr_combining.h: Likewise.
25359         * lib/unictype/pr_composite.h: Likewise.
25360         * lib/unictype/pr_currency_symbol.h: Likewise.
25361         * lib/unictype/pr_decimal_digit.h: Likewise.
25362         * lib/unictype/pr_deprecated.h: Likewise.
25363         * lib/unictype/pr_format_control.h: Likewise.
25364         * lib/unictype/pr_grapheme_base.h: Likewise.
25365         * lib/unictype/pr_grapheme_extend.h: Likewise.
25366         * lib/unictype/pr_grapheme_link.h: Likewise.
25367         * lib/unictype/pr_id_continue.h: Likewise.
25368         * lib/unictype/pr_id_start.h: Likewise.
25369         * lib/unictype/pr_ideographic.h: Likewise.
25370         * lib/unictype/pr_lowercase.h: Likewise.
25371         * lib/unictype/pr_math.h: Likewise.
25372         * lib/unictype/pr_numeric.h: Likewise.
25373         * lib/unictype/pr_other_alphabetic.h: Likewise.
25374         * lib/unictype/pr_other_id_continue.h: Likewise.
25375         * lib/unictype/pr_other_math.h: Likewise.
25376         * lib/unictype/pr_punctuation.h: Likewise.
25377         * lib/unictype/pr_sentence_terminal.h: Likewise.
25378         * lib/unictype/pr_terminal_punctuation.h: Likewise.
25379         * lib/unictype/pr_unassigned_code_value.h: Likewise.
25380         * lib/unictype/pr_unified_ideograph.h: Likewise.
25381         * lib/unictype/pr_uppercase.h: Likewise.
25382         * lib/unictype/pr_xid_continue.h: Likewise.
25383         * lib/unictype/pr_xid_start.h: Likewise.
25384         * lib/unictype/scripts.h: Likewise.
25385         * lib/unictype/scripts_byname.gperf: Likewise.
25386         * lib/unictype/sy_java_ident.h: Likewise.
25387         * lib/unigbrk/gbrkprop.h: Likewise.
25388         * lib/unilbrk/lbrkprop1.h: Likewise.
25389         * lib/unilbrk/lbrkprop2.h: Likewise.
25390         * lib/uninorm/decomposition-table2.h: Likewise.
25391         * lib/uniwbrk/wbrkprop.h: Likewise.
25392         * tests/unicase/test-cased.c: Likewise.
25393         * tests/unicase/test-ignorable.c: Likewise.
25394         * tests/unicase/test-uc_tolower.c: Likewise.
25395         * tests/unicase/test-uc_totitle.c: Likewise.
25396         * tests/unicase/test-uc_toupper.c: Likewise.
25397         * tests/unictype/test-categ_C.c: Likewise.
25398         * tests/unictype/test-categ_Cn.c: Likewise.
25399         * tests/unictype/test-categ_L.c: Likewise.
25400         * tests/unictype/test-categ_Ll.c: Likewise.
25401         * tests/unictype/test-categ_Lm.c: Likewise.
25402         * tests/unictype/test-categ_Lo.c: Likewise.
25403         * tests/unictype/test-categ_Lu.c: Likewise.
25404         * tests/unictype/test-categ_M.c: Likewise.
25405         * tests/unictype/test-categ_Mc.c: Likewise.
25406         * tests/unictype/test-categ_Me.c: Likewise.
25407         * tests/unictype/test-categ_Mn.c: Likewise.
25408         * tests/unictype/test-categ_N.c: Likewise.
25409         * tests/unictype/test-categ_Nd.c: Likewise.
25410         * tests/unictype/test-categ_No.c: Likewise.
25411         * tests/unictype/test-categ_P.c: Likewise.
25412         * tests/unictype/test-categ_Po.c: Likewise.
25413         * tests/unictype/test-categ_S.c: Likewise.
25414         * tests/unictype/test-categ_Sc.c: Likewise.
25415         * tests/unictype/test-categ_Sk.c: Likewise.
25416         * tests/unictype/test-categ_Sm.c: Likewise.
25417         * tests/unictype/test-categ_So.c: Likewise.
25418         * tests/unictype/test-ctype_alnum.c: Likewise.
25419         * tests/unictype/test-ctype_alpha.c: Likewise.
25420         * tests/unictype/test-ctype_graph.c: Likewise.
25421         * tests/unictype/test-ctype_lower.c: Likewise.
25422         * tests/unictype/test-ctype_print.c: Likewise.
25423         * tests/unictype/test-ctype_punct.c: Likewise.
25424         * tests/unictype/test-ctype_upper.c: Likewise.
25425         * tests/unictype/test-decdigit.h: Likewise.
25426         * tests/unictype/test-digit.h: Likewise.
25427         * tests/unictype/test-numeric.h: Likewise.
25428         * tests/unictype/test-pr_alphabetic.c: Likewise.
25429         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
25430         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
25431         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
25432         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
25433         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
25434         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
25435         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
25436         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
25437         * tests/unictype/test-pr_case_ignorable.c: Likewise.
25438         * tests/unictype/test-pr_cased.c: Likewise.
25439         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
25440         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
25441         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
25442         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
25443         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
25444         * tests/unictype/test-pr_combining.c: Likewise.
25445         * tests/unictype/test-pr_composite.c: Likewise.
25446         * tests/unictype/test-pr_currency_symbol.c: Likewise.
25447         * tests/unictype/test-pr_decimal_digit.c: Likewise.
25448         * tests/unictype/test-pr_deprecated.c: Likewise.
25449         * tests/unictype/test-pr_format_control.c: Likewise.
25450         * tests/unictype/test-pr_grapheme_base.c: Likewise.
25451         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
25452         * tests/unictype/test-pr_grapheme_link.c: Likewise.
25453         * tests/unictype/test-pr_id_continue.c: Likewise.
25454         * tests/unictype/test-pr_id_start.c: Likewise.
25455         * tests/unictype/test-pr_ideographic.c: Likewise.
25456         * tests/unictype/test-pr_lowercase.c: Likewise.
25457         * tests/unictype/test-pr_math.c: Likewise.
25458         * tests/unictype/test-pr_numeric.c: Likewise.
25459         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
25460         * tests/unictype/test-pr_other_id_continue.c: Likewise.
25461         * tests/unictype/test-pr_other_math.c: Likewise.
25462         * tests/unictype/test-pr_punctuation.c: Likewise.
25463         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
25464         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
25465         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
25466         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
25467         * tests/unictype/test-pr_uppercase.c: Likewise.
25468         * tests/unictype/test-pr_xid_continue.c: Likewise.
25469         * tests/unictype/test-pr_xid_start.c: Likewise.
25470         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
25471         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
25472         changes.
25473         * lib/unictype/categ_Cc.h: Likewise.
25474         * lib/unictype/categ_Cf.h: Likewise.
25475         * lib/unictype/categ_Co.h: Likewise.
25476         * lib/unictype/categ_Cs.h: Likewise.
25477         * lib/unictype/categ_Lt.h: Likewise.
25478         * lib/unictype/categ_Nl.h: Likewise.
25479         * lib/unictype/categ_Pc.h: Likewise.
25480         * lib/unictype/categ_Pd.h: Likewise.
25481         * lib/unictype/categ_Pe.h: Likewise.
25482         * lib/unictype/categ_Pf.h: Likewise.
25483         * lib/unictype/categ_Pi.h: Likewise.
25484         * lib/unictype/categ_Ps.h: Likewise.
25485         * lib/unictype/categ_Z.h: Likewise.
25486         * lib/unictype/categ_Zl.h: Likewise.
25487         * lib/unictype/categ_Zp.h: Likewise.
25488         * lib/unictype/categ_Zs.h: Likewise.
25489         * lib/unictype/ctype_blank.h: Likewise.
25490         * lib/unictype/ctype_cntrl.h: Likewise.
25491         * lib/unictype/ctype_digit.h: Likewise.
25492         * lib/unictype/ctype_space.h: Likewise.
25493         * lib/unictype/ctype_xdigit.h: Likewise.
25494         * lib/unictype/mirror.h: Likewise.
25495         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
25496         * lib/unictype/pr_bidi_block_separator.h: Likewise.
25497         * lib/unictype/pr_bidi_common_separator.h: Likewise.
25498         * lib/unictype/pr_bidi_control.h: Likewise.
25499         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
25500         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
25501         * lib/unictype/pr_bidi_european_digit.h: Likewise.
25502         * lib/unictype/pr_bidi_pdf.h: Likewise.
25503         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
25504         * lib/unictype/pr_bidi_whitespace.h: Likewise.
25505         * lib/unictype/pr_dash.h: Likewise.
25506         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
25507         * lib/unictype/pr_diacritic.h: Likewise.
25508         * lib/unictype/pr_extender.h: Likewise.
25509         * lib/unictype/pr_hex_digit.h: Likewise.
25510         * lib/unictype/pr_hyphen.h: Likewise.
25511         * lib/unictype/pr_ids_binary_operator.h: Likewise.
25512         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
25513         * lib/unictype/pr_ignorable_control.h: Likewise.
25514         * lib/unictype/pr_iso_control.h: Likewise.
25515         * lib/unictype/pr_join_control.h: Likewise.
25516         * lib/unictype/pr_left_of_pair.h: Likewise.
25517         * lib/unictype/pr_line_separator.h: Likewise.
25518         * lib/unictype/pr_logical_order_exception.h: Likewise.
25519         * lib/unictype/pr_non_break.h: Likewise.
25520         * lib/unictype/pr_not_a_character.h: Likewise.
25521         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
25522         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
25523         * lib/unictype/pr_other_id_start.h: Likewise.
25524         * lib/unictype/pr_other_lowercase.h: Likewise.
25525         * lib/unictype/pr_other_uppercase.h: Likewise.
25526         * lib/unictype/pr_paired_punctuation.h: Likewise.
25527         * lib/unictype/pr_paragraph_separator.h: Likewise.
25528         * lib/unictype/pr_pattern_syntax.h: Likewise.
25529         * lib/unictype/pr_pattern_white_space.h: Likewise.
25530         * lib/unictype/pr_private_use.h: Likewise.
25531         * lib/unictype/pr_quotation_mark.h: Likewise.
25532         * lib/unictype/pr_radical.h: Likewise.
25533         * lib/unictype/pr_soft_dotted.h: Likewise.
25534         * lib/unictype/pr_space.h: Likewise.
25535         * lib/unictype/pr_titlecase.h: Likewise.
25536         * lib/unictype/pr_variation_selector.h: Likewise.
25537         * lib/unictype/pr_white_space.h: Likewise.
25538         * lib/unictype/pr_zero_width.h: Likewise.
25539         * lib/unictype/sy_c_ident.h: Likewise.
25540         * lib/unictype/sy_c_whitespace.h: Likewise.
25541         * lib/unictype/sy_java_whitespace.h: Likewise.
25542         * lib/uninorm/composition-table.gperf: Likewise.
25543         * lib/uninorm/decomposition-table1.h: Likewise.
25544         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
25545         LB8.
25546         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
25547         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
25548         * modules/unictype/*: Bump version number of expected libunistring
25549         version.
25550
25551 2011-01-09  Bruno Haible  <bruno@clisp.org>
25552
25553         Update to Unicode 5.2.0.
25554         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
25555         trailing whitespace removed.
25556
25557 2011-01-09  Bruno Haible  <bruno@clisp.org>
25558
25559         New Unicode character properties, from Unicode 5.2.0.
25560         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
25561         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
25562         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
25563         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
25564         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
25565         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
25566         uc_is_property_cased, uc_is_property_case_ignorable,
25567         uc_is_property_changes_when_lowercased,
25568         uc_is_property_changes_when_uppercased,
25569         uc_is_property_changes_when_titlecased,
25570         uc_is_property_changes_when_casefolded,
25571         uc_is_property_changes_when_casemapped): New declarations.
25572         * lib/unictype/pr_byname.gperf: Add the new properties.
25573         * modules/unictype/property-byname (Depends-on): Depend on the new
25574         properties modules.
25575         * modules/unictype/property-all (Depends-on): Likewise.
25576         * MODULES.html.sh (Unicode string functions): Add
25577         unictype/property-case-ignorable, unictype/property-cased,
25578         unictype/property-changes-when-casefolded,
25579         unictype/property-changes-when-casemapped,
25580         unictype/property-changes-when-lowercased,
25581         unictype/property-changes-when-titlecased,
25582         unictype/property-changes-when-uppercased.
25583
25584         New module 'unictype/property-changes-when-casemapped'.
25585         * modules/unictype/property-changes-when-casemapped: New file.
25586         * lib/unictype/pr_changes_when_casemapped.c: New file.
25587         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
25588         generated by gen-uni-tables.
25589         * modules/unictype/property-changes-when-casemapped-tests: New file.
25590         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
25591         automatically generated by gen-uni-tables.
25592
25593         New module 'unictype/property-changes-when-casefolded'.
25594         * modules/unictype/property-changes-when-casefolded: New file.
25595         * lib/unictype/pr_changes_when_casefolded.c: New file.
25596         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
25597         generated by gen-uni-tables.
25598         * modules/unictype/property-changes-when-casefolded-tests: New file.
25599         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
25600         automatically generated by gen-uni-tables.
25601
25602         New module 'unictype/property-changes-when-titlecased'.
25603         * modules/unictype/property-changes-when-titlecased: New file.
25604         * lib/unictype/pr_changes_when_titlecased.c: New file.
25605         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
25606         generated by gen-uni-tables.
25607         * modules/unictype/property-changes-when-titlecased-tests: New file.
25608         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
25609         automatically generated by gen-uni-tables.
25610
25611         New module 'unictype/property-changes-when-uppercased'.
25612         * modules/unictype/property-changes-when-uppercased: New file.
25613         * lib/unictype/pr_changes_when_uppercased.c: New file.
25614         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
25615         generated by gen-uni-tables.
25616         * modules/unictype/property-changes-when-uppercased-tests: New file.
25617         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
25618         automatically generated by gen-uni-tables.
25619
25620         New module 'unictype/property-changes-when-lowercased'.
25621         * modules/unictype/property-changes-when-lowercased: New file.
25622         * lib/unictype/pr_changes_when_lowercased.c: New file.
25623         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
25624         generated by gen-uni-tables.
25625         * modules/unictype/property-changes-when-lowercased-tests: New file.
25626         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
25627         automatically generated by gen-uni-tables.
25628
25629         New module 'unictype/property-case-ignorable'.
25630         * modules/unictype/property-case-ignorable: New file.
25631         * lib/unictype/pr_case_ignorable.c: New file.
25632         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
25633         by gen-uni-tables.
25634         * modules/unictype/property-case-ignorable-tests: New file.
25635         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
25636         generated by gen-uni-tables.
25637
25638         New module 'unictype/property-cased'.
25639         * modules/unictype/property-cased: New file.
25640         * lib/unictype/pr_cased.c: New file.
25641         * lib/unictype/pr_cased.h: New file, automatically generated by
25642         gen-uni-tables.
25643         * modules/unictype/property-cased-tests: New file.
25644         * tests/unictype/test-pr_cased.c: New file, automatically generated by
25645         gen-uni-tables.
25646
25647 2011-01-09  Bruno Haible  <bruno@clisp.org>
25648
25649         Update to Unicode 5.2.0.
25650         * lib/gen-uni-tables.c (output_predicate, output_category,
25651         output_combclass, output_bidi_category, output_decimal_digit_test,
25652         output_decimal_digit, output_digit_test, output_digit,
25653         output_numeric_test, output_numeric, output_mirror, output_scripts,
25654         output_scripts_byname, output_blocks, output_ident_category): Fix
25655         comment header.
25656         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
25657         get_wbp.
25658         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
25659         items.
25660         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
25661         Changes_When_Lowercased, Changes_When_Uppercased,
25662         Changes_When_Titlecased, Changes_When_Casefolded,
25663         Changes_When_Casemapped.
25664         (is_property_alphabetic, is_property_default_ignorable_code_point):
25665         Update for Unicode 5.2.0.
25666         (is_property_cased, is_property_case_ignorable,
25667         is_property_changes_when_lowercased,
25668         is_property_changes_when_uppercased,
25669         is_property_changes_when_titlecased,
25670         is_property_changes_when_casefolded,
25671         is_property_changes_when_casemapped): New functions.
25672         (output_properties): Output also the properties cased, case_ignorable,
25673         changes_when_lowercased, changes_when_uppercased,
25674         changes_when_titlecased, changes_when_casefolded,
25675         changes_when_casemapped.
25676         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
25677         Unicode TR#11 revision 17 -> 19.
25678         (LBP_CP): New enumeration value.
25679         (LBP_*): Adjust values accordingly.
25680         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
25681         TR#14 revision 22 -> 24.
25682         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
25683         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
25684         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
25685         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
25686         is_WBP_MIDLETTER.
25687         (output_composition_tables): Allow for 24 bits instead of 16 bits in
25688         the code1 and code2 of each composition rule.
25689         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
25690         * lib/unicase/ignorable.h: Likewise.
25691         * lib/unicase/tocasefold.h: Likewise.
25692         * lib/unicase/tolower.h: Likewise.
25693         * lib/unicase/totitle.h: Likewise.
25694         * lib/unicase/toupper.h: Likewise.
25695         * lib/unictype/bidi_of.h: Likewise.
25696         * lib/unictype/blocks.h: Likewise.
25697         * lib/unictype/categ_C.h: Likewise.
25698         * lib/unictype/categ_Cf.h: Likewise.
25699         * lib/unictype/categ_Cn.h: Likewise.
25700         * lib/unictype/categ_L.h: Likewise.
25701         * lib/unictype/categ_Ll.h: Likewise.
25702         * lib/unictype/categ_Lm.h: Likewise.
25703         * lib/unictype/categ_Lo.h: Likewise.
25704         * lib/unictype/categ_Lu.h: Likewise.
25705         * lib/unictype/categ_M.h: Likewise.
25706         * lib/unictype/categ_Mc.h: Likewise.
25707         * lib/unictype/categ_Mn.h: Likewise.
25708         * lib/unictype/categ_N.h: Likewise.
25709         * lib/unictype/categ_Nd.h: Likewise.
25710         * lib/unictype/categ_Nl.h: Likewise.
25711         * lib/unictype/categ_No.h: Likewise.
25712         * lib/unictype/categ_P.h: Likewise.
25713         * lib/unictype/categ_Pd.h: Likewise.
25714         * lib/unictype/categ_Po.h: Likewise.
25715         * lib/unictype/categ_S.h: Likewise.
25716         * lib/unictype/categ_Sc.h: Likewise.
25717         * lib/unictype/categ_So.h: Likewise.
25718         * lib/unictype/categ_of.h: Likewise.
25719         * lib/unictype/combining.h: Likewise.
25720         * lib/unictype/ctype_alnum.h: Likewise.
25721         * lib/unictype/ctype_alpha.h: Likewise.
25722         * lib/unictype/ctype_graph.h: Likewise.
25723         * lib/unictype/ctype_lower.h: Likewise.
25724         * lib/unictype/ctype_print.h: Likewise.
25725         * lib/unictype/ctype_punct.h: Likewise.
25726         * lib/unictype/ctype_upper.h: Likewise.
25727         * lib/unictype/decdigit.h: Likewise.
25728         * lib/unictype/digit.h: Likewise.
25729         * lib/unictype/numeric.h: Likewise.
25730         * lib/unictype/pr_alphabetic.h: Likewise.
25731         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
25732         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
25733         * lib/unictype/pr_bidi_european_digit.h: Likewise.
25734         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
25735         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
25736         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
25737         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
25738         * lib/unictype/pr_combining.h: Likewise.
25739         * lib/unictype/pr_composite.h: Likewise.
25740         * lib/unictype/pr_currency_symbol.h: Likewise.
25741         * lib/unictype/pr_dash.h: Likewise.
25742         * lib/unictype/pr_decimal_digit.h: Likewise.
25743         * lib/unictype/pr_deprecated.h: Likewise.
25744         * lib/unictype/pr_diacritic.h: Likewise.
25745         * lib/unictype/pr_extender.h: Likewise.
25746         * lib/unictype/pr_grapheme_base.h: Likewise.
25747         * lib/unictype/pr_grapheme_extend.h: Likewise.
25748         * lib/unictype/pr_grapheme_link.h: Likewise.
25749         * lib/unictype/pr_id_continue.h: Likewise.
25750         * lib/unictype/pr_id_start.h: Likewise.
25751         * lib/unictype/pr_ideographic.h: Likewise.
25752         * lib/unictype/pr_ignorable_control.h: Likewise.
25753         * lib/unictype/pr_logical_order_exception.h: Likewise.
25754         * lib/unictype/pr_lowercase.h: Likewise.
25755         * lib/unictype/pr_numeric.h: Likewise.
25756         * lib/unictype/pr_other_alphabetic.h: Likewise.
25757         * lib/unictype/pr_punctuation.h: Likewise.
25758         * lib/unictype/pr_sentence_terminal.h: Likewise.
25759         * lib/unictype/pr_terminal_punctuation.h: Likewise.
25760         * lib/unictype/pr_unassigned_code_value.h: Likewise.
25761         * lib/unictype/pr_unified_ideograph.h: Likewise.
25762         * lib/unictype/pr_uppercase.h: Likewise.
25763         * lib/unictype/pr_xid_continue.h: Likewise.
25764         * lib/unictype/pr_xid_start.h: Likewise.
25765         * lib/unictype/pr_zero_width.h: Likewise.
25766         * lib/unictype/scripts.h: Likewise.
25767         * lib/unictype/scripts_byname.gperf: Likewise.
25768         * lib/unictype/sy_java_ident.h: Likewise.
25769         * lib/unigbrk/gbrkprop.h: Likewise.
25770         * lib/unilbrk/lbrkprop1.h: Likewise.
25771         * lib/unilbrk/lbrkprop2.h: Likewise.
25772         * lib/unilbrk/lbrktables.h: Likewise.
25773         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
25774         LBP_CP. Implement rule LB30.
25775         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
25776         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
25777         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
25778         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
25779         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
25780         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
25781         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
25782         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
25783         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
25784         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
25785         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
25786         bits instead of 16 bits in the code1 and code2 of each composition
25787         rule.
25788         (uc_composition): Update for Unicode 5.2.0.
25789         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
25790         * lib/uninorm/decomposition-table2.h: Likewise.
25791         * lib/uniwbrk/wbrkprop.h: Likewise.
25792         * tests/unicase/test-cased.c: Likewise.
25793         * tests/unicase/test-ignorable.c: Likewise.
25794         * tests/unicase/test-uc_tolower.c: Likewise.
25795         * tests/unicase/test-uc_totitle.c: Likewise.
25796         * tests/unicase/test-uc_toupper.c: Likewise.
25797         * tests/unictype/test-categ_C.c: Likewise.
25798         * tests/unictype/test-categ_Cf.c: Likewise.
25799         * tests/unictype/test-categ_Cn.c: Likewise.
25800         * tests/unictype/test-categ_L.c: Likewise.
25801         * tests/unictype/test-categ_Ll.c: Likewise.
25802         * tests/unictype/test-categ_Lm.c: Likewise.
25803         * tests/unictype/test-categ_Lo.c: Likewise.
25804         * tests/unictype/test-categ_Lu.c: Likewise.
25805         * tests/unictype/test-categ_M.c: Likewise.
25806         * tests/unictype/test-categ_Mc.c: Likewise.
25807         * tests/unictype/test-categ_Mn.c: Likewise.
25808         * tests/unictype/test-categ_N.c: Likewise.
25809         * tests/unictype/test-categ_Nd.c: Likewise.
25810         * tests/unictype/test-categ_Nl.c: Likewise.
25811         * tests/unictype/test-categ_No.c: Likewise.
25812         * tests/unictype/test-categ_P.c: Likewise.
25813         * tests/unictype/test-categ_Pd.c: Likewise.
25814         * tests/unictype/test-categ_Po.c: Likewise.
25815         * tests/unictype/test-categ_S.c: Likewise.
25816         * tests/unictype/test-categ_Sc.c: Likewise.
25817         * tests/unictype/test-categ_So.c: Likewise.
25818         * tests/unictype/test-ctype_alnum.c: Likewise.
25819         * tests/unictype/test-ctype_alpha.c: Likewise.
25820         * tests/unictype/test-ctype_graph.c: Likewise.
25821         * tests/unictype/test-ctype_lower.c: Likewise.
25822         * tests/unictype/test-ctype_print.c: Likewise.
25823         * tests/unictype/test-ctype_punct.c: Likewise.
25824         * tests/unictype/test-ctype_upper.c: Likewise.
25825         * tests/unictype/test-decdigit.h: Likewise.
25826         * tests/unictype/test-digit.h: Likewise.
25827         * tests/unictype/test-numeric.h: Likewise.
25828         * tests/unictype/test-pr_alphabetic.c: Likewise.
25829         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
25830         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
25831         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
25832         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
25833         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
25834         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
25835         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
25836         * tests/unictype/test-pr_combining.c: Likewise.
25837         * tests/unictype/test-pr_composite.c: Likewise.
25838         * tests/unictype/test-pr_currency_symbol.c: Likewise.
25839         * tests/unictype/test-pr_dash.c: Likewise.
25840         * tests/unictype/test-pr_decimal_digit.c: Likewise.
25841         * tests/unictype/test-pr_deprecated.c: Likewise.
25842         * tests/unictype/test-pr_diacritic.c: Likewise.
25843         * tests/unictype/test-pr_extender.c: Likewise.
25844         * tests/unictype/test-pr_grapheme_base.c: Likewise.
25845         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
25846         * tests/unictype/test-pr_grapheme_link.c: Likewise.
25847         * tests/unictype/test-pr_id_continue.c: Likewise.
25848         * tests/unictype/test-pr_id_start.c: Likewise.
25849         * tests/unictype/test-pr_ideographic.c: Likewise.
25850         * tests/unictype/test-pr_ignorable_control.c: Likewise.
25851         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
25852         * tests/unictype/test-pr_lowercase.c: Likewise.
25853         * tests/unictype/test-pr_numeric.c: Likewise.
25854         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
25855         * tests/unictype/test-pr_punctuation.c: Likewise.
25856         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
25857         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
25858         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
25859         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
25860         * tests/unictype/test-pr_uppercase.c: Likewise.
25861         * tests/unictype/test-pr_xid_continue.c: Likewise.
25862         * tests/unictype/test-pr_xid_start.c: Likewise.
25863         * tests/unictype/test-pr_zero_width.c: Likewise.
25864         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
25865         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
25866         changed behaviour: line breaking is now disallowed between a letter
25867         or '=' and '('.
25868         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
25869         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
25870         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
25871         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
25872         * tests/uniwidth/test-uc_width2.sh: Same updates as in
25873         lib/uniwidth/width.c.
25874         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
25875         without comments, but with the original copyright notice.
25876         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
25877         changes.
25878         * lib/unictype/categ_Cc.h: Likewise.
25879         * lib/unictype/categ_Co.h: Likewise.
25880         * lib/unictype/categ_Cs.h: Likewise.
25881         * lib/unictype/categ_Lt.h: Likewise.
25882         * lib/unictype/categ_Me.h: Likewise.
25883         * lib/unictype/categ_Pc.h: Likewise.
25884         * lib/unictype/categ_Pe.h: Likewise.
25885         * lib/unictype/categ_Pf.h: Likewise.
25886         * lib/unictype/categ_Pi.h: Likewise.
25887         * lib/unictype/categ_Ps.h: Likewise.
25888         * lib/unictype/categ_Sk.h: Likewise.
25889         * lib/unictype/categ_Sm.h: Likewise.
25890         * lib/unictype/categ_Z.h: Likewise.
25891         * lib/unictype/categ_Zl.h: Likewise.
25892         * lib/unictype/categ_Zp.h: Likewise.
25893         * lib/unictype/categ_Zs.h: Likewise.
25894         * lib/unictype/ctype_blank.h: Likewise.
25895         * lib/unictype/ctype_cntrl.h: Likewise.
25896         * lib/unictype/ctype_digit.h: Likewise.
25897         * lib/unictype/ctype_space.h: Likewise.
25898         * lib/unictype/ctype_xdigit.h: Likewise.
25899         * lib/unictype/mirror.h: Likewise.
25900         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
25901         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
25902         * lib/unictype/pr_bidi_block_separator.h: Likewise.
25903         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
25904         * lib/unictype/pr_bidi_common_separator.h: Likewise.
25905         * lib/unictype/pr_bidi_control.h: Likewise.
25906         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
25907         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
25908         * lib/unictype/pr_bidi_pdf.h: Likewise.
25909         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
25910         * lib/unictype/pr_bidi_whitespace.h: Likewise.
25911         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
25912         * lib/unictype/pr_format_control.h: Likewise.
25913         * lib/unictype/pr_hex_digit.h: Likewise.
25914         * lib/unictype/pr_hyphen.h: Likewise.
25915         * lib/unictype/pr_ids_binary_operator.h: Likewise.
25916         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
25917         * lib/unictype/pr_iso_control.h: Likewise.
25918         * lib/unictype/pr_join_control.h: Likewise.
25919         * lib/unictype/pr_left_of_pair.h: Likewise.
25920         * lib/unictype/pr_line_separator.h: Likewise.
25921         * lib/unictype/pr_math.h: Likewise.
25922         * lib/unictype/pr_non_break.h: Likewise.
25923         * lib/unictype/pr_not_a_character.h: Likewise.
25924         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
25925         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
25926         * lib/unictype/pr_other_id_continue.h: Likewise.
25927         * lib/unictype/pr_other_id_start.h: Likewise.
25928         * lib/unictype/pr_other_lowercase.h: Likewise.
25929         * lib/unictype/pr_other_math.h: Likewise.
25930         * lib/unictype/pr_other_uppercase.h: Likewise.
25931         * lib/unictype/pr_paired_punctuation.h: Likewise.
25932         * lib/unictype/pr_paragraph_separator.h: Likewise.
25933         * lib/unictype/pr_pattern_syntax.h: Likewise.
25934         * lib/unictype/pr_pattern_white_space.h: Likewise.
25935         * lib/unictype/pr_private_use.h: Likewise.
25936         * lib/unictype/pr_quotation_mark.h: Likewise.
25937         * lib/unictype/pr_radical.h: Likewise.
25938         * lib/unictype/pr_soft_dotted.h: Likewise.
25939         * lib/unictype/pr_space.h: Likewise.
25940         * lib/unictype/pr_titlecase.h: Likewise.
25941         * lib/unictype/pr_variation_selector.h: Likewise.
25942         * lib/unictype/pr_white_space.h: Likewise.
25943         * lib/unictype/sy_c_ident.h: Likewise.
25944         * lib/unictype/sy_c_whitespace.h: Likewise.
25945         * lib/unictype/sy_java_whitespace.h: Likewise.
25946         * modules/uni*/*: Bump version number of expected libunistring version.
25947         Reported by Simon Josefsson.
25948
25949 2011-01-09  Karl Heuer  <kwzh@gnu.org>
25950
25951         useless-if-before-free: fix typo in --help and make the internal,
25952         automatic version date update process work once again.
25953         --help output contained a NUL character instead of the
25954         backslash-zero that was intended.  Also, the "must lie within
25955         the first 8 lines" line is on line 9, and hence not getting
25956         automatically updated.
25957         * build-aux/useless-if-before-free: Fix the former by adding a
25958         backslash, and the latter by condensing the three lines of what-it-does
25959         to a single line, leaving one line of slack for the future.
25960
25961 2011-01-09  Bruno Haible  <bruno@clisp.org>
25962
25963         uniwidth/width: Fix width of U+1D173..U+1D17A.
25964         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
25965         symbolic_width, output_width_property_test): New functions.
25966         (main): Invoke output_nonspacing_property, output_width_property_test.
25967         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
25968         U+1D173..U+1D17A.
25969         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
25970         1.
25971         * modules/uniwidth/*: Bump version number of expected libunistring
25972         version.
25973         * modules/unilbrk/*: Likewise.
25974
25975 2011-01-08  Bruno Haible  <bruno@clisp.org>
25976
25977         uninorm tests: Preserve copyright of Unicode data file.
25978         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
25979         Mention modifications.
25980
25981 2011-01-08  Bruno Haible  <bruno@clisp.org>
25982
25983         gen-uni-tables: Prepare for Unicode 5.2.0.
25984         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
25985         (debug_output_lbp, output_lbp): Update.
25986
25987 2011-01-08  Bruno Haible  <bruno@clisp.org>
25988
25989         unilbrk: Clarify gen-uni-tables.c code.
25990         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
25991         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
25992         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
25993
25994 2011-01-07  Bruno Haible  <bruno@clisp.org>
25995
25996         strtod: Restore errno when successfully parsing Infinity or NaN.
25997         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
25998         restore the original errno.
25999
26000 2011-01-07  Bruno Haible  <bruno@clisp.org>
26001
26002         remove test: Avoid failure on HP-UX 11.
26003         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
26004
26005 2011-01-07  Bruno Haible  <bruno@clisp.org>
26006
26007         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
26008         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
26009         error code.
26010
26011 2011-01-07  Pádraig Brady <P@draigBrady.com>
26012
26013         ignore-value: fixup comments, and add Eric Blake
26014         as an author since he rewrote the macros.
26015         * lib/ignore-value.h (ignore_value):  State that
26016         we now support aggregates.  Also specify exactly
26017         when the GCC warn_unused_result feature was added.
26018
26019 2011-01-06  Eric Blake  <eblake@redhat.com>
26020
26021         ignore-value: support aggregate types
26022         * lib/ignore-value.h (ignore_value): Provide separate gcc
26023         definition.
26024         * modules/ignore-value-tests: New test module.
26025         * tests/test-ignore-value.c: New test.
26026
26027         maint.mk: improve sc_prohibit_strcmp regex
26028         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
26029         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
26030         definition of STRNEQ.
26031
26032         signal: work around Haiku issue with SIGBUS
26033         * lib/siglist.h: Add comment.
26034         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
26035         strsignal's favoring of SIGSEGV.
26036         * tests/test-signal.c (main): Avoid test failure.
26037         * doc/posix-headers/signal.texi (signal.h): Document the issue.
26038         Reported by Scott McCreary.
26039
26040         maint.mk: add pre-release check to ensure submodule commits are public
26041         * top/maint.mk (public-submodule-commit): New rule.
26042         (submodule-checks): New variable.
26043         (alpha beta stable): Depend on the variable.
26044
26045 2011-01-05  Pádraig Brady <P@draigBrady.com>
26046         and Jim Meyering  <meyering@redhat.com>
26047
26048         ignore-value: make ignore_value more generic; deprecate ignore_ptr
26049         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
26050         (ATTRIBUTE_DEPRECATED): Define.
26051         (_ignore_case): New function.
26052         (ignore_value): New macro, to replace the old function.
26053         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
26054         * modules/ignore-value (Depends-on): Add stdint.
26055
26056 2011-01-04  Eric Blake  <eblake@redhat.com>
26057
26058         doc: regenerate INSTALL
26059         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
26060         @firstparagraphindent support, now that autoconf dropped it.
26061         (INSTALL_PRELUDE): Reinstate old macro.
26062         * doc/install.texi: Resync from autoconf.
26063         * doc/INSTALL: Reflect recent autoconf update.
26064         * doc/INSTALL.ISO: Likewise.
26065         * doc/INSTALL.UTF-8: Likewise.
26066         Reported by Karl Berry.
26067
26068 2011-01-04  Bruce Korb  <address@hidden>
26069
26070         git-version-gen: avoid a sub-shell
26071         * build-aux/git-version-gen: Redirect stderr in `...` via
26072         "exec 2>...", rather than via an added sub-shell.
26073
26074 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
26075
26076         git-version-gen: use (...) rather than sh -c '...'
26077         * build-aux/git-version-gen: Rather than hard-coding a shell's name
26078         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
26079
26080 2011-01-03  Jim Meyering  <meyering@redhat.com>
26081
26082         git-version-gen: convert leading TABs to spaces
26083         * build-aux/git-version-gen: Expand leading TABs.
26084
26085         git-version-gen: handle failed "git rev-list"
26086         * build-aux/git-version-gen: Rather than leaking a "fatal" error
26087         from git and proceeding as if it had succeeded but printed no SHA1
26088         checksums, suppress the diagnostic and handle the failure.
26089         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
26090
26091         git-version-gen: include command name in one more diagnostic
26092         * build-aux/git-version-gen: When the required .tarball-version file
26093         was missing or unreadable, you might see the diagnostic from "cat",
26094         but no trace of the name of the invoking script.  Now, you still see
26095         the diagnostic from cat, but also get one from "git-version-gen: ".
26096         Inspired by a patch from Bruce Korb.
26097
26098         update-copyright: adjust test to match changed code
26099         * tests/test-update-copyright.sh: Change test's expected output
26100         to match new actual output.
26101
26102 2011-01-02  Bruno Haible  <bruno@clisp.org>
26103
26104         getlogin_r: Avoid test failure on HP-UX 11.
26105         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
26106         ERANGE when the second argument is zero.
26107         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
26108         portability problem.
26109
26110 2011-01-02  Bruce Korb  <bkorb@gnu.org>
26111
26112         * build-aux/update-copyright: doc Simon's changes
26113
26114 2011-01-02  Simon Josefsson  <simon@josefsson.org>
26115
26116         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
26117         environment variable.
26118
26119 2011-01-02  Bruno Haible  <bruno@clisp.org>
26120
26121         unigbrk: Avoid gcc warnings.
26122         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
26123         unused variable.
26124         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
26125         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
26126         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
26127         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
26128         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
26129         Change type of first argument to 'const char *'.
26130         (main): Remove unused variable.
26131         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
26132         type of first argument to 'const char *'.
26133         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
26134         Likewise.
26135         (main): Change type of variable 's'.
26136         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
26137         to 'int'.
26138
26139 2011-01-02  Bruno Haible  <bruno@clisp.org>
26140
26141         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
26142         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
26143         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
26144         bug.
26145         * lib/pwrite.c: Undo 2010-12-31 patch.
26146         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
26147
26148 2011-01-02  Bruno Haible  <bruno@clisp.org>
26149
26150         pread: Fix test whether it works.
26151         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
26152
26153 2011-01-02  Bruno Haible  <bruno@clisp.org>
26154
26155         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
26156         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
26157         ends in "6". Don't require a specific month name. Try also the locale
26158         names found on HP-UX 11 and Solaris 7.
26159
26160 2011-01-02  Bruno Haible  <bruno@clisp.org>
26161
26162         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
26163         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
26164         C linkage.
26165         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
26166
26167 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
26168
26169         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
26170         for consistency, since the "cluster" term is not used elsewhere.
26171         * lib/unigbrk.in.h: Update name.
26172         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
26173         * lib/unigbrk/u16-grapheme-next.c: Update name.
26174         * lib/unigbrk/u16-grapheme-prev.c: Update name.
26175         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
26176         * lib/unigbrk/u32-grapheme-next.c: Update name.
26177         * lib/unigbrk/u32-grapheme-prev.c: Update name.
26178         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
26179         * lib/unigbrk/u8-grapheme-next.c: Update name.
26180         * lib/unigbrk/u8-grapheme-prev.c: Update name.
26181         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
26182         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
26183         Suggested by Bruno Haible.
26184
26185 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
26186
26187         Remove module 'u8-grapheme-len' as too redundant with
26188         'u8-grapheme-next'.
26189         * modules/unigbrk/u8-grapheme-len: Delete file.
26190         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
26191         * lib/unigbrk.in.h: Remove prototype for deleted function.
26192         * lib/unigbrk/u8-grapheme-len.c: Delete file.
26193         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
26194
26195         Remove module 'u16-grapheme-len' as too redundant with
26196         'u16-grapheme-next'.
26197         * modules/unigbrk/u16-grapheme-len: Delete file.
26198         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
26199         * lib/unigbrk.in.h: Remove prototype for deleted function.
26200         * lib/unigbrk/u16-grapheme-len.c: Delete file.
26201         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
26202
26203         Remove module 'u32-grapheme-len' as too redundant with
26204         'u32-grapheme-next'.
26205         * modules/unigbrk/u32-grapheme-len: Delete file.
26206         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
26207         * lib/unigbrk.in.h: Remove prototype for deleted function.
26208         * lib/unigbrk/u32-grapheme-len.c: Delete file.
26209         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
26210
26211         Suggested by Bruno Haible.
26212
26213 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
26214
26215         * unigbrk.in.h: Fix typo: "ben" => "been".
26216         Reported by Bruno Haible.
26217
26218 2011-01-01  Jim Meyering  <meyering@redhat.com>
26219
26220         maint: update almost all copyright ranges to include 2011
26221         Run the new "make update-copyright" rule.
26222
26223 2011-01-01  Jim Meyering  <meyering@redhat.com>
26224
26225         maint: update-copyright: exempt doc/INSTALL*
26226         * Makefile (update-copyright): Also exclude doc/INSTALL*,
26227         since they are generated.  Suggested by Bruno Haible.
26228
26229 2011-01-01  Jim Meyering  <meyering@redhat.com>
26230
26231         maint: refine the update-copyright rule
26232         * Makefile (update-copyright): Also exclude any file that includes
26233         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
26234         code that merely generates the comment.
26235
26236 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
26237
26238         New module 'u8-grapheme-len'.
26239         * modules/unigbrk/u8-grapheme-len: New file.
26240         * modules/unigbrk/u8-grapheme-len-tests: New file.
26241         * lib/unigbrk.in.h: Add prototype for new function.
26242         * lib/unigbrk/u8-grapheme-len.c: New file.
26243         * tests/unigbrk/test-u8-grapheme-len.c: New file.
26244
26245         New module 'u16-grapheme-len'.
26246         * modules/unigbrk/u16-grapheme-len: New file.
26247         * modules/unigbrk/u16-grapheme-len-tests: New file.
26248         * lib/unigbrk.in.h: Add prototype for new function.
26249         * lib/unigbrk/u16-grapheme-len.c: New file.
26250         * tests/unigbrk/test-u16-grapheme-len.c: New file.
26251
26252         New module 'u32-grapheme-len'.
26253         * modules/unigbrk/u32-grapheme-len: New file.
26254         * modules/unigbrk/u32-grapheme-len-tests: New file.
26255         * lib/unigbrk.in.h: Add prototype for new function.
26256         * lib/unigbrk/u32-grapheme-len.c: New file.
26257         * tests/unigbrk/test-u32-grapheme-len.c: New file.
26258
26259         New module 'u8-grapheme-next'.
26260         * modules/unigbrk/u8-grapheme-next: New file.
26261         * modules/unigbrk/u8-grapheme-next-tests: New file.
26262         * lib/unigbrk.in.h: Add prototype for new function.
26263         * lib/unigbrk/u8-grapheme-next.c: New file.
26264         * tests/unigbrk/test-u8-grapheme-next.c: New file.
26265
26266         New module 'u16-grapheme-next'.
26267         * modules/unigbrk/u16-grapheme-next: New file.
26268         * modules/unigbrk/u16-grapheme-next-tests: New file.
26269         * lib/unigbrk.in.h: Add prototype for new function.
26270         * lib/unigbrk/u16-grapheme-next.c: New file.
26271         * tests/unigbrk/test-u16-grapheme-next.c: New file.
26272
26273         New module 'u32-grapheme-next'.
26274         * modules/unigbrk/u32-grapheme-next: New file.
26275         * modules/unigbrk/u32-grapheme-next-tests: New file.
26276         * lib/unigbrk.in.h: Add prototype for new function.
26277         * lib/unigbrk/u32-grapheme-next.c: New file.
26278         * tests/unigbrk/test-u32-grapheme-next.c: New file.
26279
26280         New module 'u8-grapheme-prev'.
26281         * modules/unigbrk/u8-grapheme-prev: New file.
26282         * modules/unigbrk/u8-grapheme-prev-tests: New file.
26283         * lib/unigbrk.in.h: Add prototype for new function.
26284         * lib/unigbrk/u8-grapheme-prev.c: New file.
26285         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
26286
26287         New module 'u16-grapheme-prev'.
26288         * modules/unigbrk/u16-grapheme-prev: New file.
26289         * modules/unigbrk/u16-grapheme-prev-tests: New file.
26290         * lib/unigbrk.in.h: Add prototype for new function.
26291         * lib/unigbrk/u16-grapheme-prev.c: New file.
26292         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
26293
26294         New module 'u32-grapheme-prev'.
26295         * modules/unigbrk/u32-grapheme-prev: New file.
26296         * modules/unigbrk/u32-grapheme-prev-tests: New file.
26297         * lib/unigbrk.in.h: Add prototype for new function.
26298         * lib/unigbrk/u32-grapheme-prev.c: New file.
26299         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
26300
26301         New module 'u8-grapheme-breaks'.
26302         * modules/unigbrk/u8-grapheme-breaks: New file.
26303         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
26304         * lib/unigbrk.in.h: Add prototype for new function.
26305         * lib/unigbrk/u8-grapheme-breaks.c: New file.
26306         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
26307
26308         New module 'u16-grapheme-breaks'.
26309         * modules/unigbrk/u16-grapheme-breaks: New file.
26310         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
26311         * lib/unigbrk.in.h: Add prototype for new function.
26312         * lib/unigbrk/u16-grapheme-breaks.c: New file.
26313         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
26314
26315         New module 'u32-grapheme-breaks'.
26316         * modules/unigbrk/u32-grapheme-breaks: New file.
26317         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
26318         * lib/unigbrk.in.h: Add prototype for new function.
26319         * lib/unigbrk/u32-grapheme-breaks.c: New file.
26320         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
26321
26322         New module 'ulc-grapheme-breaks'.
26323         * modules/unigbrk/ulc-grapheme-breaks: New file.
26324         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
26325         * m4/locale-ar.m4: New file.
26326         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
26327         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
26328         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
26329
26330 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
26331
26332         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
26333         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
26334         modified how this file was generated before I initially submitted
26335         the module, but failed to regenerate it.  This meant that several
26336         of the level2 entries were wrong.
26337         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
26338         Remove the division-by-2 that is folded into the table now that
26339         gbrkprop.h has been regenerated properly.  Now -1 entries are
26340         handled correctly.
26341
26342         New module 'unigbrk/uc-gbrk-prop-tests'.
26343         * modules/unigbrk/uc-gbrk-prop-tests: New file.
26344         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
26345         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
26346         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
26347
26348 2011-01-01  Bruno Haible  <bruno@clisp.org>
26349
26350         Avoid use of hexadecimal escapes.
26351         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
26352         instead of hexadecimal escapes.
26353
26354 2011-01-01  Jim Meyering  <meyering@redhat.com>
26355
26356         maint: new rule to update copyright year ranges
26357         * Makefile (update-copyright): New rule.
26358
26359         maint: indent with TABs in Makefile
26360         * Makefile: Expand leading sequences of spaces to TABs
26361
26362         version-etc: update the copyright year it reports
26363         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
26364
26365 2010-12-31  Bruno Haible  <bruno@clisp.org>
26366
26367         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
26368         * lib/isfinite.c (zerof, zerod, zerol): New variables.
26369         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
26370         zero.
26371
26372 2010-12-31  Bruno Haible  <bruno@clisp.org>
26373
26374         pwrite: Work around HP-UX 11.11 bug.
26375         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
26376         works and set REPLACE_PWRITE if not.
26377         * lib/pwrite.c (pwrite): Add an implementation that uses the system
26378         function.
26379         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
26380
26381 2010-12-31  Bruno Haible  <bruno@clisp.org>
26382
26383         pread: Work around HP-UX 11 bugs.
26384         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
26385         and set REPLACE_PREAD if not.
26386         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
26387
26388 2010-12-31  Eric Blake  <eblake@redhat.com>
26389
26390         nl_langinfo: fix YESEXPR on Irix 6.5
26391         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
26392         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
26393         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
26394         it.
26395
26396 2010-12-31  Bruno Haible  <bruno@clisp.org>
26397
26398         iconv: Document HP-UX 11 bug.
26399         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
26400
26401 2010-12-31  Bruno Haible  <bruno@clisp.org>
26402
26403         ldexpl: Fix link error on HP-UX 11.
26404         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
26405         LDEXPL_LIBM, using $ISNANL_LIBM.
26406
26407 2010-12-31  Eric Blake  <eblake@redhat.com>
26408
26409         ftello: avoid compilation failure with SunStudio c89
26410         * lib/ftello.c (ftello): Use lseek, not llseek.
26411
26412         tests: avoid failing coreutils tests on cygwin
26413         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
26414         (create_exe_shims_): Return 0 when skipping.
26415
26416 2010-12-31  Bruno Haible  <bruno@clisp.org>
26417
26418         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
26419         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
26420
26421 2010-12-31  Bruno Haible  <bruno@clisp.org>
26422
26423         waitpid: Fix link error in C++ mode.
26424         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
26425
26426 2010-12-31  Bruno Haible  <bruno@clisp.org>
26427
26428         isnan: Use GCC built-ins when possible.
26429         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
26430         __builtin_isnan.
26431         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
26432         (isnan): Define using GCC built-ins for GCC >= 4.0.
26433
26434 2010-12-31  Bruno Haible  <bruno@clisp.org>
26435
26436         isnand: Fix mistake.
26437         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
26438         __builtin_isnand.
26439
26440 2010-12-31  Bruno Haible  <bruno@clisp.org>
26441
26442         open: Avoid C++ error on HP-UX 11.
26443         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
26444
26445 2010-12-31  Bruno Haible  <bruno@clisp.org>
26446
26447         time_r: Add missing declarations on HP-UX 11.
26448         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
26449         instead of HAVE_LOCALTIME_R.
26450         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
26451         HAVE_LOCALTIME_R always.
26452         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
26453         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
26454         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
26455         HAVE_LOCALTIME_R.
26456         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
26457         * doc/posix-functions/localtime_r.texi: Likewise.
26458
26459 2010-12-29  Eric Blake  <eblake@redhat.com>
26460
26461         mountlist: tweak previous commit
26462         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
26463         Reported by Paul Eggert.
26464
26465         mountlist: fix local drive detection on cygwin
26466         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
26467         that works for cygwin.
26468
26469 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
26470
26471         ftoastr, snprintf: ftoastr + snprintf module
26472         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
26473         since the snprintf module now should be good enough here.
26474         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
26475         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
26476         and gl_MODULE_INDICATOR([snprintf]), but the former enables
26477         GNULIB_SNPRINTF only for the test directory, and the latter
26478         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
26479         seems to suffice by itself.
26480
26481 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
26482
26483         alloca: one step towards thread-safety
26484         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
26485         need for a static variable.  All callers changed.  This does not
26486         make the alloca replacement thread-safe, but it's one step.
26487
26488         tests: minor indenting change
26489         * tests/init.sh: Sync from coreutils housekeeping patch
26490         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
26491         to keep lines within 80 columns.
26492
26493 2010-12-28  Jim Meyering  <meyering@redhat.com>
26494
26495         regex: don't infloop on persistent failing calloc
26496         * lib/regexec.c (build_trtable): Return failure indication upon
26497         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
26498         In glibc, this was fixed for version 2.13:
26499         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
26500
26501 2010-12-28  Bruno Haible  <bruno@clisp.org>
26502             Paul Eggert <eggert@cs.ucla.edu>
26503
26504         linkat: Make implementation robust against system behaviour variations.
26505         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
26506         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
26507         way, and to -2 if it needs a generic runtime test.
26508         * lib/linkat.c (solaris_optimized_link_immediate,
26509         solaris_optimized_link_follow): New functions.
26510         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
26511         (check_same_link): Use it.
26512
26513 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
26514
26515         New module 'unigbrk/base'.
26516         * modules/unigbrk/base: New file.
26517         * lib/unigbrk.in.h: New file.
26518
26519         New module 'unigbrk/uc-gbrk-prop'.
26520         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
26521         * modules/unigbrk/uc-gbrk-prop: New file.
26522         * lib/unigbrk/gbrkprop.h: New file.
26523         * lib/unigbrk/uc-gbrk-prop.c: New file.
26524
26525         New module 'unigbrk/uc-is-grapheme-break'.
26526         * modules/unigbrk/uc-is-grapheme-break: New file.
26527         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
26528         * lib/unigbrk/uc-is-grapheme-break.c: New file.
26529         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
26530         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
26531         * tests/unigbrk/GraphemeBreakTest.txt: New file.
26532
26533         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
26534
26535 2010-12-27  Bruno Haible  <bruno@clisp.org>
26536
26537         linkat test: Avoid failure on Solaris 11 2010-11.
26538         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
26539
26540 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
26541
26542         utimens: work around glibc rounding bug on more platforms
26543         * lib/utimens.c (fdutimens): Work around rounding bug even if
26544         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
26545         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
26546
26547 2010-12-27  Bruno Haible  <bruno@clisp.org>
26548
26549         select tests: Improve comments.
26550         * tests/test-select.c (do_select): Add comments.
26551
26552 2010-12-27  Bruno Haible  <bruno@clisp.org>
26553
26554         select tests: Safer way of handling timeout.
26555         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
26556         at every invocation.
26557
26558 2010-12-27  Bruno Haible  <bruno@clisp.org>
26559
26560         select tests: Use 'bool' where appropriate.
26561         * tests/test-select.c (connect_to_socket): Change argument type to
26562         'bool'.
26563
26564 2010-12-27  Bruno Haible  <bruno@clisp.org>
26565
26566         select tests: Use existing modules.
26567         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
26568         (configure.ac): Don't test for unistd.h.
26569         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
26570         declared in <unistd.h>.
26571
26572 2010-12-27  Bruno Haible  <bruno@clisp.org>
26573
26574         mbrtowc: Work around a Solaris 7 bug.
26575         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
26576         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
26577         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
26578         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
26579         MBRTOWC_NULL_ARG1_BUG.
26580         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
26581         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
26582         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
26583         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
26584
26585 2010-12-27  Jim Meyering  <meyering@redhat.com>
26586
26587         read-file.c: tweak syntax
26588         * lib/read-file.c (fread_file): Remove space after "*" in function
26589         definitions.
26590
26591 2010-12-27  Bruno Haible  <bruno@clisp.org>
26592
26593         times test: Avoid gcc warnings on OSF/1.
26594         * tests/test-times.c (main): Cast printf arguments from clock_t to
26595         'long int'.
26596
26597 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
26598
26599         utimens: work around glibc rounding bug on older Linux kernels
26600         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
26601         on Linux with a glibc whose utimes might not work, then work
26602         around a longstanding glibc bug involving rounding rather than
26603         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
26604         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
26605
26606 2010-12-26  Bruno Haible  <bruno@clisp.org>
26607
26608         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
26609         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
26610         _GL_CXXALIAS_SYS.
26611         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
26612
26613 2010-12-26  Bruno Haible  <bruno@clisp.org>
26614
26615         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
26616         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
26617         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
26618         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
26619         looking for the declaration.
26620         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
26621         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
26622         problem.
26623         * doc/posix-functions/inet_pton.texi: Likewise.
26624
26625 2010-12-26  Bruno Haible  <bruno@clisp.org>
26626
26627         arpa_inet: Use the common idioms with C++ support.
26628         * lib/arpa_inet.in.h: Include c++defs.h.
26629         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
26630         support.
26631         * modules/arpa_inet (Depends-on): Add c++defs.
26632         (Makefile.am): Substitute the contents of c++defs.h.
26633         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
26634         * modules/arpa_inet-c++-tests: New file.
26635         * tests/test-arpa_inet-c++.cc: New file.
26636
26637 2010-12-25  Bruno Haible  <bruno@clisp.org>
26638
26639         Fix more C++ link errors on Solaris 8.
26640         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
26641         $(LIB_EACCESS).
26642         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
26643         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
26644         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
26645         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
26646         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
26647
26648 2010-12-25  Bruno Haible  <bruno@clisp.org>
26649
26650         printf-posix: Fix link error when a non-GCC compiler is used.
26651         * lib/stdio.in.h (printf): When not using GCC, override printf
26652         correctly.
26653         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
26654
26655 2010-12-25  Bruno Haible  <bruno@clisp.org>
26656
26657         strerror_r-posix: Update doc.
26658         * doc/posix-functions/strerror_r.texi: Update doc about the return
26659         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
26660
26661 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
26662
26663         utimens: simplify the logic of the previous change
26664         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
26665         This should not affect whether the test succeeds or fails.
26666
26667         utimens: configure better on hosts with NFS clock skew
26668         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
26669         uses the clock of the local host.  It might use the clock of the
26670         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
26671         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
26672
26673 2010-12-25  Bruno Haible  <bruno@clisp.org>
26674
26675         ptsname test: Avoid failure on Solaris.
26676         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
26677         open a pseudo-terminal; don't use BSD-style ptys.
26678         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
26679
26680 2010-12-25  Bruno Haible  <bruno@clisp.org>
26681
26682         ptsname: Avoid ERANGE failure on some systems.
26683         * lib/ptsname.c (buffer): Increase size.
26684
26685 2010-12-25  Bruno Haible  <bruno@clisp.org>
26686
26687         rename, renameat: Avoid test failures at NFS mounted locations.
26688         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
26689         so that subsequent mkdir calls succeed.
26690
26691 2010-12-25  Bruno Haible  <bruno@clisp.org>
26692
26693         iswblank: Fix C++ link error on Solaris 8.
26694         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
26695         _GL_FUNCDECL_SYS.
26696
26697 2010-12-25  Bruno Haible  <bruno@clisp.org>
26698
26699         unistd: Fix C++ link error on Solaris 8.
26700         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
26701
26702 2010-12-25  Bruno Haible  <bruno@clisp.org>
26703
26704         readlink doc: Mention an old glibc bug.
26705         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
26706
26707 2010-12-25  Bruno Haible  <bruno@clisp.org>
26708
26709         fcntl-h: Fix for use of C++ on glibc systems.
26710         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
26711         also on glibc systems in C++ mode.
26712         Reported by Gary V. Vaughan <gary@gnu.org>.
26713
26714 2010-12-25  Bruno Haible  <bruno@clisp.org>
26715
26716         roundl-ieee: Make it work on OSF/1 5.1 with cc.
26717         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
26718
26719 2010-12-25  Bruno Haible  <bruno@clisp.org>
26720
26721         truncl-ieee: Make it work on OSF/1 5.1 with cc.
26722         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
26723         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
26724         test whether truncl works according to ISO C 99 with IEC 60559.
26725         * m4/truncl-ieee.m4: New file.
26726         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
26727         m4/signbit.m4.
26728         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
26729
26730 2010-12-25  Bruno Haible  <bruno@clisp.org>
26731
26732         ceill-ieee: Make it work on OSF/1 5.1 with cc.
26733         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
26734         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
26735         test whether ceill works according to ISO C 99 with IEC 60559.
26736         * m4/ceill-ieee.m4: New file.
26737         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
26738         m4/signbit.m4.
26739         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
26740
26741 2010-12-25  Bruno Haible  <bruno@clisp.org>
26742
26743         Ensure all prerequisites of <wchar.h> are included.
26744         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
26745         before <wchar.h>.
26746         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
26747         gl_MBRLEN_NUL_RETVAL): Likewise.
26748         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
26749         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
26750         AC_FUNC_MBRTOWC): Likewise.
26751         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
26752         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
26753         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
26754         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
26755         Likewise.
26756         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
26757         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
26758         (gl_WCHAR_H): Improve comments.
26759         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
26760
26761 2010-12-25  Bruno Haible  <bruno@clisp.org>
26762
26763         strtok_r: Fix C syntax error in autoconf macro.
26764         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
26765         characters in test program.
26766
26767 2010-12-24  Bruno Haible  <bruno@clisp.org>
26768
26769         ceil, trunc, round: Fix gcc warnings.
26770         * lib/ceil.c (MIN): Undefine before redefining.
26771         * lib/trunc.c (MIN): Likewise.
26772         * lib/round.c (MIN): Likewise.
26773         Include <math.h> first.
26774
26775 2010-12-24  Bruno Haible  <bruno@clisp.org>
26776
26777         select tests: Avoid failures on OSF/1 5.1.
26778         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
26779         failure of closing the last socket; it may fail with ECONNRESET.
26780
26781 2010-12-24  Eric Blake  <eblake@redhat.com>
26782
26783         stdint: avoid HP-UX 10.20 preprocessor bug
26784         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
26785         than #if.
26786         * tests/test-floor2.c (main): Likewise.
26787         Reported by Peter O'Gorman.
26788
26789         pipe: make obsoletion transition easier
26790         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
26791         * modules/pipe (Files): Include revived file.
26792         (Include): Drop reference, to mirror getdate's behavior.
26793
26794 2010-12-24  Bruno Haible  <bruno@clisp.org>
26795
26796         sys_socket: Hide mismatch of declarations on NonStop Kernel.
26797         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
26798         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
26799         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
26800
26801 2010-12-24  Bruno Haible  <bruno@clisp.org>
26802
26803         gethostname: Ensure declaration on NonStop Kernel.
26804         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
26805         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
26806
26807 2010-12-24  Bruno Haible  <bruno@clisp.org>
26808
26809         sys_select: Ensure all necessary types on NonStop Kernel.
26810         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
26811         include <sys/time.h>.
26812         * doc/posix-headers/sys_select.texi: Mention that it's missing on
26813         NonStop Kernel.
26814         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
26815
26816 2010-12-24  Bruno Haible  <bruno@clisp.org>
26817
26818         sys_select: Remove unneeded include.
26819         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
26820         have <sys/select.h>.
26821
26822 2010-12-24  Bruno Haible  <bruno@clisp.org>
26823
26824         gethostname: Provide a fallback for HOST_NAME_MAX.
26825         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
26826         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
26827         instead.
26828         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
26829
26830 2010-12-24  Bruno Haible  <bruno@clisp.org>
26831
26832         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
26833         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
26834         (SA_RESTART): Likewise.
26835         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
26836
26837 2010-12-24  Bruno Haible  <bruno@clisp.org>
26838
26839         signal: Define NSIG.
26840         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
26841         * tests/test-signal.c (nsig): New variable.
26842         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
26843
26844 2010-12-24  Bruno Haible  <bruno@clisp.org>
26845
26846         rename, renameat: Avoid test failures on OSF/1 5.1.
26847         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
26848         alternative error codes.
26849         * tests/test-renameat.c (main): Likewise.
26850
26851 2010-12-24  Bruno Haible  <bruno@clisp.org>
26852
26853         *printf: Detect large precisions bug on Solaris 10/SPARC.
26854         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
26855         by Paul Eggert.
26856         * tests/test-snprintf-posix.h (test_function): Add this test code here
26857         too.
26858         * tests/test-sprintf-posix.h (test_function): Likewise.
26859         * tests/test-vasnprintf-posix.c (test_function): Likewise.
26860         * tests/test-vasprintf-posix.c (test_function): Likewise.
26861         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
26862         around by gnulib.
26863         * doc/posix-functions/printf.texi: Likewise.
26864         * doc/posix-functions/snprintf.texi: Likewise.
26865         * doc/posix-functions/sprintf.texi: Likewise.
26866         * doc/posix-functions/vfprintf.texi: Likewise.
26867         * doc/posix-functions/vprintf.texi: Likewise.
26868         * doc/posix-functions/vsnprintf.texi: Likewise.
26869         * doc/posix-functions/vsprintf.texi: Likewise.
26870         * doc/posix-functions/dprintf.texi: Undo last commit.
26871         * doc/posix-functions/vdprintf.texi: Likewise.
26872
26873 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
26874
26875         tests: port test-fdutimensat.c to Solaris 8
26876         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
26877         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
26878         On Solaris 8, it fails with errno == ENOSYS, because there is no
26879         futimens (so it can't use the fd), and there is no lutimens (so it
26880         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
26881
26882         vsnprintf: make more consistent with snprintf; doc fixes
26883
26884         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
26885         the byte count return problem was promoted from the snprintf-posix
26886         to the snprintf module.
26887         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
26888         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
26889         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
26890         * tests/test-snprintf.c (main): Check the byte count returned.
26891         * tests/test-vsnprintf.c (main): Likewise.
26892
26893 2010-12-23  Eric Blake  <eblake@redhat.com>
26894
26895         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
26896         * modules/sigpipe (License): Relax license.
26897
26898 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
26899
26900         doc: document Solaris printf bug with large float precisions
26901         * doc/posix-functions/dprintf.texi (dprintf):
26902         * doc/posix-functions/fprintf.texi (fprintf):
26903         * doc/posix-functions/printf.texi (printf):
26904         * doc/posix-functions/snprintf.texi (snprintf):
26905         * doc/posix-functions/sprintf.texi (sprintf):
26906         * doc/posix-functions/vdprintf.texi (vdprintf):
26907         * doc/posix-functions/vfprintf.texi (vfprintf):
26908         * doc/posix-functions/vprintf.texi (vprintf):
26909         * doc/posix-functions/vsnprintf.texi (vsnprintf):
26910         * doc/posix-functions/vsprintf.texi (vsprintf):
26911         Mention that these functions mishandle large floating point
26912         precisions on Solaris 10.  The same bug is also present in Solaris
26913         8, and I assume earlier.  This causes "cd gnulib-tests; make
26914         check" to fail on Solaris 8 (and I assume, later) when building
26915         the latest coreutils, in test-vasprintf-posix's call to
26916         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
26917         the wide flavors (e.g., wprintf) so this patch just updates the
26918         documentation for the narrow ones.
26919
26920         test-posixtm.c: add two tests
26921         * tests/test-posixtm.c: Add two tests, to highlight the
26922         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
26923         around this bug; this is merely to document it.
26924
26925 2010-12-22  Bruno Haible  <bruno@clisp.org>
26926
26927         getlogin_r: Work around portability problem on OSF/1.
26928         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
26929         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
26930         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
26931         test for a truncated result.
26932         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
26933         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
26934         * modules/getlogin_r (Depends-on): Add memchr.
26935         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
26936
26937 2010-12-22  Bruno Haible  <bruno@clisp.org>
26938
26939         ptsname: Avoid test failure on OSF/1 5.1.
26940         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
26941         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
26942         (same_slave): New function.
26943         (main): Use it to compare ptsname's result with the expected file name.
26944
26945 2010-12-22  Bruno Haible  <bruno@clisp.org>
26946
26947         Port extended stdio modules to HP NonStop Kernel.
26948         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
26949         macros.
26950         * lib/fbufmode.c: Update comments.
26951         * lib/fflush.c: Likewise.
26952         * lib/fpurge.c: Likewise.
26953         * lib/freadable.c: Likewise.
26954         * lib/freadahead.c: Likewise.
26955         * lib/freading.c: Likewise.
26956         * lib/freadptr.c: Likewise.
26957         * lib/freadseek.c: Likewise.
26958         * lib/fseeko.c: Likewise.
26959         * lib/fseterr.c: Likewise.
26960         * lib/fwritable.c: Likewise.
26961         * lib/fwriting.c: Likewise.
26962         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
26963
26964 2010-12-22  Bruno Haible  <bruno@clisp.org>
26965
26966         ttyname_r: Work around bug on OSF/1 5.1.
26967         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
26968         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
26969         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
26970         present.
26971         * lib/ttyname_r.c (ttyname_r): Update comments.
26972
26973 2010-12-22  Bruno Haible  <bruno@clisp.org>
26974
26975         round: Implement result sign according to IEEE 754.
26976         * lib/round.c (MIN, MINUS_ZERO): New macros.
26977         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
26978         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
26979         * tests/test-round-ieee.c (main): Likewise.
26980         * tests/test-roundl-ieee.c (main): Likewise.
26981
26982         trunc: Implement result sign according to IEEE 754.
26983         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
26984         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
26985         * tests/test-trunc2.c: Include minus-zero.h.
26986         (MINUS_ZERO): New macro.
26987         (trunc_reference): Keep in sync with lib/trunc.c.
26988         * tests/test-truncf2.c: Include minus-zero.h.
26989         (MINUS_ZERO): New macro.
26990         (truncf_reference): Keep in sync with lib/trunc.c.
26991         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
26992         * tests/test-trunc-ieee.c (main): Likewise.
26993         * tests/test-truncl-ieee.c (main): Likewise.
26994
26995         ceil: Implement result sign according to IEEE 754.
26996         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
26997         (FUNC): Return -0.0 for -1 < x < 0.
26998         * tests/test-ceil2.c: Include minus-zero.h.
26999         (MINUS_ZERO): New macro.
27000         (ceil_reference): Keep in sync with lib/ceil.c.
27001         * tests/test-ceilf2.c: Include minus-zero.h.
27002         (MINUS_ZERO): New macro.
27003         (ceilf_reference): Keep in sync with lib/ceil.c.
27004         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
27005         * tests/test-ceil-ieee.c (main): Likewise.
27006         * tests/test-ceill-ieee.c (main): Likewise.
27007
27008         floor: Implement result sign according to IEEE 754.
27009         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
27010         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
27011         * tests/test-floorf2.c (floorf_reference): Likewise.
27012         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
27013         * tests/test-floor-ieee.c (main): Likewise.
27014         * tests/test-floorl-ieee.c (main): Likewise.
27015
27016 2010-12-22  Bruno Haible  <bruno@clisp.org>
27017
27018         getaddrinfo: Update doc.
27019         * doc/posix-functions/gai_strerror.texi: Return type is also different
27020         on AIX and HP-UX.
27021
27022 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
27023
27024         getaddrinfo, inet_ntop: Update doc for Solaris.
27025         * doc/posix-functions/gai_strerror.texi: Return type is also an
27026         issue on Solaris 9 and earlier.
27027         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
27028         on Solaris 10 and earlier.
27029
27030 2010-12-21  Bruno Haible  <bruno@clisp.org>
27031
27032         New module 'roundl-ieee'.
27033         * modules/roundl-ieee: New file.
27034         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
27035         test whether roundl works according to ISO C 99 with IEC 60559.
27036         * m4/roundl-ieee.m4: New file.
27037         * modules/roundl-ieee-tests: New file.
27038         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
27039         * tests/test-roundl.c (main): Remove signbit tests.
27040         * modules/roundl-tests (Depends-on): Remove signbit.
27041         * doc/posix-functions/roundl.texi: Mention the new module.
27042
27043 2010-12-21  Bruno Haible  <bruno@clisp.org>
27044
27045         New module 'truncl-ieee'.
27046         * modules/truncl-ieee: New file.
27047         * modules/truncl-ieee-tests: New file.
27048         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
27049         * tests/test-truncl.c (main): Remove signbit tests.
27050         * modules/truncl-tests (Depends-on): Remove signbit.
27051         * doc/posix-functions/truncl.texi: Mention the new module.
27052
27053 2010-12-21  Bruno Haible  <bruno@clisp.org>
27054
27055         New module 'ceill-ieee'.
27056         * modules/ceill-ieee: New file.
27057         * modules/ceill-ieee-tests: New file.
27058         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
27059         * tests/test-ceill.c (main): Remove signbit tests.
27060         * modules/ceill-tests (Depends-on): Remove signbit.
27061         * doc/posix-functions/ceill.texi: Mention the new module.
27062
27063 2010-12-21  Bruno Haible  <bruno@clisp.org>
27064
27065         New module 'floorl-ieee'.
27066         * modules/floorl-ieee: New file.
27067         * modules/floorl-ieee-tests: New file.
27068         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
27069         * tests/test-floorl.c (main): Remove signbit tests.
27070         * modules/floorl-tests (Depends-on): Remove signbit.
27071         * doc/posix-functions/floorl.texi: Mention the new module.
27072
27073 2010-12-21  Bruno Haible  <bruno@clisp.org>
27074
27075         New module 'round-ieee'.
27076         * modules/round-ieee: New file.
27077         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
27078         whether round works according to ISO C 99 with IEC 60559.
27079         * m4/round-ieee.m4: New file.
27080         * modules/round-ieee-tests: New file.
27081         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
27082         * tests/test-round1.c (main): Remove signbit tests.
27083         * modules/round-tests (Depends-on): Remove 'signbit'.
27084         * doc/posix-functions/round.texi: Mention the new module.
27085
27086 2010-12-21  Bruno Haible  <bruno@clisp.org>
27087
27088         New module 'trunc-ieee'.
27089         * modules/trunc-ieee: New file.
27090         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
27091         whether trunc works according to ISO C 99 with IEC 60559.
27092         * m4/trunc-ieee.m4: New file.
27093         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
27094         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
27095         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
27096         * modules/trunc-ieee-tests: New file.
27097         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
27098         * tests/test-trunc1.c (main): Remove signbit tests.
27099         * modules/trunc-tests (Depends-on): Remove 'signbit'.
27100         * doc/posix-functions/trunc.texi: Mention the new module.
27101
27102 2010-12-21  Bruno Haible  <bruno@clisp.org>
27103
27104         New module 'ceil-ieee'.
27105         * modules/ceil-ieee: New file.
27106         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
27107         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
27108         ISO C 99 with IEC 60559.
27109         * m4/ceil-ieee.m4: New file.
27110         * modules/ceil (Files): Add lib/ceil.c.
27111         (Depends-on): Add 'float'.
27112         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
27113         * lib/math.in.h (ceil): New declaration.
27114         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
27115         REPLACE_CEIL.
27116         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
27117         * modules/ceil-ieee-tests: New file.
27118         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
27119         * tests/test-math-c++.cc: Check the signature of 'ceil'.
27120         * doc/posix-functions/ceil.texi: Mention the new module.
27121
27122 2010-12-21  Bruno Haible  <bruno@clisp.org>
27123
27124         New module 'floor-ieee'.
27125         * modules/floor-ieee: New file.
27126         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
27127         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
27128         ISO C 99 with IEC 60559.
27129         * m4/floor-ieee.m4: New file.
27130         * modules/floor (Files): Add lib/floor.c.
27131         (Depends-on): Add 'float'.
27132         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
27133         * lib/math.in.h (floor): New declaration.
27134         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
27135         REPLACE_FLOOR.
27136         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
27137         * modules/floor-ieee-tests: New file.
27138         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
27139         * tests/test-math-c++.cc: Check the signature of 'floor'.
27140         * doc/posix-functions/floor.texi: Mention the new module.
27141
27142 2010-12-21  Bruno Haible  <bruno@clisp.org>
27143
27144         New module 'roundf-ieee'.
27145         * modules/roundf-ieee: New file.
27146         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
27147         test whether roundf works according to ISO C 99 with IEC 60559.
27148         * m4/roundf-ieee.m4: New file.
27149         * modules/roundf-ieee-tests: New file.
27150         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
27151         * tests/test-roundf1.c (main): Remove signbit tests.
27152         * modules/roundf-tests (Depends-on): Remove 'signbit'.
27153         * doc/posix-functions/roundf.texi: Mention the new module.
27154
27155 2010-12-21  Bruno Haible  <bruno@clisp.org>
27156
27157         New module 'truncf-ieee'.
27158         * modules/truncf-ieee: New file.
27159         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
27160         test whether truncf works according to ISO C 99 with IEC 60559.
27161         * m4/truncf-ieee.m4: New file.
27162         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
27163         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
27164         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
27165         * modules/truncf-ieee-tests: New file.
27166         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
27167         * tests/test-truncf1.c (main): Remove signbit tests.
27168         * modules/truncf-tests (Depends-on): Remove 'signbit'.
27169         * doc/posix-functions/truncf.texi: Mention the new module.
27170
27171 2010-12-21  Bruno Haible  <bruno@clisp.org>
27172
27173         New module 'ceilf-ieee'.
27174         * modules/ceilf-ieee: New file.
27175         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
27176         test whether ceilf works according to ISO C 99 with IEC 60559.
27177         * m4/ceilf-ieee.m4: New file.
27178         * modules/ceilf-ieee-tests: New file.
27179         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
27180         * tests/test-ceilf1.c (main): Remove signbit tests.
27181         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
27182         * doc/posix-functions/ceilf.texi: Mention the new module.
27183
27184 2010-12-21  Bruno Haible  <bruno@clisp.org>
27185
27186         New module 'floorf-ieee'.
27187         * modules/floorf-ieee: New file.
27188         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
27189         test whether floorf works according to ISO C 99 with IEC 60559.
27190         * m4/floorf-ieee.m4: New file.
27191         * modules/floorf-ieee-tests: New file.
27192         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
27193         * tests/test-floorf1.c (main): Remove signbit tests.
27194         * modules/floorf-tests (Depends-on): Remove 'signbit'.
27195         * doc/posix-functions/floorf.texi: Mention the new module.
27196
27197 2010-12-21  Bruno Haible  <bruno@clisp.org>
27198
27199         Support for minus zero in autoconf macros.
27200         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
27201         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
27202         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
27203         * tests/minus-zero.h: Update comments.
27204
27205 2010-12-21  Bruno Haible  <bruno@clisp.org>
27206
27207         Tests for module 'ceil'.
27208         * modules/ceil-tests: New file.
27209         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
27210         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
27211
27212 2010-12-21  Bruno Haible  <bruno@clisp.org>
27213
27214         Tests for module 'floor'.
27215         * modules/floor-tests: New file.
27216         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
27217         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
27218
27219 2010-12-21  Bruno Haible  <bruno@clisp.org>
27220
27221         math: Fix indentation.
27222         * lib/math.in.h (floorf): Fix indentation.
27223
27224 2010-12-21  Bruno Haible  <bruno@clisp.org>
27225
27226         Fix cross-compilation guesses on Solaris.
27227         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
27228         not match "solaris2.10".
27229         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
27230         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
27231         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
27232
27233 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
27234
27235         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
27236         This fixes a problem observed with the latest coreutils snapshot
27237         that caused a test to fail on Solaris 8.  src/csplit.c's call
27238         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
27239         earlier, instead of returning the number of bytes that would have
27240         been generated; this causes csplit to incorrectly report memory
27241         exhaustion.
27242         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
27243         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
27244         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
27245         comments to match.
27246         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
27247         Fix typo in matching older versions of Solaris: "solaris2.10"
27248         is matched by the shell pattern "solaris2.[0-9]*".  This matters
27249         only for guessing while cross-compiling.
27250         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
27251
27252 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
27253
27254         ftoastr: fix comment again
27255         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
27256         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
27257         Also, simplify example a bit by using flags = 0.
27258
27259 2010-12-20  Bruno Haible  <bruno@clisp.org>
27260
27261         round*, trunc*: Update documentation regarding glibc.
27262         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
27263         * doc/posix-functions/round.texi: Likewise.
27264         * doc/posix-functions/roundl.texi: Likewise.
27265         * doc/posix-functions/truncf.texi: Likewise.
27266         * doc/posix-functions/trunc.texi: Likewise.
27267         * doc/posix-functions/truncl.texi: Likewise.
27268
27269 2010-12-20  Bruno Haible  <bruno@clisp.org>
27270
27271         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
27272         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
27273         * doc/posix-functions/round.texi: Likewise.
27274         * doc/posix-functions/roundl.texi: Likewise.
27275
27276 2010-12-20  Bruno Haible  <bruno@clisp.org>
27277
27278         ttyname_r: Add missing declaration on HP-UX 11.
27279         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
27280         HAVE_TTYNAME_R.
27281         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
27282         declared. Set HAVE_TTYNAME_R always.
27283         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
27284         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
27285         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
27286         HAVE_TTYNAME_R.
27287         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
27288
27289 2010-12-20  Bruno Haible  <bruno@clisp.org>
27290
27291         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
27292         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
27293         * doc/posix-functions/getlogin_r.texi: Likewise.
27294         * tests/test-getlogin.c: Include <errno.h>.
27295         (main): Avoid test failure on HP-UX 11.11.
27296         * tests/test-getlogin_r.c (main): Likewise.
27297
27298 2010-12-20  Bruno Haible  <bruno@clisp.org>
27299
27300         getlogin_r: Add missing declaration on HP-UX 11.
27301         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
27302         declared also when it exists as a function.
27303         * doc/posix-functions/getlogin_r.texi: Document this workaround.
27304
27305 2010-12-20  Bruno Haible  <bruno@clisp.org>
27306
27307         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
27308         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
27309         through wcrtomb.
27310
27311 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
27312
27313         ftoastr: fix comment
27314         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
27315         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
27316
27317 2010-12-19  Bruno Haible  <bruno@clisp.org>
27318
27319         isnan: Ensure it is a macro.
27320         * lib/math.in.h (isnan): Define as a macro if not already a macro.
27321         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
27322         Solaris.
27323
27324 2010-12-19  Bruno Haible  <bruno@clisp.org>
27325
27326         ldexpl test: Fix link error on OSF/1 5.1.
27327         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
27328
27329 2010-12-19  Bruno Haible  <bruno@clisp.org>
27330
27331         wctype: Make it work in C++ mode on OSF/1 5.1.
27332         * lib/wctype.in.h (iswblank): Declare but not define here.
27333         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
27334         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
27335         * modules/wctype (Files): Add lib/iswblank.c.
27336
27337 2010-12-19  Bruno Haible  <bruno@clisp.org>
27338
27339         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
27340         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
27341         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
27342
27343 2010-12-19  Bruno Haible  <bruno@clisp.org>
27344
27345         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
27346         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
27347         _POSIX_PII_SOCKET.
27348         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
27349         * doc/posix-functions/recvfrom.texi: Likewise.
27350         * doc/posix-functions/send.texi: Likewise.
27351         * doc/posix-functions/sendto.texi: Likewise.
27352
27353 2010-12-19  Bruno Haible  <bruno@clisp.org>
27354
27355         tcgetsid: Add missing declaration on OSF/1 5.1.
27356         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
27357         HAVE_TCGETSID.
27358         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
27359         Don't set HAVE_TCGETSID.
27360         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
27361         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
27362         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
27363         HAVE_TCGETSID.
27364         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
27365
27366 2010-12-19  Bruno Haible  <bruno@clisp.org>
27367
27368         stdio: Fix problem with popen() declaration on OSF/1 5.1.
27369         * lib/stdio.in.h: During the include_next statement, let recursive
27370         includes of this file include only the system header file.
27371
27372 2010-12-19  Bruno Haible  <bruno@clisp.org>
27373
27374         iconv_open: Fix regression from 2010-12-04.
27375         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
27376         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
27377
27378 2010-12-19  Bruno Haible  <bruno@clisp.org>
27379
27380         stdbool test: Avoid a gcc warning.
27381         * tests/test-stdbool.c (main): Fail if e1 is false.
27382         Reported by Jim Meyering.
27383
27384 2010-12-19  Jim Meyering  <meyering@redhat.com>
27385
27386         setenv: restore to working order
27387         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
27388         mistakenly removed.
27389         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
27390         HAVE_SETENV.
27391         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
27392         HAVE_SETENV.
27393
27394 2010-12-19  Bruno Haible  <bruno@clisp.org>
27395
27396         Document some different function declarations on OSF/1 5.1.
27397         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
27398         * doc/posix-functions/inet_ntop.texi: Likewise.
27399         * doc/posix-functions/gethostname.texi: Likewise.
27400         * lib/unistd.in.h (gethostname): Update comment.
27401
27402 2010-12-19  Bruno Haible  <bruno@clisp.org>
27403
27404         doc: Mention vasprintf-posix module.
27405         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
27406         the 'vasprintf-posix' module.
27407         * doc/glibc-functions/vasprintf.texi: Likewise.
27408
27409 2010-12-19  Bruno Haible  <bruno@clisp.org>
27410
27411         unsetenv: Add missing declaration on OSF/1 5.1.
27412         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
27413         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
27414         Don't set HAVE_UNSETENV. In the test program, set _BSD.
27415         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
27416         not HAVE_UNSETENV.
27417         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
27418         HAVE_UNSETENV.
27419         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
27420
27421 2010-12-19  Bruno Haible  <bruno@clisp.org>
27422
27423         setenv: Add missing declaration on OSF/1 5.1.
27424         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
27425         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
27426         declared. Don't set HAVE_SETENV.
27427         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
27428         not HAVE_SETENV.
27429         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
27430         HAVE_SETENV.
27431         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
27432
27433 2010-12-19  Bruno Haible  <bruno@clisp.org>
27434
27435         nl_langinfo tests: Avoid gcc warning.
27436         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
27437
27438 2010-12-19  Bruno Haible  <bruno@clisp.org>
27439
27440         mknod: Avoid error in C++ mode on OSF/1 with GCC.
27441         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
27442         _GL_CXXALIAS_SYS.
27443
27444 2010-12-19  Bruno Haible  <bruno@clisp.org>
27445
27446         stdbool: Relax test.
27447         * tests/test-stdbool.c (e): Don't require that casts from a variable's
27448         address to 'bool' work in static initializer, for compilers other than
27449         GCC.
27450
27451 2010-12-19  Bruno Haible  <bruno@clisp.org>
27452
27453         ftello: Add missing declaration on OSF/1 5.1.
27454         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
27455         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
27456         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
27457         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
27458         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
27459
27460 2010-12-19  Bruno Haible  <bruno@clisp.org>
27461
27462         fseeko: Add missing declaration on OSF/1 5.1.
27463         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
27464         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
27465         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
27466         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
27467         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
27468
27469 2010-12-19  Bruno Haible  <bruno@clisp.org>
27470
27471         fchdir: Add missing declaration on OSF/1 5.1.
27472         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
27473         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
27474         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
27475         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
27476         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
27477
27478 2010-12-19  Bruno Haible  <bruno@clisp.org>
27479
27480         relocatable-prog-wrapper: Separate from relocatable-prog.
27481         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
27482         uninstall-relocwrapper rule here.
27483         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
27484         Reported by Ian Beckwith <ianb@erislabs.net>.
27485
27486 2010-12-19  Bruno Haible  <bruno@clisp.org>
27487
27488         unistr/u8-mbsnlen: Add missing dependency.
27489         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
27490         Reported by Ian Beckwith <ianb@erislabs.net>.
27491
27492 2010-12-19  Bruno Haible  <bruno@clisp.org>
27493
27494         iconv: Make it possible again to use this module without 'iconv-h'.
27495         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
27496         if it is not defined.
27497         Reported by Ian Beckwith <ianb@erislabs.net>.
27498
27499 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
27500
27501         acl: port to Solaris 8 when copying from tmpfs to ufs
27502         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
27503         error number.  Problem observed on Solaris 8 with latest
27504         coreutils, with "mv A B", where A is on a tmpfs file system and B
27505         is on a ufs file system.  This caused coreutils' mv/part-symlink
27506         test to fail.
27507
27508         tests: set fail=0 at start
27509         * tests/init.sh (setup_): Move fail=0 initialization here ...
27510         (mktempd_): ... from here, so that tests can rely on fail being
27511         set to 0 initially.  This fixes a problem in coreutils; see:
27512         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
27513
27514 2010-12-18  Bruno Haible  <bruno@clisp.org>
27515
27516         memmem-simple: Stylistic changes.
27517         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
27518         Fix preprocessor directive indentation.
27519
27520 2010-12-15  Pádraig Brady <P@draigBrady.com>
27521
27522         memmem, memmem-simple: reorganize and expand empty needle check
27523         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
27524         functional checks to memmem-simple so that one has a fully functional
27525         memmem by using just this module.
27526         Restrict the performance only check to the memmem module.
27527         Also expand the empty needle check to ensure the correct
27528         pointer is returned, not just a non NULL pointer.
27529         * doc/glibc-functions/memmem.texi: Rearrange the portability
27530         documentation to correlate with the rearranged checks.
27531         Clarify exactly how the memmem and memmem-simple modules
27532         relate to each other.
27533
27534 2010-12-15  Pádraig Brady <P@draigBrady.com>
27535             Bruno Haible  <bruno@clisp.org>
27536
27537         Improve cross-compilation guesses for uClibc.
27538         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
27539         that uClibc does not have the glibc bug.
27540         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
27541         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
27542
27543 2010-12-14  Eric Blake  <eblake@redhat.com>
27544
27545         configmake: provide fallbacks for oldest supported autotools
27546         * m4/configmake.m4: New file.
27547         * modules/configmake (Files): Ship it.
27548         (configure.ac): Use it to guarantee fallbacks.
27549
27550 2010-12-13  Pádraig Brady <P@draigBrady.com>
27551
27552         read-file: Improve handling of large files
27553         * lib/read-file.c (fread_file): Minimize realloc()s
27554         for regular files, and better manage sizes around SIZE_MAX.
27555
27556 2010-12-13  Eric Blake  <eblake@redhat.com>
27557
27558         cloexec, fcntl: relax license
27559         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
27560         consent from all contributors.
27561         * modules/fcntl (License): Likewise.
27562
27563 2010-12-10  Bruno Haible  <bruno@clisp.org>
27564
27565         Tests for module 'pipe-posix'.
27566         * modules/pipe-posix-tests: New file.
27567         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
27568
27569 2010-12-10  Bruno Haible  <bruno@clisp.org>
27570
27571         pipe-posix: Make it work in C++ mode.
27572         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
27573         (pipe): Use common idiom, not a macro definition.
27574         * lib/pipe.c: New file.
27575         * m4/pipe.m4: New file.
27576         * modules/pipe-posix (Description): Enhance.
27577         (Files): Add lib/pipe.c, m4/pipe.m4.
27578         (configure.ac): Invoke gl_FUNC_PIPE.
27579         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
27580         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
27581         * tests/test-unistd-c++.cc: Check the signature of pipe.
27582
27583 2010-12-10  Bruno Haible  <bruno@clisp.org>
27584
27585         Rename module 'pipe' to 'spawn-pipe'.
27586         * modules/spawn-pipe: New file, renamed from modules/pipe.
27587         (Files, configure.ac, Makefile.am): Update.
27588         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
27589         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
27590         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
27591         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
27592         "spawn-pipe.h" instead of "pipe.h".
27593         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
27594         to gl_SPAWN_PIPE.
27595         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
27596         (Files, Makefile.am): Update.
27597         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
27598         Update.
27599         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
27600         Include "spawn-pipe.h" instead of "pipe.h".
27601         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
27602         * lib/javacomp.c: Likewise.
27603         * lib/javaversion.c: Likewise.
27604         * lib/pipe-filter-gi.c: Likewise.
27605         * lib/pipe-filter-ii.c: Likewise.
27606         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
27607         * modules/javacomp (Depends-on): Likewise.
27608         * modules/javaversion (Depends-on): Likewise.
27609         * modules/pipe-filter-gi (Depends-on): Likewise.
27610         * modules/pipe-filter-ii (Depends-on): Likewise.
27611         * MODULES.html.sh (Executing programs): Update.
27612         * NEWS: Mention the change.
27613
27614 2010-12-10  Eric Blake  <eblake@redhat.com>
27615
27616         pipe-posix: new module
27617         * modules/pipe-posix: New file.
27618         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
27619         (gl_UNISTD_H): Check for declaration.
27620         * modules/unistd (Makefile.am): Substitute it.
27621         * lib/unistd.in.h (pipe): Provide it for mingw.
27622         * doc/posix-functions/pipe.texi (pipe): Update documentation.
27623         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
27624
27625 2010-12-07  Bruno Haible  <bruno@clisp.org>
27626
27627         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
27628         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
27629         u8_strcmp_gnu.
27630         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
27631
27632 2010-12-06  Bruno Haible  <bruno@clisp.org>
27633
27634         Update internal documentation.
27635         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
27636
27637 2010-12-04  Bruno Haible  <bruno@clisp.org>
27638
27639         Put more information about failed tests into the test return codes.
27640         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
27641         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
27642         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
27643         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
27644         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
27645         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
27646         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
27647         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
27648         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
27649         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
27650         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
27651         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
27652         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
27653         * m4/stdint.m4 (gl_STDINT_H): Likewise.
27654         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
27655         returns a bit mask.
27656         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
27657         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
27658         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
27659         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
27660         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
27661         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
27662         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
27663         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
27664         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
27665         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
27666         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
27667         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
27668         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
27669         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
27670         * m4/link.m4 (gl_FUNC_LINK): Likewise.
27671         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
27672         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
27673         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
27674         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
27675         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
27676         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
27677         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
27678         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
27679         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
27680         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
27681         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
27682         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
27683         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
27684         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
27685         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
27686         gl_PRINTF_PRECISION): Likewise.
27687         * m4/regex.m4 (gl_REGEX): Likewise.
27688         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
27689         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
27690         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
27691         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
27692         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
27693         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
27694         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
27695         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
27696         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
27697         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
27698         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
27699         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
27700         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
27701         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
27702         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
27703         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
27704         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
27705         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
27706         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
27707         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
27708         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
27709         enumerated value.
27710         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
27711
27712 2010-12-04  Bruno Haible  <bruno@clisp.org>
27713
27714         Update for Solaris 11 2010-11.
27715         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
27716         Express, released in November 2010.
27717
27718 2010-12-04  Bruno Haible  <bruno@clisp.org>
27719
27720         nproc: Relax license.
27721         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
27722         and Paul Eggert.
27723         Requested by Ludovic Courtès <ludo@gnu.org>.
27724
27725 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
27726
27727         utimecmp: fine-grained src to nearby coarse-grained dest
27728
27729         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
27730         and the source is on a file system with higher-resolution time
27731         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
27732         not work, and the time stamps are close together, the algorithm to
27733         determine the exact resolution from the read-back mtime was buggy:
27734         it had a "!=" where it should have had an "==".  This bug has been
27735         in the code ever since it was introduced to gnulib.
27736         Problem reported by Dan Jacobson in
27737         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
27738
27739 2010-11-30  Bruno Haible  <bruno@clisp.org>
27740
27741         strerror_r-posix: Fix autoconf test.
27742         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
27743
27744 2010-11-28  Bruno Haible  <bruno@clisp.org>
27745             Paul Eggert  <eggert@cs.ucla.edu>
27746
27747         Tests for module 'getdomainname'.
27748         * modules/getdomainname-tests: New file.
27749         * tests/test-getdomainname.c: New file, based on
27750         tests/test-gethostname.c.
27751
27752 2010-11-28  Bruno Haible  <bruno@clisp.org>
27753             Paul Eggert  <eggert@cs.ucla.edu>
27754
27755         getdomainname: Use the system function when possible.
27756         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
27757         (getdomainname): Replace if needed. Provide the declaration if it is
27758         missing. Don't use _GL_CXXALIAS_SYS_CAST.
27759         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
27760         (getdomainname): When the system has getdomainname, call the system
27761         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
27762         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
27763         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
27764         found in libnsl. Look for the declaration also in <netdb.h>. Replace
27765         the function if its second argument is of type 'int' or if it is found
27766         in libnsl.
27767         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
27768         <sys/systeminfo.h> and sysinfo().
27769         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
27770         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
27771         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
27772         HAVE_GETDOMAINNAME.
27773         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
27774         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
27775         * doc/glibc-functions/getdomainname.texi: Document the problems with
27776         the getdomainname declaration.
27777
27778 2010-11-28  Bruno Haible  <bruno@clisp.org>
27779
27780         sys_socket: Ensure ss_family field on AIX.
27781         * lib/sys_socket.in.h (ss_family): New macro definition.
27782         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
27783         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
27784         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
27785         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
27786         * modules/sys_socket (Makefile.am): Substitute
27787         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
27788         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
27789
27790 2010-11-27  Bruno Haible  <bruno@clisp.org>
27791
27792         readline: Improve configure output.
27793         * m4/readline.m4 (gl_FUNC_READLINE): Make the
27794         "checking for readline..." result understandable.
27795
27796 2010-11-27  Bruno Haible  <bruno@clisp.org>
27797
27798         *printf-posix: Detect a bug on Solaris 10/x86.
27799         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
27800         for floating-point output.
27801         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
27802         directive.
27803         * tests/test-snprintf-posix.h (test_function): Likewise.
27804         * tests/test-sprintf-posix.h (test_function): Likewise.
27805         * tests/test-vasprintf-posix.c (test_function): Likewise.
27806         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
27807         * doc/posix-functions/printf.texi: Likewise.
27808         * doc/posix-functions/snprintf.texi: Likewise.
27809         * doc/posix-functions/sprintf.texi: Likewise.
27810         * doc/posix-functions/vfprintf.texi: Likewise.
27811         * doc/posix-functions/vprintf.texi: Likewise.
27812         * doc/posix-functions/vsnprintf.texi: Likewise.
27813         * doc/posix-functions/vsprintf.texi: Likewise.
27814         * doc/glibc-functions/obstack_printf.texi: Likewise.
27815         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
27816
27817 2010-11-27  Bruno Haible  <bruno@clisp.org>
27818
27819         Fix link error when module libunistring-optional is in use.
27820         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
27821         * modules/striconveha-tests (Makefile.am): Likewise.
27822
27823 2010-11-27  Bruno Haible  <bruno@clisp.org>
27824
27825         regex: Mention link dependencies.
27826         * modules/regex (Link): New section.
27827         * modules/rpmatch (Link): Likewise.
27828         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
27829
27830 2010-11-27  Bruno Haible  <bruno@clisp.org>
27831
27832         ftoastr: Fix compilation error on Solaris.
27833         * lib/ftoastr.c: Include <config.h>.
27834
27835 2010-11-27  Bruno Haible  <bruno@clisp.org>
27836
27837         getloadavg: Update documentation.
27838         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
27839
27840 2010-11-27  Bruno Haible  <bruno@clisp.org>
27841
27842         sys_socket: Fix test whether the functions are declared.
27843         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
27844         not <sys/select.h>.
27845
27846 2010-11-27  Bruno Haible  <bruno@clisp.org>
27847
27848         getpass: Make sure to get system declaration on some platforms.
27849         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
27850         gl_USE_SYSTEM_EXTENSIONS.
27851         * modules/getpass (Depends-on): Add extensions.
27852
27853 2010-11-26  Bruno Haible  <bruno@clisp.org>
27854
27855         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
27856         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
27857         'iconv' module is present.
27858         (ICONV_CONST): New macro.
27859         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
27860         ICONV_CONST.
27861         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
27862         set ICONV_CONST.
27863         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
27864         here.
27865         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
27866         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
27867         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
27868         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
27869         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
27870         present.
27871
27872 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
27873
27874         ftoastr: comment fix
27875         * lib/ftoastr.c: "little" -> "little or no" in comment
27876
27877 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
27878
27879         stdint: port to GCC 4.3 + OSX + Octave
27880         On this platform, stdint.h is buggy and defines int64_t to long
27881         long int.  The replacement defined it to long int, causing
27882         problems with C++ style name mangling.  Instead, trust the system
27883         definition if INT64_MAX is defined, and likewise for the unsigned
27884         variant.   Problem reported by Jarno Rajahalme in
27885         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
27886         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
27887         and don't mess with int64_t and INT64_MAX in this case.
27888         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
27889
27890 2010-11-24  Bruno Haible  <bruno@clisp.org>
27891
27892         doc: Corrections regarding MacOS X 10.4 and 10.5.
27893         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
27894         MacOS X.
27895         Reported by Simon Josefsson.
27896
27897 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
27898
27899         Uninstall ".bin" files installed by relocwrapper.
27900         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
27901         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
27902         unless it is already there.
27903
27904 2010-11-21  Bruno Haible  <bruno@clisp.org>
27905
27906         Update for NetBSD 5.0.
27907         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
27908         NetBSD; the test fails on NetBSD 5.0.
27909         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
27910         about NetBSD.
27911
27912 2010-11-21  Bruno Haible  <bruno@clisp.org>
27913
27914         Update for HP-UX 11.23 and HP-UX 11.31.
27915         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
27916         HP-UX.
27917
27918 2010-11-21  Bruno Haible  <bruno@clisp.org>
27919
27920         Update for MacOS X 10.5.
27921         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
27922         MacOS X; the test fails on MacOS X 10.5.8.
27923         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
27924         about MacOS X.
27925
27926 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
27927
27928         bootstrap: add bootstrap_sync option.
27929         See discussion at
27930         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
27931         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
27932         * build-aux/bootstrap: Accept --bootstrap-sync to update
27933         bootstrap if it is not identical to the local gnulib's
27934         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
27935         enable this by default.  Accept --no-bootstrap-sync to disable
27936         it.
27937
27938 2010-11-20  Bruno Haible  <bruno@clisp.org>
27939
27940         Ensure that <features.h> is included before __GLIBC__ is tested.
27941         * lib/printf-parse.h: Include <features.h>.
27942         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
27943         Reported by Mike Frysinger <vapier@gentoo.org>.
27944
27945         Ensure that <features.h> is included before __GLIBC__ is tested.
27946         * lib/wchar.in.h: Include <features.h>.
27947         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
27948         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
27949         Reported by Mike Frysinger <vapier@gentoo.org>.
27950
27951         Ensure that <features.h> is included before __GLIBC__ is tested.
27952         * lib/arpa_inet.in.h: Include <features.h>.
27953         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
27954         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
27955         Reported by Mike Frysinger <vapier@gentoo.org>.
27956
27957         Ensure that <features.h> is included before __GLIBC__ is tested.
27958         * build-aux/link-warning.h: Include <features.h>.
27959         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
27960         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
27961         Reported by Mike Frysinger <vapier@gentoo.org>.
27962
27963         Ensure that <features.h> is included before __GLIBC__ is tested.
27964         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
27965         Reported by Mike Frysinger <vapier@gentoo.org>.
27966
27967 2010-11-20  Bruno Haible  <bruno@clisp.org>
27968
27969         memmem: Fix autoconf test.
27970         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
27971
27972 2010-11-20  Bruno Haible  <bruno@clisp.org>
27973
27974         Port to uClibc.
27975         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
27976         * lib/fcntl.in.h: Likewise.
27977         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
27978         * lib/mbrtowc.c (mbrtowc): Likewise.
27979         * lib/relocatable.c (find_shared_library_fullname): Likewise.
27980         * lib/strerror_r.c: Likewise.
27981         * lib/unistr/u8-strnlen.c: Likewise.
27982         * lib/vasnprintf.c (decimal_point_char): Likewise.
27983         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
27984         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
27985         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
27986         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
27987         * tests/test-sigaction.c (handler, main): Likewise.
27988         * lib/freading.h: Treat uClibc like a non-glibc platform.
27989         * lib/freading.c: Likewise.
27990         * lib/gettext.h: Likewise.
27991         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
27992         Likewise.
27993         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
27994         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
27995         * lib/propername.c (proper_name_utf8): Likewise.
27996         * lib/spawn.in.h: Likewise.
27997         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
27998         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
27999         mem_cd_iconveh_internal): Likewise.
28000         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
28001         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
28002         strstr, strcasestr): Likewise.
28003         * lib/unicodeio.c (unicode_to_mb): Likewise.
28004         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
28005         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
28006         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
28007         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
28008         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
28009         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
28010         * lib/unistr/u8-stpncpy.c: Likewise.
28011         * lib/vasnprintf.c (VASNPRINTF): Likewise.
28012         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
28013         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
28014         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
28015         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
28016         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
28017         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
28018         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
28019         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
28020         Likewise.
28021         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
28022         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
28023         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
28024         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
28025         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
28026         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
28027         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
28028         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
28029         * tests/test-getopt.h (OPTIND_MIN): Likewise.
28030         * tests/test-striconveha.c (main): Likewise.
28031         * tests/test-vasnprintf-posix.c (test_function): Likewise.
28032         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
28033         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
28034         * doc/posix-functions/getline.texi: Likewise.
28035         Reported by Mike Frysinger <vapier@gentoo.org>.
28036
28037 2010-11-20  Bruno Haible  <bruno@clisp.org>
28038
28039         nproc: Fix condition.
28040         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
28041         HAVE_PTHREAD_AFFINITY_NP.
28042
28043 2010-11-20  Bruno Haible  <bruno@clisp.org>
28044
28045         Fix a comment.
28046         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
28047
28048 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
28049
28050         ftoastr: don't assume snprintf
28051         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
28052         Implement a subset of snprintf here, by using sprintf safely.
28053         * modules/ftoastr (Depends-on): Remove snprintf.
28054
28055 2010-11-19  Jim Meyering  <meyering@redhat.com>
28056
28057         test-rename.h: fix compilation failure
28058         * tests/test-rename.h (test_rename): Add omitted "}".
28059
28060 2010-11-17  Jim Meyering  <meyering@redhat.com>
28061
28062         maint.mk: add a URL discussing the no-@acronym policy
28063         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
28064
28065 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
28066
28067         ftoastr: depend on snprintf, improve comments
28068         * lib/ftoastr.c: Also mention Loitsch's draft.
28069         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
28070         needed in the current implementation, but it might simplify
28071         speeding up the code later.
28072         * modules/ftoastr: Depend on snprintf; this improves portability.
28073         Suggested by Bruno Haible in the same email.
28074
28075         ftoastr: port to hosts lacking strtof and strtold
28076         Problem reported by Bruno Haible in
28077         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
28078         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
28079         environment and strtold (and presumably strtof) are not available.
28080         * modules/ftoastr (Files): Add m4/c-strtod.m4.
28081         (configure.ac): Require gl_C99_STRTOLD.
28082
28083 2010-11-18  Bruno Haible  <bruno@clisp.org>
28084
28085         c-strtold: Avoid link error on AIX 7.
28086         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
28087         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
28088         (gl_C_STRTOLD): Test whether strtold_l exists.
28089         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
28090
28091 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
28092
28093         intprops: new macro INT_BITS_STRLEN_BOUND
28094         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
28095         ftoastr.h.  This exposes an internal of intprops.h that was formerly
28096         not exposed.  Also, it uses a slightly tighter bound than before;
28097         though this makes no practical difference, we might as well be as
28098         tight as we easily can.
28099
28100         ftoastr: new module, for lossless conversion of floats to short strings
28101         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
28102         * modules/ftoastr: New files.
28103
28104 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
28105
28106         bootstrap: port to Solaris sed
28107         * build-aux/bootstrap (get_version): Port to Solaris sed.
28108         See Ralf Wildenhues's note in
28109         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
28110
28111 2010-11-14  Jim Meyering  <meyering@redhat.com>
28112
28113         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
28114         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
28115         and move definition closer to sole use.
28116
28117 2010-11-13  Jim Meyering  <meyering@redhat.com>
28118
28119         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
28120         Now we require at least autoconf-2.59, which means the work-around
28121         is no longer needed.
28122         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
28123         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
28124         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
28125         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
28126         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
28127
28128 2010-11-13  Bruno Haible  <bruno@clisp.org>
28129
28130         rename, renameat: Avoid test failures at NFS mounted locations.
28131         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
28132         functions.
28133         (test_rename): Use assert_nonexistent.
28134         * tests/test-rename.c: Include <dirent.h>.
28135         * tests/test-renameat.c: Likewise.
28136         Reported by Gary V. Vaughan <gary@gnu.org>.
28137
28138         rename, renameat: Document Linux bug with NFS
28139         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
28140         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
28141         * doc/posix-functions/renameat.texi: Likewise.
28142         Suggested by Eric Blake.
28143
28144 2010-11-13  Bruno Haible  <bruno@clisp.org>
28145
28146         rename test: Add comments.
28147         * tests/test-rename.h (test_rename): Add structure and comments.
28148
28149 2010-11-13  Eric Blake  <eblake@redhat.com>
28150
28151         maintainer-makefile: cover a few more files
28152         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
28153         scripts generated within C files, for libvirt.
28154
28155 2010-11-13  Bruno Haible  <bruno@clisp.org>
28156
28157         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
28158         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
28159         character, return the number of bytes that belong together, not always
28160         1.
28161         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
28162         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
28163         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
28164         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
28165         number of bytes of an invalid character.
28166         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
28167         (main): Invoke it.
28168         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
28169         results.
28170         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
28171         malformed byte sequences.
28172         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
28173         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
28174         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
28175         Reported by Ben Pfaff and Paolo Bonzini.
28176
28177 2010-11-13  Bruno Haible  <bruno@clisp.org>
28178
28179         openat: Work around glibc bug with fchownat() and empty file names.
28180         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
28181         (gl_FUNC_FCHOWNAT): Invoke it.
28182         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
28183         * doc/posix-functions/fchownat.texi: Document the glibc bug.
28184         Reported by Gary V. Vaughan <gary@gnu.org>.
28185
28186 2010-11-13  Bruno Haible  <bruno@clisp.org>
28187
28188         openat: Ensure autoconf macro ordering.
28189         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
28190         gl_USE_SYSTEM_EXTENSIONS.
28191         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
28192
28193 2010-11-13  Bruno Haible  <bruno@clisp.org>
28194
28195         Update comments.
28196         * lib/unistr/u8-check.c: Update file name in comments.
28197         * lib/unistr/u8-mblen.c: Likewise.
28198         * lib/unistr/u8-prev.c: Likewise.
28199         * lib/unistr/u8-strmblen.c: Likewise.
28200         * lib/unistr/u8-strmbtouc.c: Likewise.
28201
28202 2010-11-13  Jim Meyering  <meyering@redhat.com>
28203
28204         tests: avoid test failure on Solaris 10 due to lack of PATH export
28205         * tests/test-update-copyright.sh: Don't forget to export PATH.
28206
28207         init.sh: ensure that IFS is defined, just in case...
28208         * tests/init.sh (setup_): Ensure that IFS is defined,
28209         so that saving and restoring it works as expected.  This
28210         appears to be useful at least for an old version of dash
28211         from a long time ago (RH 6).  See here for details:
28212         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
28213
28214         maint.mk: tighten "test a == b" check
28215         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
28216         test to files that contain something like #!/bin/sh.
28217         Without this, coreutils would get two false positives in
28218         the comments of C source files.
28219
28220 2010-11-12  Eric Blake  <eblake@redhat.com>
28221
28222         bootstrap: fix typo in previous attempt
28223         * build-aux/bootstrap (buildreq): Correct the grouping.
28224         Reported by Paul Eggert.
28225
28226         maintainer-makefile: prohibit test x == x
28227         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
28228         Based on a report by Matthias Bolte.
28229
28230         bootstrap: allow FreeBSD gzip
28231         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
28232         which has no '.' and goes to stderr.
28233         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
28234         Reported by Matthias Bolte.
28235
28236         maintainer-makefile: check for i18n setup
28237         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
28238         will likely work.
28239
28240 2010-11-12  Bruno Haible  <bruno@clisp.org>
28241
28242         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
28243         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
28244         * lib/nanosleep.c (nanosleep): Likewise.
28245
28246 2010-11-11  Bruno Haible  <bruno@clisp.org>
28247
28248         fcntl-h: Fix for use of C++ on glibc systems.
28249         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
28250         also on glibc systems in C++ mode.
28251         Reported by Gary V. Vaughan <gary@gnu.org>.
28252
28253 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
28254
28255         mknod: avoid false failure with dash
28256         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
28257
28258 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
28259
28260         unlink: Fix "is it should" typo in diagnostic.
28261         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
28262         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
28263
28264 2010-11-11  Bruno Haible  <bruno@clisp.org>
28265
28266         Tests for module 'strerror_r-posix'.
28267         * modules/strerror_r-posix-tests: New file.
28268         * tests/test-strerror_r.c: New file.
28269         * tests/test-string-c++.cc: Check the signature of strerror_r.
28270
28271         New module 'strerror_r-posix'.
28272         * lib/string.in.h (strerror_r): New declaration.
28273         * lib/strerror_r.c: New file.
28274         * m4/strerror_r.m4: New file.
28275         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
28276         of strerror_r.
28277         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
28278         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
28279         * modules/strerror_r-posix: New file.
28280         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
28281         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
28282         * doc/posix-functions/strerror_r.texi: Mention the new module and the
28283         portability problems.
28284
28285 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
28286
28287         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
28288         line is also considered for output. Quoted function name in shell
28289         command, so temporary files for functions like MyClass::operator()
28290         are removed correctly without errors.
28291
28292 2010-11-09  Bruno Haible  <bruno@clisp.org>
28293
28294         * doc/posix-functions/strerror.texi: List more failing platforms.
28295
28296         * doc/posix-functions/strerror.texi: Add a comment.
28297
28298 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
28299
28300         fdopendir: fix bug on MacOS X when low on file descriptors
28301
28302         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
28303         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
28304         All callers changed.
28305         (fdopendir): Invoke save_cwd at the top level, not after using
28306         multiple dup() calls to use up file descriptors.  Then retry
28307         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
28308         less than the maximum number of open file descriptors, because
28309         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
28310         on Mac OS X 10.6.4 for tar 1.24
28311         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
28312         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
28313         and for tar 1.25
28314         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
28315
28316 2010-11-07  Bruno Haible  <bruno@clisp.org>
28317
28318         vasnprintf: Support I flag on glibc systems.
28319         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
28320         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
28321         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
28322         snprintf function.
28323         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
28324         glibc systems.
28325         * tests/test-vasnprintf-posix3.c: New file.
28326         * modules/vasnprintf-posix-tests (Files): Add it.
28327         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
28328
28329 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
28330
28331         [html] Fix copy/paste bug: Use unique name for compiler warnings.
28332         * MODULES.html.sh: For compiler warnings, use name
28333         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
28334
28335 2010-11-05  Eric Blake  <eblake@redhat.com>
28336
28337         ceil, floor: avoid spurious failure with icc
28338         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
28339         [denormals-as-zero] when optimizing without -mieee-fp option.
28340         * tests/test-floorf2.c (floorf_reference): Likewise.
28341         * tests/test-ceilf1.c (dummy): New function.
28342         (main): Use it to outsmart icc's optimization.
28343         * tests/test-floorf1.c (dummy, main): Likewise.
28344
28345         tests: require working signbit
28346         * modules/ceilf-tests (Depends-on): Add signbit.
28347         * modules/ceill-tests (Depends-on): Likewise.
28348         * modules/floorf-tests (Depends-on): Likewise.
28349         * modules/floorl-tests (Depends-on): Likewise.
28350         * modules/round-tests (Depends-on): Likewise.
28351         * modules/roundf-tests (Depends-on): Likewise.
28352         * modules/roundl-tests (Depends-on): Likewise.
28353         * modules/trunc-tests (Depends-on): Likewise.
28354         * modules/truncf-tests (Depends-on): Likewise.
28355         * modules/truncl-tests (Depends-on): Likewise.
28356
28357         strtod: work around icc bug
28358         * lib/strtod.c (minus_zero): Define to working value.
28359         (strtod): Use it to avoid icc bug.
28360
28361         copysign: enhance tests
28362         * modules/copysign-tests (Files): Add minus-zero.h.
28363         * tests/test-copysign.c (main): Also test zeros.
28364
28365 2010-11-04  Eric Blake  <eblake@redhat.com>
28366
28367         ceil, floor, round, trunc: enhance tests of -0
28368         * tests/test-ceilf1.c (main): Ensure correct sign of result.
28369         * tests/test-ceill.c (main): Likewise.
28370         * tests/test-floorf1.c (main): Likewise.
28371         * tests/test-floorl.c (main): Likewise.
28372         * tests/test-round1.c (main): Likewise.
28373         * tests/test-roundf1.c (main): Likewise.
28374         * tests/test-roundl.c (main): Likewise.
28375         * tests/test-trunc1.c (main): Likewise.
28376         * tests/test-truncf1.c (main): Likewise.
28377         * tests/test-truncl.c (main): Likewise.
28378
28379 2010-11-04  Eric Blake  <eblake@redhat.com>
28380
28381         frexp, tests: work around ICC bug with -zero
28382         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
28383         works with more compilers.
28384         * tests/minus-zero.h: New file.
28385         * modules/ceilf-tests (Files): Include it.
28386         * modules/ceill-tests (Files): Likewise.
28387         * modules/floorf-tests (Files): Likewise.
28388         * modules/floorl-tests (Files): Likewise.
28389         * modules/frexp-nolibm-tests (Files): Likewise.
28390         * modules/frexp-tests (Files): Likewise.
28391         * modules/frexpl-nolibm-tests (Files): Likewise.
28392         * modules/frexpl-tests (Files): Likewise.
28393         * modules/isnan-tests (Files): Likewise.
28394         * modules/isnand-nolibm-tests (Files): Likewise.
28395         * modules/isnand-tests (Files): Likewise.
28396         * modules/isnanf-nolibm-tests (Files): Likewise.
28397         * modules/isnanf-tests (Files): Likewise.
28398         * modules/isnanl-nolibm-tests (Files): Likewise.
28399         * modules/isnanl-tests (Files): Likewise.
28400         * modules/round-tests (Files): Likewise.
28401         * modules/roundf-tests (Files): Likewise.
28402         * modules/roundl-tests (Files): Likewise.
28403         * modules/ldexpl-tests (Files): Likewise.
28404         * modules/signbit-tests (Files): Likewise.
28405         * modules/snprintf-posix-tests (Files): Likewise.
28406         * modules/sprintf-posix-tests (Files): Likewise.
28407         * modules/strtod-tests (Files): Likewise.
28408         * modules/trunc-tests (Files): Likewise.
28409         * modules/truncf-tests (Files): Likewise.
28410         * modules/truncl-tests (Files): Likewise.
28411         * modules/vsnprintf-posix-tests (Files): Likewise.
28412         * modules/vsprintf-posix-tests (Files): Likewise.
28413         * modules/vasnprintf-posix-tests (Files): Likewise.
28414         * modules/vasprintf-posix-tests (Files): Likewise.
28415         * tests/test-ceilf1.c (main): Use it.
28416         * tests/test-ceill.c (main): Likewise.
28417         * tests/test-floorf1.c (main): Likewise.
28418         * tests/test-floorl.c (main): Likewise.
28419         * tests/test-frexp.c (main): Likewise.
28420         * tests/test-frexpl.c (main): Likewise.
28421         * tests/test-isnan.c (main): Likewise.
28422         * tests/test-isnand.h (main): Likewise.
28423         * tests/test-isnanf.h (main): Likewise.
28424         * tests/test-isnanl.h (main): Likewise.
28425         * tests/test-ldexpl.c (main): Likewise.
28426         * tests/test-round.c (main): Likewise.
28427         * tests/test-roundf.c (main): Likewise.
28428         * tests/test-roundl.c (main): Likewise.
28429         * tests/test-signbit.c (test_signbitf, test_signbitd)
28430         (test_signbitl): Likewise.
28431         * tests/test-snprintf-posix.h (test_function): Likewise.
28432         * tests/test-sprintf-posix.h (test_function): Likewise.
28433         * tests/test-strtod.c (main): Likewise.
28434         * tests/test-trunc1.c (main): Likewise.
28435         * tests/test-truncf1.c (main): Likewise.
28436         * tests/test-truncl.c (main): Likewise.
28437
28438         isnanl: work around icc bug
28439         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
28440
28441 2010-11-03  Eric Blake  <eblake@redhat.com>
28442
28443         tests: fix compiler warnings
28444         * tests/test-getopt.h (test_getopt): Fix condition.
28445         * tests/test-getopt_long.h (test_getopt_long): Likewise.
28446         * tests/test-pipe2.c (main): Likewise.
28447         * tests/test-quotearg-simple.c (main): Avoid icc warning.
28448
28449         utimens: fix broken m4 test
28450         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
28451
28452 2010-10-28  Bruno Haible  <bruno@clisp.org>
28453
28454         posix_spawn*, getdtablesize: Relax license.
28455         * modules/posix_spawn (License): Change to LGPLv2+.
28456         * modules/posix_spawnp (License): Likewise.
28457         * modules/posix_spawn-internal (License): Likewise.
28458         * modules/posix_spawnattr_init (License): Likewise.
28459         * modules/posix_spawnattr_getflags (License): Likewise.
28460         * modules/posix_spawnattr_setflags (License): Likewise.
28461         * modules/posix_spawnattr_getpgroup (License): Likewise.
28462         * modules/posix_spawnattr_setpgroup (License): Likewise.
28463         * modules/posix_spawnattr_getschedparam (License): Likewise.
28464         * modules/posix_spawnattr_setschedparam (License): Likewise.
28465         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
28466         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
28467         * modules/posix_spawnattr_getsigdefault (License): Likewise.
28468         * modules/posix_spawnattr_setsigdefault (License): Likewise.
28469         * modules/posix_spawnattr_getsigmask (License): Likewise.
28470         * modules/posix_spawnattr_setsigmask (License): Likewise.
28471         * modules/posix_spawnattr_destroy (License): Likewise.
28472         * modules/posix_spawn_file_actions_init (License): Likewise.
28473         * modules/posix_spawn_file_actions_addclose (License): Likewise.
28474         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
28475         * modules/posix_spawn_file_actions_addopen (License): Likewise.
28476         * modules/posix_spawn_file_actions_destroy (License): Likewise.
28477         * modules/getdtablesize (License): Likewise.
28478         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
28479
28480 2010-10-26  Bruno Haible  <bruno@clisp.org>
28481
28482         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
28483         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
28484         Cygwin and mingw.
28485         Suggested by Eric Blake.
28486
28487 2010-10-26  Bruno Haible  <bruno@clisp.org>
28488
28489         stdio: Work around compilation error due to renameat() on Solaris 10.
28490         * lib/stdio.in.h: Include <unistd.h> on Solaris.
28491         * lib/renameat.c: Don't include <unistd.h> here.
28492         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
28493         Reported by Paul Eggert and Eric Blake.
28494
28495 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
28496
28497         renameat: port to Solaris 10, which declares renameat in unistd.h
28498
28499         * lib/renameat.c: Include unistd.h before stdio.h, because
28500         Solaris 10 declares renameat in unistd.h.  Problem encountered
28501         when building GNU tar 1.24 on Solaris 10.
28502
28503 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
28504
28505         fdopendir: fix C89 compilation
28506         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
28507         compilers.
28508
28509 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
28510
28511         inttostr: simplify by removing unnecessary redundancy
28512         * lib/anytostr.c: Don't include verify.h.
28513         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
28514         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
28515         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
28516         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
28517         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
28518         Likewise.
28519         * modules/inttostr (Depends-on): Remove 'verify'.
28520
28521 2010-10-23  Bruno Haible  <bruno@clisp.org>
28522
28523         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
28524         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
28525         Reported by Eric Blake.
28526
28527 2010-10-23  Bruno Haible  <bruno@clisp.org>
28528
28529         Tests: Fix LOCALE_JA on MirBSD 10.
28530         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
28531         to an UTF-8 locale.
28532         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
28533         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
28534         Reported by Eric Blake.
28535
28536 2010-10-21  Bruno Haible  <bruno@clisp.org>
28537
28538         nl_langinfo test: Avoid test failure on NetBSD 5.
28539         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
28540         Reported by Eric Blake.
28541
28542 2010-10-21  Eric Blake  <eblake@redhat.com>
28543
28544         c-stack: work around libsigsegv 2.8 bug
28545         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
28546         overflow on at least PowerPC64.
28547
28548 2010-10-17  Bruno Haible  <bruno@clisp.org>
28549
28550         userspec: Drop redundant file.
28551         * modules/userspec (Files): Remove lib/inttostr.h.
28552
28553 2010-10-17  Bruno Haible  <bruno@clisp.org>
28554
28555         nl_langinfo tests: Silence some warnings.
28556         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
28557         Reported by Jim Meyering.
28558
28559 2010-10-17  Bruno Haible  <bruno@clisp.org>
28560
28561         Make use of GCC's attribute __alloc_size__.
28562         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
28563         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
28564         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
28565         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
28566         __alloc_size__.
28567         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
28568         Suggested by Jim Meyering.
28569
28570 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
28571
28572         bootstrap: anchor .gitignore entries.
28573         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
28574         with...
28575         (insert_vc_ignore): ... this new function, which prepends `/' to
28576         all .gitignore entries before passing them to
28577         insert_sorted_if_absent.
28578
28579 2010-10-16  Bruno Haible  <bruno@clisp.org>
28580
28581         nextafter: Fix configure check.
28582         * modules/nextafter (configure.ac): Correct expected prototype.
28583
28584 2010-10-16  Bruno Haible  <bruno@clisp.org>
28585
28586         termios: Update documentation.
28587         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
28588
28589 2010-10-16  Bruno Haible  <bruno@clisp.org>
28590
28591         tests: Make them compile with TinyCC.
28592         * tests/test-strstr.c (main): Remove parentheses around array
28593         initializer.
28594
28595 2010-10-15  Eric Blake  <eblake@redhat.com>
28596
28597         ignore-value: make header idempotent
28598         * lib/ignore-value.h: Add double-inclusion guards.
28599         Reported by Stefan Berger.
28600
28601 2010-10-15  Jim Meyering  <meyering@redhat.com>
28602
28603         GNUmakefile: handle "stable" target, not "major"
28604         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
28605         lists in maint.mk and announce-gen.  Without this, "make stable"
28606         would fail to ensure that $(VERSION) is up to date.
28607
28608 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
28609
28610         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
28611         & co.
28612
28613 2010-10-14  Bruno Haible  <bruno@clisp.org>
28614
28615         vasnprintf: Don't set errno to 0.
28616         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
28617         block that sets it to 0.
28618         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
28619
28620 2010-10-14  Bruno Haible  <bruno@clisp.org>
28621
28622         socketlib: Fix.
28623         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
28624         gl_PREREQ_SYS_H_WINSOCK2.
28625         Reported by Ian Beckwith <ianb@erislabs.net>.
28626
28627 2010-10-13  Jim Meyering  <meyering@redhat.com>
28628
28629         test-select-stdin.c: avoid warn_unused_result warnings
28630         * tests/test-select-stdin.c: Include "macros.h".
28631         ASSERT that read and fflush succeed.
28632
28633 2010-10-13  Jim Meyering  <meyering@redhat.com>
28634
28635         git-version-gen: do require git-VC'd files in cwd
28636         * build-aux/git-version-gen: Reject a git version string
28637         if there are no commits associated with the current directory.
28638         This avoids an unlikely false-positive (unrelated dir whose parent
28639         repository also contains a tag matching v*), as pointed out
28640         by Giuseppe Scrivano in
28641         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
28642
28643 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
28644
28645         argv-iter: omit nonconforming declaration
28646         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
28647         enum arg_iter_err declaration, which doesn't conform to C99.
28648         Solaris 10 cc warns about this.
28649
28650 2010-10-13  Eric Blake  <eblake@redhat.com>
28651
28652         termios: fix compilation on mingw
28653         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
28654         (gl_TERMIOS_H): Adjust it on mingw.
28655         * modules/termios (Makefile.am): Substitute new key.
28656         * lib/termios.in.h (includes): Make include_next conditional.
28657         * doc/posix-headers/termios.texi (termios.h): Update
28658         documentation.
28659         Reported by Daniel P. Berrange.
28660
28661 2010-10-13  Jim Meyering  <meyering@redhat.com>
28662
28663         git-version-gen: don't require that .git/ be in the current dir
28664         * build-aux/git-version-gen: Adjust this script so that it works
28665         when run from any working directory beneath the top-level .git/-
28666         containing directory.  Inspired by a patch from Giuseppe Scrivano,
28667         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
28668
28669         test-select: avoid warn_unused_result warnings
28670         * tests/test-select.c: Include "macros.h".
28671         ASSERT that each call to read, write, and pipe succeeds.
28672         While not technically required, also check each "close".
28673         * modules/select-tests (Files): Add tests/macros.h.
28674
28675         test-symlinkat: remove declaration of unused local
28676         * tests/test-symlinkat.c (main): Remove unused local, "buf".
28677
28678         test-inttostr: avoid shadowing warnings
28679         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
28680         and use malloc rather than the stack for the same reason as
28681         mentioned in the comment justifying the other allocation.
28682
28683 2010-10-11  Bruno Haible  <bruno@clisp.org>
28684
28685         stdlib: Allow multiple gnulib generated replacements to coexist.
28686         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
28687         Reported by Sam Steingold <sds@gnu.org>.
28688
28689 2010-10-11  Jim Meyering  <meyering@redhat.com>
28690
28691         fix a documentation typo
28692         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
28693
28694 2010-10-11  Eric Blake  <eblake@redhat.com>
28695
28696         futimens: work around Solaris 11 bug
28697         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
28698         * tests/test-futimens.h (test_futimens): Enhance, rather than
28699         weaken test.
28700         * doc/posix-functions/futimens.texi (futimens): Document the bug.
28701
28702 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
28703
28704         Indentation.
28705         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
28706         higher-level operators more to the left.
28707
28708 2010-10-11  Jim Meyering  <meyering@redhat.com>
28709
28710         test-futimens: avoid unwarranted test failure on Solaris 5.11
28711         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
28712         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
28713         because it tries to dereference the NULL name argument.
28714
28715 2010-10-11  Bruno Haible  <bruno@clisp.org>
28716
28717         Indentation.
28718         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
28719         indentation.
28720
28721 2010-10-11  Jim Meyering  <meyering@redhat.com>
28722
28723         spawn.in.h: make indentation consistent with parentheses
28724         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
28725         Make indentation consistent with parentheses.
28726
28727 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
28728
28729         Fix mismatched parens in previous commit
28730         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
28731         parens.
28732
28733 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
28734
28735         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
28736
28737         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
28738         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
28739         * lib/malloca.c: Include "verify.h".
28740         (verify1): Remove, replacing with a verify call.
28741         * lib/relocwrapper.c (verify1): Likewise.
28742         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
28743         Likewise.
28744         * modules/malloca (Depends-on): Add 'verify'.
28745         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
28746         * modules/vasnprintf (Depends-on): Add 'verify'.
28747         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
28748         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
28749         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
28750         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
28751         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
28752         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
28753         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
28754
28755         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
28756
28757         Formerly the style was sometimes 2*X - 1, because the C standard
28758         was wrongly thought to disallow ?: in integral constant expressions.
28759         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
28760         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
28761         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
28762         * lib/stdint.in.h (_verify_intmax_size): Likewise.
28763         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
28764         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
28765         verify that time_t cannot be floating.
28766
28767 2010-10-08  Eric Blake  <eblake@redhat.com>
28768
28769         time: enforce recent POSIX ruling that time_t is integral
28770         * lib/time.in.h (__time_t_must_be_integral): Detect any
28771         problematic systems, allowing the rest of gnulib to assume POSIX.
28772
28773 2010-10-08  Jim Meyering  <meyering@redhat.com>
28774
28775         fdopendir: fix a bug on systems lacking openat and /proc support
28776         OpenBSD 4.7 is one such system.  The most noticeable effect was
28777         failure of any application making nontrivial use of fts: rm, du,
28778         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
28779           ./rm: traversal failed: `a': Bad file descriptor
28780         Debugging that, you see that even though FD 6 was closed just
28781         prior to the opendir call in fd_clone_opendir, its resulting
28782         dir->dd_fd was 8, rather than the expected value of 6:
28783
28784         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
28785         93                close (fd);
28786         (gdb) n
28787         94                dir = fd_clone_opendir (dupfd);
28788         (gdb) n
28789         95                saved_errno = errno;
28790         (gdb) p dir->dd_fd
28791         $11 = 8
28792
28793         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
28794         The problem is that on OpenBSD, fd_clone_opendir has to resort
28795         to using the old-style save/restore CWD mechanism, due to its
28796         lack of openat/proc support, and *that* would steal the FD (6)
28797         that opendir was supposed to use.
28798
28799         The fix is to squirrel away the desired FD so that save_cwd uses a
28800         different one, and then free the dest FD right before calling opendir.
28801         That guarantees opendir will use the required file descriptor.
28802
28803         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
28804
28805 2010-10-08  Bruno Haible  <bruno@clisp.org>
28806
28807         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
28808         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
28809
28810 2010-10-08  Bruno Haible  <bruno@clisp.org>
28811
28812         nanosleep: Make replacement POSIX compliant.
28813         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
28814         is out of range.
28815         Reported by Jim Meyering.
28816
28817 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
28818
28819         bootstrap: add hook for altering gnulib.mk, for Bison
28820         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
28821         the Bison bootstrapping process can rewrite file names and variables
28822         in this file before later parts of 'bootstrap' use the file.
28823         Bison wants to include lib/gnulib.mk from the top-level makefile,
28824         so it needs the file names in this file to be relative to the top
28825         level, not relative to lib; plus it needs variable names to be
28826         rewritten.
28827         (slurp): Use the new function.
28828
28829         bootstrap: reformat for readability
28830         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
28831
28832 2010-10-08  Eric Blake  <eblake@redhat.com>
28833
28834         docs: update cygwin progress
28835         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
28836         1.7.7.
28837         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
28838         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
28839         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
28840         * doc/posix-functions/carg.texi (carg): Likewise.
28841         * doc/posix-functions/cargf.texi (cargf): Likewise.
28842         * doc/posix-functions/casin.texi (casin): Likewise.
28843         * doc/posix-functions/casinf.texi (casinf): Likewise.
28844         * doc/posix-functions/casinh.texi (casinh): Likewise.
28845         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
28846         * doc/posix-functions/catan.texi (catan): Likewise.
28847         * doc/posix-functions/catanf.texi (catanf): Likewise.
28848         * doc/posix-functions/catanh.texi (catanh): Likewise.
28849         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
28850         * doc/posix-functions/ccos.texi (ccos): Likewise.
28851         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
28852         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
28853         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
28854         * doc/posix-functions/cexp.texi (cexp): Likewise.
28855         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
28856         * doc/posix-functions/cimag.texi (cimag): Likewise.
28857         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
28858         * doc/posix-functions/clog.texi (clog): Likewise.
28859         * doc/posix-functions/clogf.texi (clogf): Likewise.
28860         * doc/posix-functions/conj.texi (conj): Likewise.
28861         * doc/posix-functions/conjf.texi (conjf): Likewise.
28862         * doc/posix-functions/cpow.texi (cpow): Likewise.
28863         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
28864         * doc/posix-functions/cproj.texi (cproj): Likewise.
28865         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
28866         * doc/posix-functions/creal.texi (creal): Likewise.
28867         * doc/posix-functions/crealf.texi (crealf): Likewise.
28868         * doc/posix-functions/csin.texi (csin): Likewise.
28869         * doc/posix-functions/csinf.texi (csinf): Likewise.
28870         * doc/posix-functions/csinh.texi (csinh): Likewise.
28871         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
28872         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
28873         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
28874         * doc/posix-functions/ctan.texi (ctan): Likewise.
28875         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
28876         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
28877         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
28878         * doc/posix-headers/complex.texi (complex.h): Likewise.
28879
28880 2010-10-07  Jim Meyering  <meyering@redhat.com>
28881
28882         parse-datetime: avoid compilation failure on OpenBSD 4.7
28883         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
28884         This works around a compilation failure on OpenBSD 4.7:
28885         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
28886
28887 2010-10-07  Eric Blake  <eblake@redhat.com>
28888
28889         docs: update cygwin progress
28890         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
28891         1.7.6.
28892         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
28893         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
28894         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
28895         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
28896         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
28897         Likewise.
28898         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
28899         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
28900         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
28901         Likewise.
28902         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
28903         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
28904         Likewise.
28905         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
28906         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
28907         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
28908         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
28909         Likewise.
28910         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
28911         Likewise.
28912         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
28913
28914         docs: update parse-datetime history
28915         * doc/parse-datetime.texi (Authors of parse_datetime): Better
28916         documentation of this function's history and alternatives.
28917
28918         cygwin: use more robust version check
28919         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
28920         exclude an eventual cygwin 1.9.1.
28921         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
28922         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
28923         (gl_FUNC_STRCASESTR): Likewise.
28924         Reported by Bruno Haible.
28925
28926 2010-10-06  Bruno Haible  <bruno@clisp.org>
28927
28928         string, sys_select: Avoid #including large headers unless necessary.
28929         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
28930         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
28931         OSF/1, BeOS, Haiku.
28932         Reported by Jim Meyering.
28933
28934 2010-10-05  Eric Blake  <eblake@redhat.com>
28935
28936         memmem, strstr, strcasestr: fix bug with long periodic needle
28937         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
28938         periodic needle having false positive.
28939         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
28940         and cygwin 1.7.7.
28941         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
28942         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
28943         (gl_FUNC_STRCASESTR): Likewise.
28944         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
28945         * tests/test-memmem.c (main): Expose the bug.
28946         * tests/test-strcasestr.c (main): Likewise.
28947         * tests/test-strstr.c (main): Likewise.
28948         * tests/test-c-strcasestr.c (main): Likewise.
28949         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
28950         * doc/posix-functions/strstr.texi (strstr): Likewise.
28951         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
28952         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
28953
28954 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
28955
28956         parse-datetime: do some more renaming
28957         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
28958         parse_datetime, not get_date.  Mention the renaming.
28959         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
28960         in comments.
28961         * m4/bison.m4: Likewise.
28962
28963 2010-10-05  Eric Blake  <eblake@redhat.com>
28964
28965         parse-datetime: better name than get_date
28966         * NEWS: Reword the deprecation notice.
28967         * modules/get_date: Rename to modules/parse-datetime.
28968         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
28969         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
28970         * lib/get_date.y: Rename to lib/parse-datetime.y.
28971         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
28972         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
28973         * doc/getdate.texi: Provide fallback wrapper.
28974         * lib/getdate.h: Move guts, and wrap...
28975         * lib/parse-datetime.h: ...new file.
28976         * lib/parse-datetime.y (get_date): Rename...
28977         (parse_datetime): ...to this.
28978         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
28979         (gl_PARSE_DATETIME): ...to this.
28980         * doc/posix-functions/getdate.texi (get_date): Provide fallback
28981         documentation.
28982         * modules/getdate (Files): Provide fallback docs and header.
28983         (Notice, Depends-on): Update references.
28984         * tests/test-parse-datetime.c: Likewise.
28985         * DEPENDENCIES: Likewise.
28986         * MODULES.html.sh (Date and time <time.h>): Likewise.
28987         * doc/parse-datetime.texi (Date input formats)
28988         (Authors of parse_datetime): Likewise.
28989         * modules/parse-datetime (Files, configure.ac, Makefile.am)
28990         (Include): Likewise.
28991         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
28992         * gnulib-tool: Likewise.
28993         * m4/bison.m4 (gl_BISON): Likewise.
28994         Suggested by Bruno Haible.
28995
28996 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
28997
28998         more ports to Solaris tr, which needs [] around ranges
28999         * gnulib-tool: Solaris tr needs [] around ranges.
29000         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
29001         * tests/test-pipe-filter-gi1.c (main): Likewise.
29002         * tests/test-pipe-filter-ii1.c (main): Likewise.
29003
29004 2010-10-05  Eric Blake  <eblake@redhat.com>
29005
29006         bootstrap: fix Solaris regression
29007         * build-aux/bootstrap (check_versions): Solaris tr still needs []
29008         around ranges.
29009         Reported by Pádraig Brady.
29010
29011         bootstrap: work with pkg-config
29012         * build-aux/bootstrap (check_versions): Also transliterate - in
29013         prerequisite name.
29014         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
29015         prerequisites that were already found, to avoid confusion.
29016         Reported by Justin Clift.
29017
29018         faccessat: remove unused wrappers
29019         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
29020         presence of these wrappers dragged in -lgen on Solaris.
29021         Reported by Clemens Brogi; fix suggested by Paul Eggert.
29022
29023 2010-10-05  Jim Meyering  <meyering@redhat.com>
29024
29025         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
29026         * Makefile (sc_pragma_columns): New syntax-check rule.
29027
29028 2010-10-04  Bruno Haible  <bruno@clisp.org>
29029
29030         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
29031         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
29032         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
29033         Reported by Bruce Korb and Eric Blake.
29034
29035 2010-10-04  Bruno Haible  <bruno@clisp.org>
29036
29037         threadlib: Make option --with-libpth-prefix work.
29038         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
29039         use $LIBPTH, not just -lpth.
29040
29041 2010-10-04  Bruno Haible  <bruno@clisp.org>
29042
29043         Avoid line length limitation from HP NonStop system header files.
29044         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
29045         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
29046         * lib/ctype.in.h: Likewise.
29047         * lib/dirent.in.h: Likewise.
29048         * lib/errno.in.h: Likewise.
29049         * lib/fcntl.in.h: Likewise.
29050         * lib/float.in.h: Likewise.
29051         * lib/getopt.in.h: Likewise.
29052         * lib/iconv.in.h: Likewise.
29053         * lib/inttypes.in.h: Likewise.
29054         * lib/langinfo.in.h: Likewise.
29055         * lib/locale.in.h: Likewise.
29056         * lib/math.in.h: Likewise.
29057         * lib/netdb.in.h: Likewise.
29058         * lib/netinet_in.in.h: Likewise.
29059         * lib/poll.in.h: Likewise.
29060         * lib/pthread.in.h: Likewise.
29061         * lib/pty.in.h: Likewise.
29062         * lib/sched.in.h: Likewise.
29063         * lib/se-selinux.in.h: Likewise.
29064         * lib/search.in.h: Likewise.
29065         * lib/signal.in.h: Likewise.
29066         * lib/spawn.in.h: Likewise.
29067         * lib/stdarg.in.h: Likewise.
29068         * lib/stddef.in.h: Likewise.
29069         * lib/stdint.in.h: Likewise.
29070         * lib/stdio.in.h: Likewise.
29071         * lib/stdlib.in.h: Likewise.
29072         * lib/string.in.h: Likewise.
29073         * lib/strings.in.h: Likewise.
29074         * lib/sys_file.in.h: Likewise.
29075         * lib/sys_ioctl.in.h: Likewise.
29076         * lib/sys_select.in.h: Likewise.
29077         * lib/sys_socket.in.h: Likewise.
29078         * lib/sys_stat.in.h: Likewise.
29079         * lib/sys_time.in.h: Likewise.
29080         * lib/sys_times.in.h: Likewise.
29081         * lib/sys_utsname.in.h: Likewise.
29082         * lib/sys_wait.in.h: Likewise.
29083         * lib/sysexits.in.h: Likewise.
29084         * lib/termios.in.h: Likewise.
29085         * lib/time.in.h: Likewise.
29086         * lib/unistd.in.h: Likewise.
29087         * lib/wchar.in.h: Likewise.
29088         * lib/wctype.in.h: Likewise.
29089         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
29090         * modules/ctype (Makefile.am): Likewise.
29091         * modules/dirent (Makefile.am): Likewise.
29092         * modules/errno (Makefile.am): Likewise.
29093         * modules/fcntl-h (Makefile.am): Likewise.
29094         * modules/float (Makefile.am): Likewise.
29095         * modules/getopt-posix (Makefile.am): Likewise.
29096         * modules/iconv-h (Makefile.am): Likewise.
29097         * modules/inttypes (Makefile.am): Likewise.
29098         * modules/langinfo (Makefile.am): Likewise.
29099         * modules/locale (Makefile.am): Likewise.
29100         * modules/math (Makefile.am): Likewise.
29101         * modules/netdb (Makefile.am): Likewise.
29102         * modules/netinet_in (Makefile.am): Likewise.
29103         * modules/poll-h (Makefile.am): Likewise.
29104         * modules/pthread (Makefile.am): Likewise.
29105         * modules/pty (Makefile.am): Likewise.
29106         * modules/sched (Makefile.am): Likewise.
29107         * modules/search (Makefile.am): Likewise.
29108         * modules/selinux-h (Makefile.am): Likewise.
29109         * modules/signal (Makefile.am): Likewise.
29110         * modules/spawn (Makefile.am): Likewise.
29111         * modules/stdarg (Makefile.am): Likewise.
29112         * modules/stddef (Makefile.am): Likewise.
29113         * modules/stdint (Makefile.am): Likewise.
29114         * modules/stdio (Makefile.am): Likewise.
29115         * modules/stdlib (Makefile.am): Likewise.
29116         * modules/string (Makefile.am): Likewise.
29117         * modules/strings (Makefile.am): Likewise.
29118         * modules/sys_file (Makefile.am): Likewise.
29119         * modules/sys_ioctl (Makefile.am): Likewise.
29120         * modules/sys_select (Makefile.am): Likewise.
29121         * modules/sys_socket (Makefile.am): Likewise.
29122         * modules/sys_stat (Makefile.am): Likewise.
29123         * modules/sys_time (Makefile.am): Likewise.
29124         * modules/sys_times (Makefile.am): Likewise.
29125         * modules/sys_utsname (Makefile.am): Likewise.
29126         * modules/sys_wait (Makefile.am): Likewise.
29127         * modules/sysexits (Makefile.am): Likewise.
29128         * modules/termios (Makefile.am): Likewise.
29129         * modules/time (Makefile.am): Likewise.
29130         * modules/unistd (Makefile.am): Likewise.
29131         * modules/wchar (Makefile.am): Likewise.
29132         * modules/wctype (Makefile.am): Likewise.
29133
29134 2010-10-04  Bruno Haible  <bruno@clisp.org>
29135
29136         read-file tests: Avoid a test failure on NonStop Kernel.
29137         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
29138         a regular file.
29139         Reported by Joachim Schmitz <schmitz@hp.com>.
29140
29141 2010-10-03  Bruno Haible  <bruno@clisp.org>
29142
29143         gnulib-tool: Fixes for --create-testdir with --libtool.
29144         * gnulib-tool (func_get_automake_snippet): Don't augment
29145         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
29146         an executable.
29147         (func_create_testdir): Handle module 'alloca' like func_import.
29148         Reported by Bruce Korb <bruce.korb@gmail.com>.
29149
29150 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
29151
29152         Avoid some lines longer than 80 characters.
29153         * lib/stdint.in.h: Break long comment lines.
29154         * lib/math.in.h: Likewise.
29155         (_GL_NUM_UINT_WORDS): New macro, for readability.
29156         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
29157         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
29158         * lib/stdlib.in.h: Likewise.
29159         * lib/spawn.in.h: Likewise.
29160         * lib/sys_socket.in.h: Update an URL.
29161         * lib/sys_stat.in.h: Break long line.
29162
29163 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
29164
29165         Improve pmccabe2html.
29166         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
29167         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
29168         when the sources change. Remove the line in the HTML about "Used
29169         ranges" (which implied that there might be other unused ranges),
29170         rename "Resume" to "Summary" (easier to understand for more users).
29171         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
29172         styles, and some unnecessary blank lines.
29173
29174 2010-10-03  Bruno Haible  <bruno@clisp.org>
29175             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
29176
29177         acl: Add support for ACLs on NonStop Kernel.
29178         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
29179         Check whether the function aclsort() exists.
29180         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
29181         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
29182         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
29183         (acl_nontrivial [HAVE_ACLSORT]: New function.
29184         (file_has_acl): Implement for NonStop Kernel.
29185         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
29186         (qset_acl): Implement for NonStop Kernel.
29187         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
29188         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
29189         (main): Implement for NonStop Kernel.
29190         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
29191         Kernel. Handle this flavor.
29192         * tests/test-set-mode-acl.sh: Likewise.
29193         * tests/test-copy-acl.sh: Likewise.
29194         * tests/test-copy-file.sh: Likewise.
29195
29196 2010-10-03  Bruno Haible  <bruno@clisp.org>
29197
29198         Info about ACLs on NonStop Kernel.
29199         * doc/acl-resources.txt: Add info about NonStop Kernel.
29200         References by Joachim Schmitz <schmitz@hp.com>.
29201
29202 2010-10-02  Bruno Haible  <bruno@clisp.org>
29203
29204         Define missing EDQUOT on NonStop Kernel.
29205         * lib/errno.in.h (EDQUOT): Assign a value if missing.
29206         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
29207         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
29208         missing.
29209         * doc/posix-headers/errno.texi: Mention the NSK bug.
29210         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
29211         Reported by Joachim Schmitz <schmitz@hp.com>.
29212
29213 2010-10-02  Bruno Haible  <bruno@clisp.org>
29214
29215         Update doc for POSIX:2008.
29216         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
29217         Update URL of POSIX specification.
29218
29219 2010-10-02  Bruno Haible  <bruno@clisp.org>
29220
29221         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
29222         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
29223         from gnulib, not from Automake.
29224
29225 2010-10-02  Bruno Haible  <bruno@clisp.org>
29226
29227         New module 'system-posix'.
29228         * modules/system-posix: New file.
29229         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
29230         module is present.
29231         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
29232         GNULIB_SYSTEM_POSIX.
29233         * modules/stdlib (Depends-on): Remove sys_wait.
29234         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
29235         * doc/posix-functions/system.texi: Mention the new module.
29236         * doc/posix-headers/stdlib.texi: Likewise.
29237         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
29238         define test_sys_wait_macros to a no-op.
29239         Reported by Sam Steingold <sds@gnu.org>.
29240
29241 2010-09-30  Bruno Haible  <bruno@clisp.org>
29242
29243         More renaming from 'getdate' to 'get_date'.
29244         * doc/get_date.texi: Renamed from doc/getdate.texi.
29245         * modules/get_date (Files): Update.
29246         * MODULES.html.sh (Date and time <time.h>): Update.
29247         * DEPENDENCIES: Update.
29248         * gnulib-tool: Update comment.
29249         * m4/bison.m4 (gl_BISON): Likewise.
29250         * m4/get_date.m4 (gl_GET_DATE): Likewise.
29251
29252 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
29253
29254         bootstrap: support ACLOCAL_FLAGS during aclocal
29255         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
29256         can add additional -I dir for third-party .m4 files.
29257
29258 2010-09-30  Eric Blake  <eblake@redhat.com>
29259
29260         bootstrap: use glibtoolize on MacOS
29261         * build-aux/bootstrap (check_versions): Convert libtool into
29262         libtoolize.
29263         (tool search): Move libtool check earlier, and look for
29264         glibtoolize for MacOS.
29265         (gnulib_tool_options): Auto-add --libtool when appropriate.
29266         Reported by Justin Clift.
29267
29268         poll: fix typo that broke test on MacOS
29269         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
29270         Reported by Justin Clift.
29271
29272         getdate: rename to get_date
29273         Note: getdate.h is not renamed, to minimize client impact.
29274         * modules/getdate: Mark obsolete.  Move old contents...
29275         * modules/get_date: ...to new module name.
29276         * modules/getdate-tests: Move...
29277         * modules/get_date-tests: ...here.
29278         * m4/getdate.m4: Move...
29279         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
29280         * lib/getdate.y: Move...
29281         * lib/get_date.y: ...here.
29282         * tests/test-getdate.c: Move...
29283         * tests/test-get_date.c: ...here.
29284         * doc/posix-functions/getdate.texi (getdate): Update name.
29285         * NEWS: Mention the change.
29286
29287 2010-09-29  Bruno Haible  <bruno@clisp.org>
29288
29289         Separate the module 'waitpid' from the module 'sys_wait'.
29290         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
29291         present.
29292         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
29293         gl_MODULE_INDICATOR_FOR_TESTS.
29294         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
29295         * modules/sys_wait (Depends-on): Remove waitpid.
29296         (Makefile.am): Substitute GNULIB_WAITPID.
29297         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
29298         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
29299         signature only if the 'waitpid' module is present.
29300         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
29301         * NEWS: Mention the change.
29302         * modules/grantpt (Depends-on): Add waitpid.
29303         * modules/wait-process (Depends-on): Likewise.
29304
29305 2010-09-29  Bruno Haible  <bruno@clisp.org>
29306
29307         More tests for module 'sys_wait'.
29308         * modules/sys_wait-c++-tests: New file.
29309         * tests/test-sys_wait-c++.cc: New file.
29310         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
29311         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
29312
29313 2010-09-29  Bruno Haible  <bruno@clisp.org>
29314
29315         New module 'waitpid'.
29316         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
29317         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
29318         Don't include <process.h>.
29319         (waitpid): Declare only, using modern idiom.
29320         * m4/waitpid.m4: New file.
29321         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
29322         * modules/waitpid: New file.
29323         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
29324         (Makefile.am): Update.
29325         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
29326
29327 2010-09-28  Bruno Haible  <bruno@clisp.org>
29328
29329         poll: Assume ANSI C.
29330         * lib/poll.c (poll): Use an ANSI C declaration.
29331
29332 2010-09-28  Bruno Haible  <bruno@clisp.org>
29333
29334         poll-h: Create poll.h on all platforms.
29335         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
29336         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
29337         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
29338         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
29339         (gl_REPLACE_POLL_H): Don't set POLL_H.
29340         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
29341         * modules/poll-h (Depends-on): Add include_next.
29342         (Makefile.am): Create poll.h unconditionally. Substitute also
29343         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
29344
29345 2010-09-28  Bruno Haible  <bruno@clisp.org>
29346
29347         Tests for module 'poll-h'.
29348         * modules/poll-h-c++-tests: New file.
29349         * tests/test-poll-h-c++.cc: New file.
29350
29351         Tests for module 'poll-h'.
29352         * modules/poll-h-tests: New file.
29353         * tests/test-poll-h.c: New file.
29354
29355 2010-09-28  Bruno Haible  <bruno@clisp.org>
29356
29357         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
29358         * modules/poll-h (Depends-on): Add 'extensions'.
29359
29360 2010-09-28  Bruno Haible  <bruno@clisp.org>
29361
29362         New module 'poll-h'.
29363         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
29364         (poll): Use modern idiom.
29365         * modules/poll-h: New file.
29366         * modules/poll (Files): Remove lib/poll.in.h.
29367         (Depends-on): Add poll-h.
29368         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
29369         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
29370         * m4/poll_h.m4: New file.
29371         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
29372         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
29373         and invoke gl_REPLACE_POLL_H.
29374         * lib/poll.c: Use common idiom.
29375         * tests/test-poll.c: Likewise.
29376         * doc/posix-headers/poll.texi: Mention the poll-h module.
29377         Suggested by Eric Blake.
29378
29379 2010-09-26  Bruno Haible  <bruno@clisp.org>
29380
29381         sys_wait: Implement WSTOPSIG.
29382         * lib/sys_wait.in.h (WSTOPSIG): New macro.
29383         Reported by Simon Josefsson.
29384
29385 2010-09-26  Simon Josefsson  <simon@josefsson.org>
29386
29387         stdlib, sys_wait: Avoid compilation error on mingw.
29388         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
29389
29390 2010-09-26  Bruno Haible  <bruno@clisp.org>
29391
29392         stdlib tests: Avoid code duplication.
29393         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
29394         * modules/sys_wait-tests (Files): Likewise.
29395         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
29396         * tests/test-stdlib.c: Include test-sys_wait.h.
29397         (main): Invoke test_sys_wait_macros.
29398         * tests/test-sys_wait.c: Include test-sys_wait.h.
29399         (main): Invoke test_sys_wait_macros.
29400
29401 2010-09-25  Simon Josefsson  <simon@josefsson.org>
29402
29403         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
29404         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
29405         sure Windows sockets are working before calling getaddrinfo.
29406         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
29407         * doc/gnulib.texi (Windows sockets): Fix typo.
29408
29409 2010-09-25  Bruno Haible  <bruno@clisp.org>
29410
29411         Tests for module 'regex-quote'.
29412         * modules/regex-quote-tests: New file.
29413         * tests/test-regex-quote.c: New file.
29414
29415         New module 'regex-quote'.
29416         * lib/regex-quote.h: New file.
29417         * lib/regex-quote.c: New file.
29418         * modules/regex-quote: New file.
29419         Suggested by Reuben Thomas <rrt@sc3d.org>.
29420
29421 2010-09-24  Bruno Haible  <bruno@clisp.org>
29422
29423         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
29424         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
29425
29426 2010-09-23  Bruno Haible  <bruno@clisp.org>
29427
29428         setenv: Relax license.
29429         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
29430         Blake.
29431         Requested by Eric Blake.
29432
29433 2010-09-22  Bruno Haible  <bruno@clisp.org>
29434
29435         termios: Relax license.
29436         * modules/termios (License): Change to LGPLv2+.
29437         Requested by Eric Blake.
29438
29439 2010-09-22  Bruno Haible  <bruno@clisp.org>
29440
29441         threadlib: Allow the package to change the default to 'no'.
29442         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
29443         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
29444         Reported by Paul Eggert.
29445
29446 2010-09-22  Pádraig Brady  <P@draigbrady.com>
29447             Bruno Haible  <bruno@clisp.org>
29448
29449         Fix endless loop in mbmemcasecoll.
29450         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
29451         byte.
29452         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
29453
29454 2010-09-22  Bruno Haible  <bruno@clisp.org>
29455
29456         Tests for module 'memcoll'.
29457         * modules/memcoll-tests: New file.
29458         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
29459
29460         memcoll, xmemcoll: Clarify size vs. length.
29461         * modules/memcoll.c (memcoll0): Clarify specification.
29462         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
29463         passed to collate_error.
29464
29465 2010-09-22  Bruno Haible  <bruno@clisp.org>
29466
29467         Tests for module 'memcasecmp'.
29468         * modules/memcasecmp-tests: New file.
29469         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
29470
29471 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
29472
29473         * lib/pthread.in.h: Add split double-inclusion guard, and include
29474         system <pthread.h> if there is one.  Use @@-style as in other
29475         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
29476         pthread.h doesn't.
29477         (pthread_mutexattr_destroy, pthread_mutexattr_init):
29478         (pthread_mutexattr_settype, pthread_mutex_trylock):
29479         New static inline functions, if there's no system <pthread.h>.
29480         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
29481         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
29482         Approximate with mutexes if the system lacks spinlocks, as in
29483         MacOS.
29484         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
29485         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
29486         @@-style.  Check for spinlocks separately.
29487         (gl_PTHREAD_DEFAULTS): New macro.
29488         * modules/pthread: Redo to use a more typical style for in.h files.
29489
29490 2010-09-21  Eric Blake  <eblake@redhat.com>
29491
29492         net_if: enhance tests
29493         * tests/test-net_if.c (main): Move signature checks earlier.
29494         Print failures to stderr.
29495         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
29496         Document the bug that we do not yet fix.
29497
29498 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
29499
29500         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
29501         about gnulib, not GSS.
29502
29503 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
29504
29505         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
29506         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
29507         for Emacs.
29508         * build-aux/pmccabe2html: Make Makefile.am example code more
29509         cut-and-paste friendly.
29510
29511 2010-09-21  Simon Josefsson  <simon@josefsson.org>
29512
29513         * tests/test-net_if.c: New file.
29514         * modules/net_if-tests: New file.
29515
29516 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
29517
29518         pthread: add pthread_spin_destroy
29519         * lib/pthread.in.h (pthread_spin_destroy): New function.
29520
29521 2010-09-19  Bruno Haible  <bruno@clisp.org>
29522
29523         gnulib-tool: Fix --help output.
29524         * gnulib-tool (func_usage): Fix help message.
29525         Reported by Reuben Thomas <rrt@sc3d.org>.
29526
29527 2010-09-18  Jim Meyering  <meyering@redhat.com>
29528
29529         maint.mk: avoid unexpanded \n in two diagnostics
29530         * top/maint.mk (sc_prohibit_always_true_header_tests):
29531         Don't use a literal \n in a halt=... assignment.  It would not be
29532         expanded, and the two \n bytes would appear in the diagnostic output
29533         rather than the desired newline.  Use halt=$$(printf ... instead.
29534         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
29535
29536 2010-09-18  Bruno Haible  <bruno@clisp.org>
29537
29538         netinet_in: Doc tweak.
29539         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
29540         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
29541
29542 2010-09-18  Jim Meyering  <meyering@redhat.com>
29543
29544         init.sh: correct an outdated comment
29545         * tests/init.sh (create_exe_shims_):  s/function/alias/
29546
29547         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
29548         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
29549         a file named "*.exe" is removed between the glob expansion and the
29550         processing of that oddly named file.
29551
29552 2010-09-17  Eric Blake  <eblake@redhat.com>
29553
29554         mirbsd: add some more support
29555         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
29556         in BSD family.
29557         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
29558         devices as OpenBSD.
29559         * m4/host-os.m4 (mirbsd): Add MirBSD.
29560
29561         tests: fix unportable assumption on sys/wait.h
29562         * tests/test-sys_wait.c (main): Relax test.
29563         * tests/test-stdlib.c (main): Likewise.
29564
29565         init.sh: accommodate directory with no .exes
29566         * tests/init.sh: Accomodate directory containing only scripts.
29567
29568         tests: avoid compiler warning
29569         * tests/test-stdlib.c (main): Use the variable.
29570
29571         fdutimens, fdutimensat: update signature, again
29572         * lib/utimens.h (gl_futimens): Delete, and move signature...
29573         (fdutimens): ...here.
29574         (fdutimensat): Rearrange signature.
29575         (lutimensat): Rename variable for clarity.
29576         * lib/fdutimensat.c (fdutimensat): Update signature.
29577         * lib/utimens.c (fdutimens): Likewise.
29578         (gl_futimens): Delete.
29579         (utimens, lutimens): Update callers.
29580         * lib/futimens.c (futimens): Likewise.
29581         * tests/test-fdutimensat.c: Likewise.
29582         * tests/test-utimens.c: Likewise.
29583         * tests/test-futimens.h: Update comment.
29584         * NEWS: Mention this.
29585         Suggested by Paul Eggert.
29586
29587 2010-09-17  Bruno Haible  <bruno@clisp.org>
29588
29589         Take over the maintenance of some older macros from Autoconf.
29590         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
29591         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
29592         GNU Autoconf.
29593         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
29594         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
29595
29596 2010-09-17  Eric Blake  <eblake@redhat.com>
29597
29598         fdutimensat: drop atflag validation
29599         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
29600         with valid fd, to close a race scenario where futimens is
29601         unsupported and FILE was replaced by a symlink.
29602         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
29603         accordingly.
29604         Suggested by Paul Eggert.
29605
29606 2010-09-16  Bruno Haible  <bruno@clisp.org>
29607
29608         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
29609         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
29610
29611 2010-09-16  Bruno Haible  <bruno@clisp.org>
29612
29613         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
29614         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
29615         login_tty exists.
29616         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
29617
29618 2010-09-16  Bruno Haible  <bruno@clisp.org>
29619
29620         login_tty: Make the replacement code work on BSD systems.
29621         * lib/login_tty.c: Include <sys/ioctl.h>.
29622         (login_tty): Use ioctl TIOCSCTTY when available.
29623         * modules/login_tty (Depends-on): Add sys_ioctl.
29624         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
29625
29626 2010-09-16  Bruno Haible  <bruno@clisp.org>
29627
29628         login_tty: Stricter unit test.
29629         * modules/login_tty-tests (Depends-on): Add tcgetsid.
29630         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
29631         and tcgetsid() after login_tty.
29632         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
29633
29634 2010-09-16  Bruno Haible  <bruno@clisp.org>
29635
29636         New module 'tcgetsid'.
29637         * lib/tcgetsid.c: New file.
29638         * m4/tcgetsid.m4: New file.
29639         * modules/tcgetsid: New file.
29640         * modules/termios (Depends-on): Add c++defs, warn-on-use.
29641         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
29642         GNULIB_TCGETSID, HAVE_TCGETSID.
29643         * lib/termios.in.h: Include <sys/types.h>.
29644         (tcgetsid): New declaration.
29645         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
29646         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
29647         * doc/posix-functions/tcgetsid.texi: Mention the new module.
29648         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
29649
29650 2010-09-16  Bruno Haible  <bruno@clisp.org>
29651
29652         Tests for module 'termios'.
29653         * modules/termios-c++-tests: New file.
29654         * modules/termios-tests: New file.
29655         * tests/test-termios-c++.cc: New file.
29656         * tests/test-termios.c: New file.
29657
29658         New module 'termios'.
29659         * modules/termios: New file.
29660         * lib/termios.in.h: New file.
29661         * m4/termios_h.m4: New file.
29662         * doc/posix-headers/termios.texi: Mention the new module.
29663
29664 2010-09-16  Eric Blake  <eblake@redhat.com>
29665
29666         fdutimensat: add an atflag parameter
29667         * lib/fdutimensat.c (fdutimensat): Add new parameter.
29668         * lib/utimens.h (fdutimensat): Update prototype.
29669         * tests/test-fdutimensat.c: Adjust test to match.
29670         * NEWS: Document the change.
29671         Suggested by Paul Eggert.
29672
29673 2010-09-16  Bruno Haible  <bruno@clisp.org>
29674
29675         Fix typos in comments.
29676         * lib/striconveh.h: Fix typo in comment.
29677         * lib/login_tty.c (login_tty): Likewise.
29678
29679 2010-09-15  Bruno Haible  <bruno@clisp.org>
29680
29681         stdlib: clarify MirBSD WEXITSTATUS bug
29682         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
29683         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
29684
29685 2010-09-15  Eric Blake  <eblake@redhat.com>
29686
29687         stdlib: work around MirBSD WEXITSTATUS bug
29688         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
29689         * modules/stdlib (Depends-on): Add sys_wait.
29690         * tests/test-sys_wait.c (main): Enhance test.
29691         * tests/test-stdlib.c (main): Likewise.
29692         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
29693
29694         docs: mention MacOS issue with WEXITSTATUS(constant)
29695         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
29696         issue.
29697         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
29698
29699         strnlen: add tests
29700         * modules/strnlen-tests: New file.
29701         * tests/test-strnlen.c: Likewise.
29702
29703 2010-09-14  Bruno Haible  <bruno@clisp.org>
29704
29705         unistr/base: Avoid link errors when module 'libunistring' is also used.
29706         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
29707         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
29708         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
29709         Declare also when HAVE_LIBUNISTRING is set.
29710         Reported by Pádraig Brady <P@draigbrady.com>.
29711
29712 2010-09-14  Eric Blake  <eblake@redhat.com>
29713
29714         test-rawmemchr: make more robust
29715         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
29716         (Depends-on, configure.ac): Add needed prerequisites to use it.
29717         * modules/memchr-tests (Files, Depends-on, configure.ac):
29718         Likewise, to avoid implicit reliance on memchr module prereqs.
29719         * tests/test-memchr.c (main): Ensure proper masking.
29720         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
29721         reads.
29722
29723         memchr: detect glibc Alpha bug
29724         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
29725         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
29726         Alpha.
29727         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
29728         * tests/test-memchr.c (main): Enhance test.
29729         Reported by Nelson H. F. Beebe.
29730
29731 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
29732
29733         fts, getcwd, glob: audit for dirfd returning -1
29734         * lib/fts.c (opendir): Remove #define; no longer used.
29735         (opendirat): New arg PDIR_FD.  All callers changed.
29736         (fts_build, _opendir2): Use new opendirat to avoid the need for
29737         dirfd, or for checking whether dirfd returns a negative value.
29738         Don't use opendir; always use openat followed by fdopendir.
29739         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
29740         it.
29741         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
29742         returns -1 here.
29743         * modules/fts (Depends-on): Remove dirfd.
29744         * modules/getcwd (Depends-on): Likewise.
29745
29746 2010-09-13  Eric Blake  <eblake@redhat.com>
29747
29748         float: fix broken MirBSD header
29749         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
29750         * doc/posix-headers/float.texi (float.h): Document it.
29751
29752 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
29753
29754         fts: use O_NOFOLLOW to avoid race condition when opening a directory
29755         * lib/fts.c (opendirat): New arg extra_flags.
29756         (__opendir2): Use it to avoid following symlinks when opening
29757         a directory, if symlinks are not supposed to be followed.  See
29758         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
29759
29760         fdopendir: preserve argument fd before returning
29761         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
29762         (fdopendir_with_dup, fd_clone_opendir): New static functions.
29763         (fdopendir): Use them, arranging for FD to be open to the same
29764         directory that it was when it started.  (It might be temporarily
29765         closed while fdopendir is running, so this not thread- or
29766         signal-safe.)  Be careful to do the right thing even when file
29767         descriptors are scarce and dup fails with errno == EMFILE.  See
29768         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
29769
29770 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
29771
29772         regex: Pass the system regex if its only problem is 32-bit regoff_t.
29773         * NEWS: Document change.
29774         * m4/regex.m4: Disable test for regoff_t size.
29775
29776 2010-09-13  Jim Meyering  <meyering@redhat.com>
29777
29778         fts: don't operate on an invalid file descriptor after failed dup
29779         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
29780         negative file descriptor.
29781
29782 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
29783
29784         savedir: add streamsavedir, deprecate fdsavedir
29785         * NEWS: Mention deprecation of fdsavedir.
29786         * lib/savedir.c (streamsavedir): New extern function, whose name
29787         ends in "savedir" to be consistent with the others.  This differs
29788         from savedirstream in that it doesn't close its argument.  The
29789         next version of GNU tar will use this instead of fdsavedir, to
29790         avoid some race conditions and conserve file descriptors.
29791         (savedirstream): Reimplement as a wrapper around streamsavedir.
29792         (fdsavedir): Add a comment deprecating this function.  As far as
29793         I know, only GNU tar used it, and GNU tar doesn't need it any more.
29794         * lib/savedir.h (streamsavedir): New decl.
29795         (fdsavedir): Add a comment deprecating this.
29796
29797 2010-09-10  Bruno Haible  <bruno@clisp.org>
29798
29799         langinfo: Fix last commit.
29800         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
29801         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
29802         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
29803
29804 2010-09-10  Bruno Haible  <bruno@clisp.org>
29805
29806         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
29807         * lib/progreloc.c (O_EXEC): Define fallback.
29808
29809 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
29810
29811         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
29812         * NEWS: Document recent changes to fcntl-h.
29813         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
29814         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
29815         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
29816         Similarly for O_SEARCH; this last was already true, but not documented.
29817         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
29818         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
29819         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
29820         Likewise.
29821         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
29822         is zero, not whether it is defined.
29823         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
29824         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
29825         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
29826
29827 2010-09-10  Bruno Haible  <bruno@clisp.org>
29828
29829         langinfo, nl_langinfo: Fix for IRIX 5.3.
29830         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
29831         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
29832         HAVE_LANGINFO_YESEXPR.
29833         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
29834         HAVE_LANGINFO_YESEXPR.
29835         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
29836         HAVE_LANGINFO_T_FMT_AMPM is 0.
29837         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
29838         HAVE_LANGINFO_YESEXPR is 0.
29839         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
29840         NOEXPR.
29841         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
29842         * doc/posix-functions/nl_langinfo.texi: Likewise.
29843         Reported by Eric Blake.
29844
29845 2010-09-10  Bruno Haible  <bruno@clisp.org>
29846
29847         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
29848         * doc/glibc-functions/login_tty.texi: Mention the include file problem
29849         on FreeBSD 8.0 and OpenBSD 4.6.
29850         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
29851         * m4/pty_h.m4 (gl_PTY_H): Likewise.
29852         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
29853         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
29854         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
29855         ac_includes_default.
29856         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
29857
29858 2010-09-09  Eric Blake  <eblake@redhat.com>
29859
29860         strsignal: work around NetBSD bug
29861         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
29862         * lib/string.in.h (includes): Likewise.
29863         * doc/posix-functions/strsignal.texi (strsignal): Document the
29864         bug.
29865         Reported by Nelson H. F. Beebe.
29866
29867         gnulib-tool: work with NetBSD /bin/sh
29868         * gnulib-tool (func_cache_var, func_cache_lookup_module)
29869         (func_get_description, func_get_comment, func_get_status)
29870         (func_get_notice, func_get_applicability, func_get_filelist)
29871         (func_get_dependencies, func_get_autoconf_early_snippet)
29872         (func_get_autoconf_snippet, func_get_automake_snippet)
29873         (func_get_include_directive, func_get_link_directive)
29874         (func_get_license, func_get_maintainer, func_import): Avoid
29875         shell syntax errors from parsing syntax extensions.
29876
29877 2010-09-09  Bruno Haible  <bruno@clisp.org>
29878
29879         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
29880         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
29881         a reliable way to determine whether the 'alias' command works.
29882
29883 2010-09-08  Jim Meyering  <meyering@redhat.com>
29884
29885         init.sh: penalize a set-x-impaired shell; don't disqualify it
29886         * tests/init.sh: Too many shells corrupt application stderr when
29887         you set -x, so we can't afford to disqualify them, since at least
29888         on Irix-6.5, that would disqualify all bourne shells.
29889         Instead, use a two-pass approach.
29890         On the first pass, try to find a shell that meets the stricter
29891         condition that set -x does not corrupt stderr.
29892         If no shell meets the stricter condition, retest each candidate
29893         shell, but without that extra condition.  Finally, when
29894         VERBOSE=yes is requested and set -x might cause trouble, simply
29895         issue a warning and refrain from enabling debug output.
29896
29897 2010-09-08  Eric Blake  <eblake@redhat.com>
29898
29899         unsetenv: fix OpenBSD bug
29900         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
29901         * doc/posix-functions/unsetenv.texi (unsetenv): Update
29902         documentation.
29903         Reported by Jim Meyering.
29904
29905         strtod: work around IRIX 6.5 bug
29906         * lib/strtod.c (strtod): Reparse number on shorter string if
29907         exponent parse was invalid.
29908         * tests/test-strtod.c (main): Add check for "0x1p 2".
29909         Reported by Tom G. Christensen.
29910
29911         getopt: optimize previous patch
29912         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
29913         empty variable.  Speed up awk script.
29914         Reported by Paolo Bonzini.
29915
29916 2010-09-08  Jim Meyering  <meyering@redhat.com>
29917
29918         test.sh: disqualify shells for which set -x corrupts stderr
29919         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
29920         and OpenBSD 4.7.  They make it so with "set -x", environment settings
29921         appear in stderr output.  For example, this command:
29922             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
29923         prints "P=1" on those two systems:
29924
29925 2010-09-08  Bruno Haible  <bruno@clisp.org>
29926
29927         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
29928         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
29929         commands, because some shells ignore redirections when there is an
29930         error in the command lookup.
29931         Reported by Eric Blake.
29932
29933 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
29934
29935         * lib/regex.h: Fix a mention of `regex_compile' (should be
29936         `re_compile_pattern').
29937         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
29938         (re_set_registers): Correct name of parameter in comment.
29939
29940         * doc/regex.texi: Add documentation for missing syntax flags.
29941         Remove commented-out documentation of defunct syntax option
29942         RE_NO_EMPTY_ALTS.
29943         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
29944         Add documentation of re_set_registers.
29945         Document trick to re-use a pattern buffer by setting fastmap manually.
29946         Update documentation of struct re_pattern_buffer per public members.
29947         Uncomment documentation of equivalence class operators and
29948         collating symbol operators, since they are now implemented,
29949         Explain leftmost-longest matching in relation to alternatives.
29950         Tidy documentation of substring matching.
29951         Remove POSIX documentation, which is done better in
29952         glibc, and refer the reader there. Keep BSD API documentation, as
29953         that is not readily available elsewhere.
29954
29955 2010-09-07  Eric Blake  <eblake@redhat.com>
29956
29957         getopt: handle POSIXLY_CORRECT set but not exported
29958         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
29959         export state of POSIXLY_CORRECT, due to bash set -o posix.
29960         Reported by Dustin J. Mitchell.
29961
29962 2010-09-05  Bruno Haible  <bruno@clisp.org>
29963
29964         gnulib-tool: Highlight the changed options.
29965         * gnulib-tool (func_usage): Display the --import, --add-import,
29966         --remove-import explanations in bold font.
29967
29968 2010-09-06  Karl Berry  <karl@gnu.org>
29969
29970         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
29971
29972 2010-09-05  Bruno Haible  <bruno@clisp.org>
29973
29974         uniwidth/width: Update comment.
29975         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
29976         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
29977
29978 2010-09-05  Bruno Haible  <bruno@clisp.org>
29979
29980         isinf, isnan: Relax license.
29981         * modules/isinf (License): Change from GPL to LGPL, with consent from
29982         Ben Pfaff.
29983         * modules/isnan (License): Likewise.
29984         Requested by Ludovic Courtès.
29985
29986 2010-09-04  Bruno Haible  <bruno@clisp.org>
29987
29988         gnulib-tool: Help migration from --import to --add-import or --update.
29989         * gnulib-tool: Emit a verbose error message when --import is used
29990         without any module name.
29991
29992 2010-09-04  Bruno Haible  <bruno@clisp.org>
29993
29994         Update doc about gnulib-tool.
29995         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
29996         'gnulib-tool --update' in more detail.
29997         Reported by Eric Blake.
29998
29999 2010-09-04  Bruno Haible  <bruno@clisp.org>
30000
30001         gnulib-tool: Change --import. New options --add/remove-import.
30002         * gnulib-tool: New options --add-import, --remove-import.
30003         (func_usage): Document them.
30004         (have_associative): Define always.
30005         (func_import): In import mode, don't merge the specified settings with
30006         the cached settings. Implement remove-import mode.
30007         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
30008         Explain when to use them versus --import.
30009         (Simple update): Use --add-import instead of --import.
30010         * NEWS: Mention the change.
30011
30012 2010-09-04  Bruno Haible  <bruno@clisp.org>
30013
30014         * doc/gnulib-tool.texi (Initial import): Update paragraph about
30015         separate gnulib.mk.
30016
30017 2010-09-04  Bruno Haible  <bruno@clisp.org>
30018
30019         gnulib-tool: Don't talk about CVS any more.
30020         * gnulib-tool (func_usage, func_import): Write "version control"
30021         instead of CVS.
30022
30023 2010-09-04  Jim Meyering  <meyering@redhat.com>
30024
30025         maint.mk: avoid obscure sc_copyright_check failure in coreutils
30026         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
30027         false positives (whose names may be ill-chosen) when searching
30028         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
30029         would cause a false-positive.
30030
30031         avoid coreutils "make distcheck" failure
30032         Coreutils tests with an absolute build directory name that contains
30033         a space.  Not quoting this directory name caused a failure.
30034         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
30035         * tests/test-vc-list-files-cvs.sh: Likewise.
30036
30037 2010-09-04  Bruno Haible  <bruno@clisp.org>
30038
30039         gnulib-tool: Avoid error when run in a package without Makefile.am.
30040         * gnulib-tool: When collecting the m4dirs in a package that does not
30041         have a Makefile.am, eliminate those directories that contain no
30042         gnulib-cache.m4. Fix expression that counts these directories.
30043
30044 2010-09-04  Bruno Haible  <bruno@clisp.org>
30045
30046         update-copyright test: Improve output when perl is missing or too old.
30047         * tests/test-update-copyright.sh: Move test of Perl version down after
30048         the test whether Perl exists. Provide an explanation relating Perl's
30049         error message to Automake's SKIP: message.
30050
30051 2010-09-04  Bruno Haible  <bruno@clisp.org>
30052
30053         Don't augment PATH in TESTS_ENVIRONMENT.
30054         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
30055         set abs_aux_dir instead of augmenting PATH.
30056         * modules/vc-list-files-tests (Makefile.am): Likewise.
30057         * tests/test-update-copyright.sh: Augment PATH here.
30058         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
30059         path_prepend_.
30060         * tests/test-vc-list-files-git.sh: Likewise.
30061
30062 2010-09-04  Jim Meyering  <meyering@redhat.com>
30063
30064         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
30065         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
30066
30067 2010-09-04  Bruno Haible  <bruno@clisp.org>
30068
30069         strdup: Fix compilation error in C++ mode.
30070         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
30071         the macro.
30072
30073 2010-09-04  Bruno Haible  <bruno@clisp.org>
30074
30075         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
30076         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
30077         macro into a function.
30078         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
30079
30080 2010-09-04  Bruno Haible  <bruno@clisp.org>
30081
30082         Set PATH_SEPARATOR the same way autoconf does.
30083         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
30084         the value of PATH_SEPARATOR the same way autoconf-generated configure
30085         scripts do.
30086         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
30087         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
30088
30089 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
30090
30091         Set PATH_SEPARATOR the same way autoconf does.
30092         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
30093         the same way autoconf-generated configure scripts do.
30094         * posix-modules: Likewise.
30095
30096 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
30097
30098         hash: fix safe_hasher const typo
30099         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
30100         const; otherwise, there is a type error later.
30101
30102 2010-09-02  Jim Meyering  <meyering@redhat.com>
30103
30104         test-update-copyright.sh: require perl 5.8.0
30105         * tests/test-update-copyright.sh: Require 5.8.0,
30106         which Tom G. Christensen has confirmed is adequate,
30107         while 5.6.1 is not.
30108
30109 2010-09-02  Eric Blake  <eblake@redhat.com>
30110
30111         tests: init.sh improvements for re-exec'ing with zsh
30112         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
30113         -vx through shell re-exec.
30114         Reported by Tom G. Christensen.
30115
30116         wctype: fix typo in previous commit
30117         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
30118         Reported by Ludovic Courtès.
30119
30120 2010-09-02  Jim Meyering  <meyering@redhat.com>
30121
30122         test-update-copyright.sh: skip test if Perl is too old
30123         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
30124         Reported by Tom G. Christensen.
30125
30126 2010-09-02  Bruno Haible  <bruno@clisp.org>
30127
30128         wctype: Avoid compilation error on IRIX 6.5.30.
30129         * lib/wctype.in.h (iswblank): Declare with a replacement if
30130         REPLACE_ISWBLANK is set.
30131         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
30132         declared. Set REPLACE_ISWBLANK.
30133         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
30134         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
30135         * doc/posix-headers/wctype.texi: Likewise.
30136         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
30137
30138 2010-09-01  Bruno Haible  <bruno@clisp.org>
30139
30140         New module 'socketlib'.
30141         * modules/socketlib: New file.
30142         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
30143         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
30144         * modules/sockets (Depends-on): Add socketlib.
30145         Suggested by Sam Steingold <sds@gnu.org>.
30146
30147 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
30148
30149         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
30150
30151         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
30152         when one needs search access to a directory but not read access.
30153         On systems where it is available, it works in some cases where
30154         O_RDONLY does not, namely on directories that are searchable but
30155         not readable, and which need only to be searchable.  If O_SEARCH
30156         is not available, fall back to the traditional method of using
30157         O_RDONLY.
30158
30159         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
30160         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
30161         when opening a directory that needs only to be searchable.
30162         * lib/chdir-safer.c (chdir_no_follow): Likewise.
30163         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
30164         * lib/openat-proc.c (openat_proc_name): Likewise.
30165         * lib/openat.c (openat_needs_fchdir): Likewise.
30166         * lib/save-cwd.c (save_cwd): Likewise.
30167         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
30168
30169 2010-08-28  Bruno Haible  <bruno@clisp.org>
30170
30171         New module 'host-cpu-c-abi'.
30172         * modules/host-cpu-c-abi: New file.
30173         * m4/host-cpu-c-abi.m4: New file, based on part of
30174         clisp/src/m4/general.m4.
30175         Requested by Sam Steingold <sds@gnu.org>.
30176
30177 2010-08-31  Eric Blake  <eblake@redhat.com>
30178         and Jim Meyering  <meyering@redhat.com>
30179
30180         hash: factor, and guard against misbehaving hasher function
30181         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
30182         of table->hasher's return value.  Also protect against a hash value
30183         so large that adding it to table->bucket results in a NULL pointer.
30184         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
30185         Use it in place of open-coded check-and-abort.
30186
30187 2010-08-30  Bruno Haible  <bruno@clisp.org>
30188
30189         hash: silence spurious clang warning
30190         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
30191         Reported by Eric Blake.
30192
30193 2010-08-30  Eric Blake  <eblake@redhat.com>
30194
30195         strstr, memmem, strcasestr: avoid leaked shell message
30196         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
30197         FreeBSD.
30198         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
30199         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
30200
30201         tests: silence clang warning
30202         * tests/test-malloca.c (do_allocation): Avoid dead store.
30203
30204 2010-08-29  Bruno Haible  <bruno@clisp.org>
30205
30206         gettext: Fix recent mistake.
30207         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
30208
30209 2010-08-29  Bruno Haible  <bruno@clisp.org>
30210
30211         selinux-h: Offer a --without-selinux option.
30212         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
30213         --without-selinux was specified, skip all tests and define
30214         HAVE_SELINUX_SELINUX_H to 0.
30215         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
30216         set LIB_SELINUX to empty.
30217         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
30218         gl_LIBSELINUX. If --without-selinux was specified, replace
30219         selinux/context.h.
30220         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
30221
30222 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
30223             Bruno Haible  <bruno@clisp.org>
30224
30225         Make the module 'realloc-gnu' work again on AIX and OSF/1.
30226         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
30227         of HAVE_REALLOC.
30228         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
30229         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
30230         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
30231         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
30232
30233 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
30234             Bruno Haible  <bruno@clisp.org>
30235
30236         Make the module 'calloc-gnu' work again on AIX and OSF/1.
30237         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
30238         HAVE_CALLOC.
30239         * lib/xmalloc.c: Update accordingly.
30240         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
30241         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
30242         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
30243
30244 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
30245             Bruno Haible  <bruno@clisp.org>
30246
30247         Make the module 'malloc-gnu' work again on AIX and OSF/1.
30248         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
30249         HAVE_MALLOC.
30250         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
30251         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
30252         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
30253
30254 2010-08-29  Bruno Haible  <bruno@clisp.org>
30255
30256         Update modules list.
30257         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
30258         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
30259         (String handling <string.h>): Add astrxfrm.
30260         (File system functions): Add readlinkat.
30261
30262 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30263
30264         Tests for module 'realloc-gnu'.
30265         * modules/realloc-gnu-tests: New file.
30266         * tests/test-realloc-gnu.c: New file.
30267
30268         Tests for module 'calloc-gnu'.
30269         * modules/calloc-gnu-tests: New file.
30270         * tests/test-calloc-gnu.c: New file.
30271
30272         Tests for module 'malloc-gnu'.
30273         * modules/malloc-gnu-tests: New file.
30274         * tests/test-malloc-gnu.c: New file.
30275
30276 2010-08-28  Bruno Haible  <bruno@clisp.org>
30277
30278         Rename module 'realloc' -> 'realloc-gnu'.
30279         * modules/realloc-gnu: New file, copied from modules/realloc.
30280         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
30281         obsolete.
30282         * modules/mgetgroups (Depends-on): Update.
30283         * doc/posix-functions/realloc.texi: Update.
30284         * NEWS: Mention the change.
30285
30286         Rename module 'calloc' -> 'calloc-gnu'.
30287         * modules/calloc-gnu: New file, copied from modules/calloc.
30288         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
30289         obsolete.
30290         * doc/posix-functions/calloc.texi: Update.
30291         * NEWS: Mention the change.
30292
30293         Rename module 'malloc' -> 'malloc-gnu'.
30294         * modules/malloc-gnu: New file, copied from modules/malloc.
30295         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
30296         obsolete.
30297         * modules/argp (Depends-on): Update.
30298         * modules/regex (Depends-on): Update.
30299         * doc/posix-functions/malloc.texi: Update.
30300         * NEWS: Mention the change.
30301
30302 2010-08-28  Eric Blake  <eblake@redhat.com>
30303
30304         pread, pwrite: add missing dependency
30305         * modules/pread (Depends-on): Add extensions.
30306         * modules/pwrite (Depends-on): Likewise.
30307
30308 2010-08-28  Bruno Haible  <bruno@clisp.org>
30309
30310         unistr/u*-strchr: Fix tests dependencies.
30311         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
30312         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
30313         Reported by Ian Beckwith <ianb@erislabs.net>.
30314
30315 2010-08-28  Bruno Haible  <bruno@clisp.org>
30316
30317         read-file: Don't occupy too much unused memory.
30318         * lib/read-file.c (fread_file): Shrink the buffer at the end.
30319
30320 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
30321             Eric Blake  <eblake@redhat.com>
30322             Bruno Haible  <bruno@clisp.org>
30323
30324         read-file: Avoid memory reallocations with regular files.
30325         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
30326         (fread_file): With regular files, use the remaining length as the
30327         initial buffer size.  Check against overflow.
30328         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
30329         sys_stat.
30330
30331 2010-08-28  Bruno Haible  <bruno@clisp.org>
30332
30333         ftello: Relax license.
30334         * modules/ftello (License): Relax to LGPLv2+.
30335         Reported by Eric Blake.
30336
30337 2010-08-28  Bruno Haible  <bruno@clisp.org>
30338
30339         Avoid relocwrapper link errors due to gnulib replacement functions.
30340         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
30341         function.
30342         Reported by Ben Pfaff <blp@cs.stanford.edu>.
30343
30344 2010-08-28  Bruno Haible  <bruno@clisp.org>
30345
30346         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
30347         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
30348         defined.
30349         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
30350         Suggested by Eric Blake.
30351
30352 2010-08-28  Bruno Haible  <bruno@clisp.org>
30353
30354         sys_socket, netdb: Ensure socklen_t gets defined.
30355         * modules/sys_socket (Depends-on): Add socklen.
30356         * modules/netdb (Depends-on): Likewise.
30357         * modules/getaddrinfo (Depends-on): Remove socklen.
30358         * modules/getsockopt (Depends-on): Likewise.
30359         * modules/setsockopt (Depends-on): Likewise.
30360         * tests/test-sys_socket.c: Check that socklen_t is defined.
30361         * tests/test-netdb.c: Likewise.
30362         * m4/socklen.m4: Update comments.
30363         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
30364
30365 2010-08-27  Eric Blake  <eblake@redhat.com>
30366
30367         login_tty: add missing dependency
30368         * modules/login_tty (Depends-on): Add pty.
30369
30370 2010-08-26  Eric Blake  <eblake@redhat.com>
30371
30372         lib-symbol-versions: fix m4 quoting
30373         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
30374         format for AC_LINK_IFELSE.
30375
30376         glob: fix compile test
30377         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
30378
30379         btowc: fix missing file
30380         * modules/btowc (Files): Also ship locale-fr.m4.
30381
30382         lseek: fix link test
30383         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
30384         AC_LINK_IFELSE.
30385
30386         include_next: silence autoconf 2.68 warning
30387         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
30388         AC_COMPILE_IFELSE as special.
30389         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
30390         autoconf < 2.68.
30391
30392         acl: fix compilation test
30393         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
30394         AC_COMPILE_IFELSE.
30395
30396 2010-08-26  Bruno Haible  <bruno@clisp.org>
30397
30398         Modernize AC_TRY_RUN invocations.
30399         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
30400         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
30401         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
30402         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
30403         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
30404         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
30405         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
30406         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
30407         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
30408         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
30409         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
30410         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
30411         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
30412         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
30413         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
30414         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
30415         gl_MBRLEN_NUL_RETVAL): Likewise.
30416         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
30417         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
30418         Likewise.
30419         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
30420         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
30421         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
30422         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
30423         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
30424         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
30425         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
30426         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
30427         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
30428         Likewise.
30429         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
30430         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
30431         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
30432         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
30433         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
30434         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
30435         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
30436         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
30437         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
30438         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
30439
30440 2010-08-26  Bruno Haible  <bruno@clisp.org>
30441
30442         Modernize AC_TRY_LINK invocations.
30443         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
30444         AC_TRY_LINK.
30445         * m4/argp.m4 (gl_ARGP): Likewise.
30446         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
30447         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
30448         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
30449         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
30450         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
30451         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
30452         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
30453         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
30454         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
30455         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
30456         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
30457         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
30458         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
30459         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
30460         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
30461         * m4/hostent.m4 (gl_HOSTENT): Likewise.
30462         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
30463         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
30464         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
30465         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
30466         Likewise.
30467         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
30468         Likewise.
30469         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
30470         Likewise.
30471         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
30472         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
30473         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
30474         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
30475         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
30476         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
30477         * m4/servent.m4 (gl_SERVENT): Likewise.
30478         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
30479         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
30480         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
30481         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
30482         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
30483         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
30484         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
30485         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
30486         * modules/tsearch-tests (configure.ac): Likewise.
30487
30488 2010-08-26  Bruno Haible  <bruno@clisp.org>
30489
30490         Modernize AC_TRY_COMPILE invocations.
30491         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
30492         AC_TRY_COMPILE.
30493         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
30494         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
30495         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
30496         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
30497         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
30498         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
30499         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
30500         * m4/lock.m4 (gl_LOCK): Likewise.
30501         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
30502         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
30503         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
30504         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
30505         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
30506         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
30507         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
30508         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
30509         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
30510         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
30511         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
30512         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
30513         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
30514         extraneous semicolon.
30515
30516 2010-08-26  Jim Meyering  <meyering@redhat.com>
30517
30518         stat-time: relax license LGPL
30519         * modules/stat-time (License): Change from GPL to LGPL,
30520         with consent from all contributors, for use in libguile.
30521         Requested by Ludovic Courtès.
30522
30523 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
30524
30525         poll: return immediately on POLLHUP.
30526         * lib/poll.c (poll): Always set timeout before wait_timeout is
30527         computed.
30528
30529 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30530
30531         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
30532         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
30533         rmdir ("dir/.//"), unlinkat.
30534
30535 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
30536
30537         stdbool: avoid spurious failure with modern xlc
30538         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
30539
30540 2010-08-24  Bruno Haible  <bruno@clisp.org>
30541
30542         getloadavg: simplify code
30543         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
30544         gl_have_func. Update comments.
30545
30546 2010-08-24  Eric Blake  <eblake@redhat.com>
30547
30548         getloadavg: don't define SVR4 on cygwin
30549         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
30550         only define SVR4 when -lkvm is required.
30551         Reported by Yaakov Selkowitz.
30552
30553 2010-08-24  Bruno Haible  <bruno@clisp.org>
30554
30555         priv-set: fix comment
30556         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
30557
30558 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
30559
30560         priv-set: fix comments
30561         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
30562         to match code, as suggested by David Bartley in:
30563         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
30564
30565 2010-08-23  Eric Blake  <eblake@redhat.com>
30566
30567         stdbool: avoid rejecting clang
30568         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
30569         * tests/test-stdbool.c: Enable more tests if using the system
30570         <stdbool.h> instead of the gnulib replacement.
30571         (main): Move xlc bug test to a runtime test for all compilers.
30572         Reported by Anders Kaseorg.
30573
30574         argz: fix shell quoting issue
30575         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
30576         Reported by Charles Wilson.
30577
30578 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
30579             Erik Faye-Lund <kusmabite@gmail.com>
30580
30581         poll, select: handle ERROR_BROKEN_PIPE.
30582         * lib/poll.c (win32_compute_revents): Return POLLHUP when
30583         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
30584         * lib/select.c (win32_compute_revents): Do not mark a pipe
30585         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
30586
30587 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
30588
30589         fts: allow compilation with C++
30590         * lib/fts_.h: Specify extern "C" linkage with C++.
30591
30592 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30593
30594         Fix gnulib-tool sed script de-commentation for AIX sed.
30595         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
30596         sed.
30597
30598 2010-08-17  Eric Blake  <eblake@redhat.com>
30599
30600         test-stddef: test for (some) offsetof bugs
30601         * tests/test-stddef.c: Enhance test to ensure correct type of
30602         offsetof.
30603         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
30604         that we are not fixing at this time.
30605
30606 2010-08-15  Bruno Haible  <bruno@clisp.org>
30607
30608         stpncpy: Allow stpncpy to be defined as a macro.
30609         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
30610         if it's already correctly declared.
30611         * lib/string.in.h (stpncpy): Undefine before redefining.
30612         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
30613
30614 2010-08-14  Bruno Haible  <bruno@clisp.org>
30615
30616         Rename module 'memxfrm' to 'amemxfrm'.
30617         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
30618         (amemxfrm): Renamed from memxfrm.
30619         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
30620         (amemxfrm): Renamed from memxfrm.
30621         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
30622         * NEWS: Mention the change.
30623         * MODULES.html.sh (String handling <string.h>): Update.
30624         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
30625         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
30626         * lib/unicase/u16-casexfrm.c: Likewise.
30627         * lib/unicase/u32-casexfrm.c: Likewise.
30628         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
30629         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
30630         * lib/uninorm/u16-normxfrm.c: Likewise.
30631         * lib/uninorm/u32-normxfrm.c: Likewise.
30632         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
30633         memxfrm.
30634         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
30635         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
30636         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
30637         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
30638         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
30639         Suggested by Paul Eggert.
30640
30641 2010-08-14  Bruno Haible  <bruno@clisp.org>
30642
30643         Tests for module 'astrxfrm'.
30644         * modules/astrxfrm-tests: New file.
30645         * tests/test-astrxfrm.c: New file.
30646
30647         New module 'astrxfrm'.
30648         * lib/astrxfrm.h: New file.
30649         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
30650         * modules/astrxfrm: New file.
30651
30652 2010-08-14  Reuben Thomas <rrt@sc3d.org>
30653
30654         regex: Tweak doc.
30655         * doc/regex.texi (Overview): Don't mention regex.c.
30656         (GNU Regular Expression Compiling): Likewise.
30657         (Match-end-of-line Operator): Mention 'not_eol'.
30658
30659 2010-08-14  Brian Gough  <bjg@gnu.org>
30660             Bruno Haible  <bruno@clisp.org>
30661
30662         git-merge-changelog: add doc relating to use with bzr and hg.
30663         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
30664
30665 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
30666
30667         pthread: fix pthread.h creation for srcdir != builddir
30668         * modules/pthread (Makefile.am): Fix the rule to work also in a
30669         non-srcdir build.
30670
30671 2010-08-13  Karl Berry  <karl@gnu.org>
30672
30673         * doc/regex.texi (Predefined Syntaxes): @smallexample.
30674         * doc/posix-*/*: force line break before @url of POSIX
30675         specifications.
30676         Suggested by Werner Lemberg.
30677
30678 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
30679
30680         strtod: fix const diagnostic
30681         * lib/strtod.c (strtod): Don't assign const char * to char *,
30682         as this elicits a warning from GCC when warnings are enabled.
30683
30684 2010-08-10  Pádraig Brady <P@draigbrady.com>
30685         and Eric Blake  <eblake@redhat.com>
30686
30687         copy-acl: ignore ENOTSUP on HP-UX
30688         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
30689         so that it is available for HP-UX.
30690         * lib/copy-acl.c (qcopy_acl): Use it.
30691         Reported by Patrick M. Callahan.
30692
30693 2010-08-10  Eric Blake  <eblake@redhat.com>
30694
30695         open, chown: relax license
30696         * modules/open (License): Change to LGPLv2+, with consent by all
30697         authors, for use in augeas.
30698         * modules/chown (License): Likewise.
30699         * modules/lchown (Likewise): Likewise.
30700         Requested by Adam Stokes.
30701
30702 2010-08-09  Karl Berry  <karl@gnu.org>
30703
30704         * build-aux/ar-lib: new file, import from Automake.
30705         * config/srclist.txt: autocheck for updates.
30706
30707 2010-08-09  Eric Blake  <eblake@redhat.com>
30708
30709         readlinkat: adjust client modules
30710         * modules/areadlinkat (Depends-on): Use readlinkat, not
30711         symlinkat.
30712         * modules/areadlinkat-with-size (Depends-on): Likewise.
30713
30714         mknod: be more vocal about danger of running tests as root
30715         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
30716         root, since that is just asking for problems.
30717         Suggested by Bruno Haible, based on a report by Rainer Tammer.
30718
30719         readlinkat: split into its own module
30720         * modules/symlinkat: Split readlinkat...
30721         * modules/readlinkat: ...into separate module.
30722         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
30723         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
30724         * lib/symlinkat.c (readlinkat): Move...
30725         * lib/readlinkat.c: ...into new file.
30726         * modules/symlinkat-tests: Split readlinkat test...
30727         * modules/readlinkat-tests: ...into separate module.
30728         * tests/test-symlinkat.c: Split...
30729         * tests/test-readlinkat.c: ...into new file.
30730         * NEWS: Document the split.
30731         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
30732         * lib/unistd.in.h (readlinkat): Likewise.
30733         Suggested by Bruno Haible.
30734
30735 2010-08-08  Bruno Haible  <bruno@clisp.org>
30736
30737         memxfrm: Speed up.
30738         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
30739         that usually only one call to strxfrm is necessary for each string
30740         part.
30741         Reported by Paul Eggert <eggert@cs.ucla.edu>.
30742
30743 2010-08-07  Karl Berry  <karl@gnu.org>
30744
30745         * doc/posix-headers/limits.texi,
30746         * doc/posix-functions/malloc.texi,
30747         * doc/posix-functions/strsignal.texi: missing @item.
30748         * doc/ld-version-script.texi: spurious leading i.
30749         * doc/regex.texi (Interval Operators): no commas inside @var.
30750
30751 2010-08-01  Bruno Haible  <bruno@clisp.org>
30752
30753         Integrate the regex documentation.
30754         * doc/gnulib.texi: Define 'cn' index.
30755         (Regular expressions): New a chapter that includes regex.texi and
30756         regexprops-generic.texi.
30757         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
30758         syntax.
30759
30760         Whitespace cleanup.
30761         * doc/regex.texi: Remove trailing spaces.
30762
30763         Add regex documentation.
30764         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
30765         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
30766         Written by Kathy A. Hargreaves and Karl Berry.
30767
30768 2010-08-01  Bruno Haible  <bruno@clisp.org>
30769
30770         link: Update documentation.
30771         * doc/posix-functions/link.texi: Update regarding Solaris.
30772
30773 2010-07-31  Bruno Haible  <bruno@clisp.org>
30774
30775         Update modules list.
30776         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
30777         (String handling <string.h>): Add memcmp2, memxfrm.
30778         (Container data structures): Add xlist, xsublist, xoset.
30779         (Core language properties): Add alignof, unused-parameter.
30780         (Process control, Numeric conversion functions <stdlib.h>): Renamed
30781         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
30782         (Unibyte characters <ctype.h>): New section.
30783         (String handling <string.h>): New section.
30784         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
30785         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
30786         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
30787         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
30788         tan, tanh, tanl, y0, y1, yn.
30789         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
30790         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
30791         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
30792         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
30793         unlockpt, vdprintf, vdprintf-posix.
30794         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
30795         (File system functions): Add concat-filename, sys_file, sys_ioctl,
30796         xconcat-filename.
30797         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
30798         getdtablesize, pipe2, pipe2-safer.
30799         (Security): New section.
30800         (Networking functions): Add accept4.
30801         (Signal handling): Add sigpipe.
30802         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
30803         mbmemcasecoll.
30804         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
30805         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
30806         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
30807         pipe-filter-ii.
30808         (Misc): Add argp-version-etc, login_tty, parse-duration.
30809
30810 2010-07-31  Bruno Haible  <bruno@clisp.org>
30811
30812         Improve doc in MODULES.html.
30813         * modules/linkat (Description): Add the word "function".
30814         * modules/mkfifo (Description): Likewise.
30815         * modules/mknod (Description): Likewise.
30816         * modules/remove (Description): Likewise.
30817         * modules/renameat (Description): Likewise.
30818         * modules/stat (Description): Likewise.
30819         * modules/symlink (Description): Likewise.
30820         * modules/unlink (Description): Likewise.
30821
30822 2010-07-31  Bruno Haible  <bruno@clisp.org>
30823
30824         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
30825         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
30826         option --enable/disable-c++ instead of --enable/disable-cxx.
30827         * NEWS: Mention the change.
30828
30829 2010-07-31  Bruno Haible  <bruno@clisp.org>
30830
30831         readlink, areadlink: Relax test a bit.
30832         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
30833         alternative to ENOTDIR.
30834         * tests/test-areadlink.h (test_areadlink): Likewise.
30835         Reported by Rainer Tammer.
30836
30837 2010-07-31  Bruno Haible  <bruno@clisp.org>
30838
30839         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
30840         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
30841         character, perform the search using U_STRCHR.
30842         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
30843         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
30844         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
30845         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
30846         Suggested by Paolo Bonzini.
30847
30848 2010-07-31  Bruno Haible  <bruno@clisp.org>
30849
30850         unistr/u*-strstr: Fix dependencies.
30851         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
30852         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
30853         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
30854
30855 2010-07-31  Bruno Haible  <bruno@clisp.org>
30856
30857         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
30858         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
30859         the beginning of the loop.
30860         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
30861         cases in 'switch' statement.
30862
30863         unistr/u8-strchr: Fix several bugs.
30864         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
30865         the string. When not found, return NULL, not a pointer near the end.
30866
30867         More tests for unistr/u8-strchr.
30868         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
30869         that the function does not read past the first occurrence of the byte
30870         being searched.
30871         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
30872         * tests/unistr/test-u16-strchr.c (main): New function.
30873         * tests/unistr/test-u32-strchr.c (main): New function.
30874
30875 2010-07-31  Bruno Haible  <bruno@clisp.org>
30876
30877         posix-modules: Ignore backup files of documentation files.
30878         * posix-modules: grep only through files named *.texi.
30879
30880 2010-07-31  Bruno Haible  <bruno@clisp.org>
30881
30882         symlinkat: Fix documentation.
30883         * doc/posix-functions/readlinkat.texi: Fix module name.
30884
30885 2010-07-31  Bruno Haible  <bruno@clisp.org>
30886
30887         fchownat: Replace also when chown has the trailing slash bug.
30888         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
30889         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
30890         introduced on 2010-04-10.
30891         Reported by Rainer Tammer.
30892
30893 2010-07-31  Bruno Haible  <bruno@clisp.org>
30894
30895         linkat: Work around AIX 7.1 bug.
30896         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
30897         whether linkat handles trailing slash correctly. If not, replace linkat
30898         and define LINKAT_TRAILING_SLASH_BUG.
30899         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
30900         check whether (fd1,file1) points to a directory if file1 or file2 ends
30901         in a slash. Code taken from lib/link.c.
30902         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
30903         Reported by Rainer Tammer.
30904
30905 2010-07-31  Bruno Haible  <bruno@clisp.org>
30906
30907         Correctly determine whether pow is available in libc on AIX 7 with xlc.
30908         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
30909         This disables an xlc optimization that was causing wrong test results.
30910         Reported by Rainer Tammer.
30911
30912 2010-07-31  Bruno Haible  <bruno@clisp.org>
30913
30914         iconv: Work around AIX 6.1..7.1 bug.
30915         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
30916         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
30917         cross-compiling, guess no on all versions of AIX.
30918         Reported by Rainer Tammer.
30919
30920 2010-07-31  Bruno Haible  <bruno@clisp.org>
30921
30922         readlink: Relax test a bit.
30923         * tests/test-readlink.h (test_readlink): Allow different errno value
30924         when readlink is called with a file name that ends in / and refers to
30925         a file.
30926         Suggested by Eric Blake.
30927         Reported by Rainer Tammer.
30928
30929 2010-07-31  Bruno Haible  <bruno@clisp.org>
30930
30931         copysign: Does not require -lm on glibc systems.
30932         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
30933         gl_COMMON_DOUBLE_MATHFUNC.
30934         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
30935
30936 2010-07-31  Bruno Haible  <bruno@clisp.org>
30937
30938         duplocale: Work around AIX 7.1 bug.
30939         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
30940         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
30941         * lib/duplocale.c (rpl_duplocale): Update comment.
30942         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
30943         Reported by Rainer Tammer.
30944
30945 2010-07-30  Bruno Haible  <bruno@clisp.org>
30946
30947         dirfd: Avoid link error on AIX 7.1.
30948         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
30949         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
30950         exist, set REPLACE_DIRFD.
30951         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
30952         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
30953         * doc/posix-functions/dirfd.texi: Update.
30954         Reported by Rainer Tammer.
30955
30956 2010-07-30  Eric Blake  <eblake@redhat.com>
30957
30958         strtod: next round of AIX fixes
30959         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
30960         exponent.
30961         * tests/test-strtod.c (main): Enhance tests.
30962         * doc/posix-functions/strtod.texi (strtod): Document next bug.
30963         Reported by Rainer Tammer.
30964
30965         futimens: fix configure check
30966         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
30967         Reported by Bruno Haible.
30968
30969 2010-07-30  Bruno Haible  <bruno@clisp.org>
30970
30971         getline: Update regarding AIX.
30972         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
30973         Reported by Rainer Tammer.
30974
30975 2010-07-30  Bruno Haible  <bruno@clisp.org>
30976
30977         wcwidth: Drop replacement on AIX 7.
30978         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
30979         AIX 7.
30980         Reported by Rainer Tammer.
30981
30982 2010-07-30  Bruno Haible  <bruno@clisp.org>
30983
30984         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
30985         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
30986         a 'char *'.
30987         Reported by Rainer Tammer.
30988
30989 2010-07-30  Bruno Haible  <bruno@clisp.org>
30990
30991         unlink: Update regarding AIX.
30992         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
30993         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
30994         Reported by Rainer Tammer.
30995
30996 2010-07-30  Bruno Haible  <bruno@clisp.org>
30997
30998         symlink: Update regarding AIX.
30999         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
31000         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
31001         Reported by Rainer Tammer.
31002
31003 2010-07-30  Bruno Haible  <bruno@clisp.org>
31004
31005         strndup: Update regarding AIX.
31006         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
31007         AIX 7.
31008         Reported by Rainer Tammer.
31009
31010 2010-07-30  Bruno Haible  <bruno@clisp.org>
31011
31012         stat: Update regarding AIX.
31013         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
31014         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
31015         Reported by Rainer Tammer.
31016
31017 2010-07-30  Bruno Haible  <bruno@clisp.org>
31018
31019         truncl: Fix autoconf test.
31020         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
31021         whether truncl works.
31022         Reported by Rainer Tammer.
31023
31024 2010-07-30  Bruno Haible  <bruno@clisp.org>
31025
31026         round: Update regarding AIX.
31027         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
31028         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
31029         Reported by Rainer Tammer.
31030
31031 2010-07-30  Bruno Haible  <bruno@clisp.org>
31032
31033         rename: Update regarding AIX.
31034         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
31035         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
31036         Reported by Rainer Tammer.
31037
31038 2010-07-30  Bruno Haible  <bruno@clisp.org>
31039
31040         printf.m4: Update regarding AIX.
31041         * m4/printf.m4: Update comments regarding AIX.
31042         Reported by Rainer Tammer.
31043
31044 2010-07-30  Bruno Haible  <bruno@clisp.org>
31045
31046         iconv: Update regarding AIX.
31047         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
31048         AIX 7.
31049         Reported by Rainer Tammer.
31050
31051 2010-07-30  Bruno Haible  <bruno@clisp.org>
31052
31053         getopt: Update regarding AIX.
31054         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
31055         no on AIX.
31056         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
31057         Reported by Rainer Tammer.
31058
31059 2010-07-30  Bruno Haible  <bruno@clisp.org>
31060
31061         ldexpl; Update regarding AIX.
31062         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
31063         on AIX 7.
31064         Reported by Rainer Tammer.
31065
31066 2010-07-30  Bruno Haible  <bruno@clisp.org>
31067
31068         frexpl: Update regarding AIX.
31069         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
31070         on AIX 7.
31071         Reported by Rainer Tammer.
31072
31073 2010-07-30  Bruno Haible  <bruno@clisp.org>
31074
31075         open, fopen: Update regarding AIX.
31076         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
31077         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
31078         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
31079         * doc/posix-functions/fopen.texi: Likewise.
31080         Reported by Rainer Tammer.
31081
31082 2010-07-30  Bruno Haible  <bruno@clisp.org>
31083
31084         chown: Update doc regarding AIX.
31085         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
31086         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
31087         Reported by Rainer Tammer.
31088
31089 2010-07-30  Eric Blake  <eblake@redhat.com>
31090
31091         strtod: fix bug in replacement function on AIX
31092         * lib/strtod.c (strtod): Special case broken "0x" parse in
31093         underlying strtod.
31094         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
31095         * doc/posix-functions/strtod.texi (strtod): Likewise.
31096         Reported by Rainer Tammer.
31097
31098 2010-07-30  Bruno Haible  <bruno@clisp.org>
31099
31100         mbrlen: Fix cross-compilation guess for AIX.
31101         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
31102         guess. Leftover from 2008-12-22.
31103
31104 2010-07-30  Bruno Haible  <bruno@clisp.org>
31105
31106         mbrtowc: Fix cross-compilation guess for AIX.
31107         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
31108         guess. Leftover from 2008-12-21.
31109
31110 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
31111
31112         init.sh: work around trap limitation of some shells
31113         * tests/init.sh (setup_): Move exit trap outside of shell function.
31114
31115 2010-07-29  Eric Blake  <eblake@redhat.com>
31116
31117         strtod: aid debugging
31118         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
31119         understanding why strtod is rejected.
31120
31121 2010-07-28  Bruno Haible  <bruno@clisp.org>
31122
31123         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
31124         * lib/unistr/u8-chr.c: Include <string.h>.
31125         * tests/unistr/test-u8-chr.c: Likewise.
31126         * tests/unistr/test-u16-chr.c: Likewise.
31127         * tests/unistr/test-u32-chr.c: Likewise.
31128         * tests/unistr/test-u8-strchr.c: Likewise.
31129         * tests/unistr/test-u16-strchr.c: Likewise.
31130         * tests/unistr/test-u32-strchr.c: Likewise.
31131         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
31132         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
31133         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
31134         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
31135
31136 2010-07-28  Bruno Haible  <bruno@clisp.org>
31137
31138         Use spaces for indentation, not tabs.
31139         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
31140
31141 2010-07-27  Bruno Haible  <bruno@clisp.org>
31142
31143         mbspcasecmp: Fix function specification.
31144         * lib/string.in.h (mbspcasecmp): Fix specification comment.
31145         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
31146         Reported by Eric Blake <eblake@redhat.com>.
31147
31148 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
31149
31150         timespec: use cast and not conditional, as truncation isn't possible
31151         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
31152         instead of a conditional.  Comment about the situation in more detail.
31153         This undoes most of the 2009-10-29 patch.
31154
31155 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
31156
31157         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
31158         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
31159         * lib/unistr/u8-strchr.c: Likewise.
31160         * modules/unistr/u8-chr: Depend on memchr.
31161
31162         unistr/u*-strchr: add tests
31163         * modules/unistr/u8-strchr-tests: New file.
31164         * modules/unistr/u16-strchr-tests: New file.
31165         * modules/unistr/u32-strchr-tests: New file.
31166         * tests/unistr/test-strchr.h: New file.
31167         * tests/unistr/test-u8-strchr.c: New file.
31168         * tests/unistr/test-u16-strchr.c: New file.
31169         * tests/unistr/test-u32-strchr.c: New file.
31170
31171         unistr/u*-chr: test multibyte sequences more
31172         * tests/unistr/test-chr.h: Do complete testing of the characters in the
31173         test vector.
31174         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
31175         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
31176         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
31177
31178         unistr/u*-chr: test multibyte sequences
31179         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
31180
31181         unistr/u*-chr: prepare for multibyte tests
31182         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
31183         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
31184         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
31185         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
31186         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
31187         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
31188
31189 2010-07-18  Bruno Haible  <bruno@clisp.org>
31190
31191         unistr/u8-strchr: Optimize non-ASCII argument case.
31192         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
31193         because the first byte often matches anyway.
31194         Reported by Pádraig Brady <P@draigbrady.com>.
31195
31196 2010-07-15  Karl Berry  <karl@gnu.org>
31197
31198         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
31199
31200 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
31201
31202         getcwd: on Solaris, work better if ancestors are inaccessible
31203         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
31204         buffer and size, try again with a large buffer.  This works better
31205         on Solaris, since its getcwd succeeds even if the path to the root
31206         is inaccessible, and this is helpful in common cases such as .zfs
31207         hidden directories.  Problem reported by J Chapman Flack in
31208         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
31209         Use system getcwd if it's declared, not merely if it's partly
31210         working; use the partly-working test only to avoid needless effort
31211         if the system getcwd fails.
31212         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
31213         comment that was already obsolete and is now even more obsolete.
31214         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
31215         now might call strdup.
31216
31217 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
31218
31219         pthread: Add enough so that coreutils/src/sort.c compiles.
31220         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
31221         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
31222         gnulib. Include <sched.h> and <time.h>, as per POSIX.
31223         Include <sys/types.h>, in case it defines pthread_t.
31224         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
31225         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
31226         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
31227         (pthread_rwlockattr_t, pthread_spinlock_t):
31228         New typedefs, if HAVE_PTHREAD_T is not defined.
31229         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
31230         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
31231         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
31232         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
31233         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
31234         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
31235         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
31236         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
31237         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
31238         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
31239         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
31240         New macros.
31241         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
31242         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
31243         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
31244         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
31245         (pthread_spin_unlock): New dummy functions.
31246         (pthread_create): Return EAGAIN; don't set errno.
31247         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
31248         require AC_C_INLINE.
31249         * modules/pthread (Depends-on): Add sched, time.
31250         (pthread.h): Use AM_V_GEN.
31251
31252 2010-07-13  Bruno Haible  <bruno@clisp.org>
31253
31254         striconveh: Don't malloc memory if the result buffer is sufficient.
31255         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
31256         buffer if its size is sufficient.
31257         Reported by Ludovic Courtès <ludo@gnu.org>.
31258
31259 2010-07-13  Bruno Haible  <bruno@clisp.org>
31260
31261         strtod: Add safety check.
31262         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
31263
31264 2010-07-12  Bruno Haible  <bruno@clisp.org>
31265
31266         Unify tests that set gl_cv_func_ldexpl_no_libm.
31267         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
31268         gl_FUNC_LDEXPL.
31269         (gl_FUNC_LDEXPL): Invoke it.
31270         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
31271
31272 2010-07-12  Bruno Haible  <bruno@clisp.org>
31273
31274         Unify tests that set gl_cv_func_ldexp_no_libm.
31275         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
31276         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
31277         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
31278         (configure.ac): Simply invoke gl_FUNC_LDEXP.
31279         * modules/strtod (Files): Add m4/ldexp.m4.
31280
31281 2010-07-12  Bruno Haible  <bruno@clisp.org>
31282
31283         Unify tests that set gl_cv_func_frexpl_no_libm.
31284         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
31285         gl_FUNC_FREXPL_NO_LIBM.
31286         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
31287         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
31288
31289 2010-07-12  Bruno Haible  <bruno@clisp.org>
31290
31291         Unify tests that set gl_cv_func_frexp_no_libm.
31292         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
31293         gl_FUNC_FREXP_NO_LIBM.
31294         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
31295         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
31296
31297 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
31298
31299         memcoll: clarify sizes versus lengths, document better, and tweak perf
31300         * lib/memcoll.c (strcoll_loop, memcoll0):
31301         Improve quality of descriptive comments.  Name variables
31302         consistently as to whether they are lengths (which do not include
31303         terminating null) versus sizes (which do).
31304         * lib/xmemcoll.c (xmemcoll0): Likewise.
31305         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
31306         returned when s1size == 0; this is easier to compile and saves
31307         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
31308
31309 2010-07-12  Bruno Haible  <bruno@clisp.org>
31310
31311         Tests for module '_Exit'.
31312         * modules/_Exit-tests: New file.
31313         * tests/test-_Exit.sh: New file.
31314         * tests/test-_Exit.c: New file.
31315
31316         New module '_Exit'.
31317         * lib/stdlib.in.h (__attribute__): New macro.
31318         (_Exit): New declaration.
31319         * lib/_Exit.c: New file.
31320         * m4/_Exit.m4: New file.
31321         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
31322         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
31323         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
31324         * modules/_Exit: New file.
31325         * tests/test-stdlib-c++.cc (_Exit): Check signature.
31326         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
31327
31328 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
31329
31330         strtod: make it more-accurate typically, and don't require libm
31331         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
31332         Include limits.h.  Don't include string.h.
31333         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
31334         (locale_isspace): New function, so that no casts are needed to
31335         check whether *s is a space.
31336         (ldexp): Provide an unused dummy if not available.
31337         (scale_radix_exp, parse_number, underlying_strtod): New functions.
31338         (strtod): Use them.  This implementation prefers to use the
31339         underlying strtod if available, falling back on our own code
31340         only to fix known bugs.  This is more likely to produce an
31341         accurate result.  Also, it avoids the use of libm functions.
31342         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
31343         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
31344         was absent, but it caused a test failure with coreutils.
31345         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
31346         with libm.
31347         * modules/strtod (Makefile.am, Link): libm is no longer needed.
31348         * modules/strtod-tests (Makefile.am): Likewise.
31349
31350 2010-07-11  Pádraig Brady  <P@draigBrady.com>
31351             Bruno Haible  <bruno@clisp.org>
31352
31353         unistr/u8-strchr: Optimize ASCII argument case.
31354         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
31355
31356 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
31357
31358         (x)memcoll: minor tweaks
31359         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
31360         is after the type that it qualifies.
31361         (memcoll0): Likewise.
31362         * lib/memcoll.h (memcoll0): Likewise.
31363         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
31364         * lib/xmemcoll.h (xmemcoll0): Likewise.
31365         * lib/memcoll.c (memcoll0): Correct the comment.  This function
31366         differs from memcoll in that the NUL byte is part of the argument.
31367         Omit the abort-checks, as performance is a real issue here.  Plus,
31368         the checks were wrong anyway (an off-by-one error).  Omit local
31369         variable 'diff', as it's a bit clearer that way.
31370         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
31371         no longer needed.
31372
31373 2010-07-08  Chen Guo <chenguo4@yahoo.com>
31374
31375         (x)memcoll: speedup when input is known to be NUL delimited
31376         * lib/memcoll.c: Include stdlib.
31377         (memcoll0): New function.
31378         (strcoll_loop): New function, refactored for use in both memcoll
31379         and memcoll0.
31380         * lib/memcoll.h (memcoll0): Add prototype.
31381         * lib/xmemcoll.c (xmemcoll0): New function.
31382         (collate_error): New function, refactored for use in both xmemcoll
31383         and xmemcoll0.
31384         * lib/xmemcoll.h (xmemcoll0): Add prototype.
31385         * m4/memcoll.m4: add inline invocation.
31386
31387 2010-07-06  Pádraig Brady  <P@draigBrady.com>
31388
31389         * build-aux/bootstrap: Remove any local translations
31390         from the translation project synchronization directory,
31391         so that local only translations are not distributed.
31392
31393 2010-07-04  Bruno Haible  <bruno@clisp.org>
31394
31395         fsusage: Clarify which code applies to which platforms.
31396         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
31397         platform.
31398         * lib/fsusage.c (get_fs_usage): Likewise.
31399
31400 2010-07-04  Bruno Haible  <bruno@clisp.org>
31401
31402         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
31403         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
31404         Reported by Martin Lambers <marlam@marlam.de>.
31405
31406 2010-07-04  Jim Meyering  <meyering@redhat.com>
31407
31408         hash: once again explicitly disallow insertion of NULL
31409         * lib/hash.c (hash_insert0): Reinstate just-removed test:
31410         inserting a NULL pointer cannot work with these functions.
31411         Add a comment with details.
31412         This reverts part of the 2010-07-01 commit, 5bef1a35
31413         "hash: extend module to deal with non-pointer keys".
31414
31415 2010-07-01  Bruno Haible  <bruno@clisp.org>
31416
31417         stdbool: Update doc.
31418         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
31419         Info from Christian Weisgerber <naddy@mips.inka.de>.
31420
31421 2010-07-01  Jim Meyering  <meyering@redhat.com>
31422
31423         hash: extend module to deal with non-pointer keys
31424         * lib/hash.c (hash_insert0): New interface, much like hash_insert
31425         but that allows insertion of non-pointer entries.
31426         Do not disallow an ENTRY value of NULL.
31427         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
31428         * lib/hash.h (hash_insert0): Declare.
31429
31430 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
31431
31432         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
31433         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
31434         not present (i.e. with autoconf 2.59 and when using gettextize, not
31435         gnulib), require AC_GNU_SOURCE instead.
31436
31437 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
31438
31439         idpriv-drop: Fix tests.
31440         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
31441         not to the test-idpriv-droptemp program.
31442
31443 2010-06-29  Bruno Haible  <bruno@clisp.org>
31444
31445         string: Fix syntax error with g++ 2.96.
31446         * lib/string.in.h (__pure__): Remove definition.
31447         (_GL_ATTRIBUTE_PURE): New macro.
31448         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
31449         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
31450         Reported by Christian Weisgerber <naddy@mips.inka.de>.
31451
31452 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
31453
31454         unitypes: Fix bug introduced on 2010-05-18.
31455         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
31456
31457 2010-06-22  Eric Blake  <eblake@redhat.com>
31458
31459         memmem: slight optimization
31460         * lib/str-two-way.h (critical_factorization): Update comments.
31461         Reduce work during factorization phase.
31462         Reported by Carlos Bueno <carlos@bueno.org>.
31463
31464 2010-06-21  Bruno Haible  <bruno@clisp.org>
31465
31466         Fix HAVE_CALLOC_POSIX misnomer.
31467         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
31468         !HAVE_CALLOC_POSIX.
31469         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
31470         HAVE_CALLOC_POSIX.
31471         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
31472         instead of HAVE_CALLOC_POSIX.
31473         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
31474         HAVE_CALLOC_POSIX.
31475
31476         Use modern idiom for calloc() replacement.
31477         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
31478         AC_FUNC_CALLOC.
31479         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
31480         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
31481         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
31482         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
31483         (gl_REPLACE_CALLOC): New macro.
31484
31485 2010-06-21  Bruno Haible  <bruno@clisp.org>
31486
31487         Fix HAVE_REALLOC_POSIX misnomer.
31488         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
31489         !HAVE_REALLOC_POSIX.
31490         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
31491         HAVE_REALLOC_POSIX.
31492         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
31493         instead of HAVE_REALLOC_POSIX.
31494         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
31495         HAVE_REALLOC_POSIX.
31496
31497         Use modern idiom for realloc() replacement.
31498         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
31499         AC_FUNC_REALLOC.
31500         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
31501         Autoconf's AC_FUNC_REALLOC.
31502         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
31503         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
31504         (gl_REPLACE_REALLOC): New macro.
31505         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
31506
31507 2010-06-21  Bruno Haible  <bruno@clisp.org>
31508
31509         Fix HAVE_MALLOC_POSIX misnomer.
31510         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
31511         !HAVE_MALLOC_POSIX.
31512         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
31513         HAVE_MALLOC_POSIX.
31514         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
31515         instead of HAVE_MALLOC_POSIX.
31516         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
31517         HAVE_MALLOC_POSIX.
31518
31519         Use modern idiom for malloc() replacement.
31520         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
31521         AC_FUNC_MALLOC.
31522         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
31523         Autoconf's AC_FUNC_MALLOC.
31524         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
31525         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
31526         (gl_REPLACE_MALLOC): New macro.
31527         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
31528
31529 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
31530
31531         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
31532         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
31533         This macro takes 3 arguments, not 4.
31534
31535 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
31536
31537         ipv6: fix detection under mingw
31538         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
31539         in6_addr.
31540
31541 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
31542
31543         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
31544         that strtod() works when cross-compiling to a glibc version known
31545         to work.
31546
31547 2010-06-15  Bruno Haible  <bruno@clisp.org>
31548
31549         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
31550
31551 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
31552
31553         select: Correct timeout.
31554         * lib/select.c (rpl_select): Compute wait_timeout correctly.
31555
31556 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
31557
31558         git-version-gen: init shell var to avoid env var influence
31559         * build-aux/git-version-gen (v): Init shell var to empty.
31560
31561 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
31562
31563         priv-set: Don't assume that priv.h exists merely because getppriv does.
31564         See Jan Andersen's bug report about AIX 5L in
31565         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
31566         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
31567         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
31568         * lib/priv-set.h: Likewise.
31569         * tests/test-priv-set.c: Likewise.
31570
31571 2010-06-13  Bruno Haible  <bruno@clisp.org>
31572
31573         relocatable: Make it easier to test whether to install wrappers.
31574         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
31575         RELOCATABLE_VIA_WRAPPER.
31576
31577 2010-06-13  Bruno Haible  <bruno@clisp.org>
31578
31579         gnulib-tool: Display specified modules and dependencies differently.
31580         * gnulib-tool (func_show_module_list): New function.
31581         (func_import, func_create_testdir): Invoke it.
31582         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
31583
31584 2010-06-13  Bruno Haible  <bruno@clisp.org>
31585
31586         gnulib-tool: Align code of func_import and func_create_testdir.
31587         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
31588         specified_modules.
31589
31590 2010-06-12  Jim Meyering  <meyering@redhat.com>
31591
31592         test-inttostr: avoid spurious failure on Solaris 9
31593         * tests/test-inttostr.c (main): Skip the test when snprintf fails
31594         to accept "%ju".  Reported by Bruno Haible.
31595
31596 2010-06-11  Jim Meyering  <meyering@redhat.com>
31597
31598         test-sys_socket: mark variables as used more readably
31599         * tests/test-sys_socket.c (main): Mark otherwise unused variables
31600         as "used" explicitly via (void) statement casts.  This is more
31601         readable than using them in an artificial return expression.
31602         Suggestion from Bruno Haible.
31603
31604 2010-06-11  Bruno Haible  <bruno@clisp.org>
31605
31606         Avoid some more warnings from "gcc -Wwrite-strings".
31607         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
31608         to 'const char *'.
31609         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
31610         * tests/test-c-strcasestr.c (main): Likewise.
31611         * tests/test-mbscasestr1.c (main): Likewise.
31612         * tests/test-mbscasestr2.c (main): Likewise.
31613         * tests/test-memmem.c (main): Likewise.
31614         * tests/test-strstr.c (main): Likewise.
31615         * tests/test-strcasestr.c (main): Likewise.
31616
31617 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31618
31619         init.sh: change framework_failure_ to fail with status 99, not 1
31620         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
31621         automake's parallel-tests rule that this is an unexpected failure,
31622         even if the test is listed in XFAIL_TESTS.
31623
31624 2010-06-11  Jim Meyering  <meyering@redhat.com>
31625
31626         test-inttostr: avoid warnings about 4-6KB literal strings
31627         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
31628         Include "macros.h", for its definition of ASSERT.
31629         (CK): s/assert/ASSERT/
31630         * modules/inttostr-tests (Files): Add macros.h.
31631
31632         init.sh: don't use $ME_ or skip_ before they are defined
31633         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
31634         their first uses.  Also hoist their companions: warn_, fail_,
31635         framework_failure_, $stderr_fileno.  Prompted by a patch from
31636         Stefano Lattarini.
31637
31638         test-sys_socket: avoid set-but-not-used warnings from gcc
31639         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
31640         avoid warning about set-but-not-used variables.
31641
31642         test-xvasprintf: avoid 'const' discard warnings
31643         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
31644         "const" when assigning from literal strings.
31645         (test_xasprintf): Add "void" in function argument list to placate
31646         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
31647
31648         tests: avoid compilation warnings in argmatch and exclude tests...
31649         in packages that define ARGMATCH_DIE_DECL, like coreutils.
31650         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
31651         Since it always exits, declare with the "noreturn" attribute.
31652         * tests/test-argmatch.c: Likewise.
31653
31654         tests: avoid 'const' discard warnings in mbsstr tests
31655         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
31656         * tests/test-mbsstr2.c (main): Likewise.
31657
31658         test-verify: avoid warning from gcc's -Wmissing-declarations
31659         * tests/test-verify.c (function): Declare to be static.
31660
31661         test-inttostr.c: include <string.h> for use of strcmp
31662         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
31663
31664         test-linkat: avoid failed assertion on "other" architectures
31665         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
31666         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
31667         sparc: https://bugs.launchpad.net/bugs/591968
31668
31669 2010-06-11  Jim Meyering  <meyering@redhat.com>
31670
31671         printf.m4: avoid autoconf's "Expanded Before Required" warning
31672         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
31673         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
31674         autoconf warning.
31675
31676 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
31677
31678         Replacement header templates are now named with ".in", not "_".
31679         * doc/gnulib-intro.texi: Correct.
31680
31681 2010-06-10  Jim Meyering  <meyering@redhat.com>
31682
31683         inttostr-tests: depend on snprintf, not snprintf-posix
31684         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
31685         snprintf-posix, to avoid this aclocal failure:
31686           missing file gnulib-tests/vasnprintf.c
31687           configure.ac:45: error: expected source file, required through \
31688           AC_LIBSOURCES, not found
31689
31690 2010-06-10  Jim Meyering  <meyering@redhat.com>
31691
31692         inttostr: add a new function, inttostr, and tests
31693         The namesake function was not available.  The existence of the
31694         template file, inttostr.c makes its addition nontrivial.
31695         * lib/anytostr.c: Rename from inttostr.c.
31696         (anytostr): Rename from inttostr.
31697         * lib/inttostr.c: New file.
31698         * modules/inttostr (Files): Add anytostr.c.
31699         (Makefile.am): Set lib_SOURCES instead of ...
31700         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
31701         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
31702         * lib/offtostr.c: Likewise.
31703         * lib/uinttostr.c: Likewise.
31704         * lib/umaxtostr.c: Likewise.
31705         * modules/inttostr-tests: New file.
31706         * tests/test-inttostr.c: New file.  Test these functions.
31707
31708 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
31709             Bruno Haible  <bruno@clisp.org>
31710
31711         Add "Extending Gnulib" chapter to manual.
31712         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
31713         chapter.
31714         (Extending Gnulib): New chapter.
31715         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
31716         chapter.
31717
31718 2010-06-09  Bruno Haible  <bruno@clisp.org>
31719
31720         Avoid relocwrapper link errors due to gnulib replacement functions.
31721         * lib/areadlink.c: Use the system's malloc, realloc functions.
31722         (areadlink): Set errno to ENOMEM explicitly.
31723         * modules/areadlink (Depends-on): Remove malloc-posix.
31724         Reported by Ben Pfaff <blp@cs.stanford.edu>.
31725
31726 2010-06-09  Bruno Haible  <bruno@clisp.org>
31727
31728         Avoid relocwrapper link errors due to gnulib replacement functions.
31729         * lib/canonicalize-lgpl.c: Use the system's malloc function.
31730         * lib/malloca.c: Likewise.
31731         * lib/relocatable.c: Likewise.
31732         * lib/progreloc.c: Use the system's malloc, sprintf functions.
31733         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
31734         * lib/setenv.c: Use the system's malloc, realloc functions.
31735         * lib/strerror.c: Use the system's sprintf function.
31736         Reported by Ben Pfaff <blp@cs.stanford.edu>.
31737
31738 2010-06-04  Bruno Haible  <bruno@clisp.org>
31739
31740         Prefer documented low-level autoconf macro names.
31741         * m4/lib-link.m4: Use m4_translit instead of translit.
31742         * m4/environ.m4: Likewise.
31743         * m4/mathfunc.m4: Likewise.
31744         * m4/onceonly.m4: Likewise.
31745         * m4/stdint.m4: Likewise.
31746         Suggested by Eric Blake.
31747
31748 2010-06-04  Martin Lambers  <marlam@marlam.de>
31749             Bruno Haible  <bruno@clisp.org>
31750
31751         havelib: Allow library names with '+' characters.
31752         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
31753         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
31754
31755 2010-06-09  Bruno Haible  <bruno@clisp.org>
31756
31757         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
31758         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
31759         realloc failed.
31760
31761 2010-06-08  Peter Simons  <simons@cryp.to>
31762
31763         maint.mk: make the news-check rule more configurable
31764         * top/maint.mk (news-check-lines-spec): New variable.
31765         (news-check): Use "sed -n 1,10p" in place of "head".
31766
31767 2010-06-07  Jim Meyering  <meyering@redhat.com>
31768
31769         do-release-commit-and-tag: fix typo in --help
31770         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
31771
31772         regex: avoid new dead-code warning with gcc-4.6.0
31773         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
31774         if-block containing a while-loop.  It's been unused for at least
31775         5 years.
31776
31777 2010-06-05  Bruno Haible  <bruno@clisp.org>
31778
31779         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
31780         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
31781
31782 2010-06-04  Bruno Haible  <bruno@clisp.org>
31783
31784         Update to GNU gettext 0.18.1.
31785         * modules/gettext (configure.ac): Require gettext infrastructure from
31786         version 0.18.1.
31787
31788 2010-06-03  Bruno Haible  <bruno@clisp.org>
31789
31790         Don't use AC_LIBOBJ with file names in subdirectories.
31791         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
31792         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
31793         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
31794         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
31795         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
31796         gl_LIBUNISTRING_LIBSOURCE.
31797         (Makefile.am): Augment lib_SOURCES here, conditionally.
31798         * NEWS: Drop requirement for Automake option 'subdir-objects'.
31799
31800 2010-06-03  Bruno Haible  <bruno@clisp.org>
31801
31802         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
31803         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
31804         expansion does not end with a newline.
31805         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
31806         unnecessary newline.
31807
31808 2010-06-03  Bruno Haible  <bruno@clisp.org>
31809
31810         Reduce dependencies.
31811         * tests/test-quotearg.h: New file, extracted from
31812         tests/test-quotearg.c.
31813         * tests/test-quotearg-simple.c: New file, extracted from
31814         tests/test-quotearg.c.
31815         * tests/test-quotearg.c: Don't include <ctype.h>.
31816         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
31817         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
31818         use_quote_double_quotes, use_quotearg_colon): Moved to
31819         tests/test-quotearg.h.
31820         (results_g, flag_results, custom_quotes, custom_results): Moved
31821         to tests/test-quotearg-simple.c.
31822         (main): Moved the part that does not depend on gettext to
31823         tests/test-quotearg-simple.c. Return 77 if the test cannot be
31824         performed.
31825         * modules/quotearg-simple: New file.
31826         * modules/quotearg-simple-tests: New file.
31827         * modules/quotearg (Depends-on): Add quotearg-simple.
31828         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
31829         (Files): Add tests/test-quotearg.h.
31830         Reported by Paolo Bonzini.
31831
31832 2010-06-03  Bruno Haible  <bruno@clisp.org>
31833
31834         Reduce dependencies.
31835         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
31836
31837 2010-06-03  Bruno Haible  <bruno@clisp.org>
31838
31839         time: Undefine more broken macros.
31840         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
31841         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
31842         Reported by Eric Blake.
31843
31844 2010-06-03  Bruno Haible  <bruno@clisp.org>
31845
31846         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
31847         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
31848         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
31849         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
31850         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
31851         Reported by Ludovic Courtès <ludo@gnu.org>.
31852
31853 2010-06-02  Eric Blake  <eblake@redhat.com>
31854
31855         time: work with mingw + pthreads-win32 library
31856         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
31857         if timespec is defined only in pthread.h.
31858         * modules/time (Makefile.am): Substitute it.
31859         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
31860         <pthread.h>, when needed.
31861         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
31862         from the library.
31863
31864 2010-05-31  Bruno Haible  <bruno@clisp.org>
31865
31866         Avoid expanding two macros in the wrong order.
31867         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
31868         gl_LIBUNISTRING if it is defined.
31869         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
31870         autoconf >= 2.64.
31871         Reported by Ludovic Courtès <ludo@gnu.org>.
31872
31873 2010-05-27  Jim Meyering  <meyering@redhat.com>
31874
31875         maint.mk: also prohibit "#undef" of always-defined symbols
31876         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
31877         Allow more than one space before the symbol name.
31878         (sc_prohibit_always-defined_macros): Use grep's -E, now that
31879         the regexp uses alternation.
31880
31881 2010-05-26  Eric Blake  <eblake@redhat.com>
31882
31883         maint.mk: avoid echo -e
31884         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
31885         Convert all uses of echo -* to printf.
31886         Reported by Matthias Bolte.
31887
31888 2010-05-25  Bruno Haible  <bruno@clisp.org>
31889
31890         Update to GNU gettext 0.18, part 2.
31891         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
31892         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
31893
31894 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31895
31896         Add missing include in test-pwrite.c.
31897         * tests/test-pwrite.c: Include string.h, for strcmp.
31898
31899 2010-05-24  Bruno Haible  <bruno@clisp.org>
31900
31901         * NEWS: Mention requirement for Automake option 'subdir-objects'.
31902
31903 2010-05-24  Bruno Haible  <bruno@clisp.org>
31904
31905         Don't use conversion with transliteration in u{8,16,32}_strcoll.
31906         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
31907         iconveh_error argument.
31908         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
31909         U_STRCONV_TO_LOCALE.
31910         * lib/unistr/u16-strcoll.c: Likewise.
31911         * lib/unistr/u32-strcoll.c: Likewise.
31912         * modules/unistr/u8-strcoll (Depends-on): Add
31913         uniconv/u8-strconv-to-enc, localcharset. Remove
31914         uniconv/u8-strconv-to-locale.
31915         (configure.ac): Bump version number.
31916         * modules/unistr/u16-strcoll (Depends-on): Add
31917         uniconv/u16-strconv-to-enc, localcharset. Remove
31918         uniconv/u16-strconv-to-locale.
31919         (configure.ac): Bump version number.
31920         * modules/unistr/u32-strcoll (Depends-on): Add
31921         uniconv/u32-strconv-to-enc, localcharset. Remove
31922         uniconv/u32-strconv-to-locale.
31923         (configure.ac): Bump version number.
31924
31925 2010-05-24  Bruno Haible  <bruno@clisp.org>
31926
31927         Avoid a test failure on NetBSD 5.0.
31928         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
31929         an iconv() bug.
31930
31931 2010-05-24  Bruno Haible  <bruno@clisp.org>
31932
31933         Adjust #include directive style.
31934         * modules/regex (Includes): Recommend to write <regex.h>.
31935
31936 2010-05-24  Bruno Haible  <bruno@clisp.org>
31937
31938         regex: Don't require alloca.
31939         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
31940         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
31941         only inside if (0).
31942
31943 2010-05-23  Jim Meyering  <meyering@redhat.com>
31944
31945         test-renameat.c: include <sys/stat.h>
31946         * tests/test-renameat.c: Include <sys/stat.h>; required for
31947         definition of S_IS* macros.
31948
31949 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
31950
31951         Update maintainer documentation for 'relocatable-prog' module.
31952         * doc/relocatable-maint.texi: Update.
31953         Comments by Bruno Haible.
31954
31955 2010-05-23  Bruno Haible  <bruno@clisp.org>
31956
31957         git-merge-changelog: Enable --split-merged-entry by default.
31958         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
31959         (usage): Don't mention this option any more.
31960         Reported by Ralf Wildenhues.
31961
31962 2010-05-23  Jim Meyering  <meyering@redhat.com>
31963
31964         test-pwrite: do not leave behind a test file named "out"
31965         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
31966         The trivial-looking use of init.sh is really necessary.
31967         It ensures that the temporary file, "out", is created in
31968         a temporary directory, and removed upon termination.
31969         * tests/test-pwrite.sh: Re-add file.
31970         * modules/pwrite-tests: Reference it.
31971
31972 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31973
31974         Fix output redirection buglet in init.sh.
31975         * tests/init.sh: Fix redirection of stderr.
31976
31977 2010-05-20  Simon Josefsson  <simon@josefsson.org>
31978
31979         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
31980
31981 2010-05-17  Simon Josefsson  <simon@josefsson.org>
31982
31983         * modules/valgrind-tests: New file.
31984         * m4/valgrind-tests.m4: New file.
31985         * doc/valgrind-tests.texi: New file.
31986         * doc/gnulib.texi (Running self-tests under valgrind): New
31987         section.
31988
31989 2010-05-19  Bruno Haible  <bruno@clisp.org>
31990
31991         Clean up dead code in recent commit.
31992         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
31993         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
31994         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
31995         Suggested by Paolo Bonzini.
31996
31997 2010-05-19  Bruno Haible  <bruno@clisp.org>
31998
31999         Avoid valgrind error reports from libunistring.
32000         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
32001         * modules/libunistring (Files): Add it.
32002         * modules/libunistring-optional (Files): Likewise.
32003
32004 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
32005             Bruno Haible  <bruno@clisp.org>
32006
32007         New module 'libunistring-optional'.
32008         * modules/libunistring-optional: New file.
32009         * m4/libunistring-base.m4: New file.
32010         * m4/libunistring-optional.m4: New file.
32011         * lib/unicase.in.h: Renamed from lib/unicase.h.
32012         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
32013         * lib/unictype.in.h: Renamed from lib/unictype.h.
32014         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
32015         * lib/uniname.in.h: Renamed from lib/uniname.h.
32016         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
32017         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
32018         * lib/unistr.in.h: Renamed from lib/unistr.h.
32019         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
32020         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
32021         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
32022         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
32023         gl_LIBUNISTRING. If the library was found, determine the installed
32024         version and set LIBUNISTRING_VERSION.
32025         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
32026         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
32027         handle a configuration option --with-included-libunistring.
32028         * modules/libunistring (Files): Add m4/absolute-header.m4.
32029         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
32030         Add m4/libunistring-base.m4.
32031         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32032         (Makefile.am): Build unicase.h from unicase.in.h.
32033         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
32034         Add m4/libunistring-base.m4.
32035         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32036         (Makefile.am): Build uniconv.h from uniconv.in.h.
32037         * modules/unictype/base (Files): Use unictype.in.h instead of
32038         unictype.h. Add m4/libunistring-base.m4.
32039         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32040         (Makefile.am): Build unictype.h from unictype.in.h.
32041         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
32042         Add m4/libunistring-base.m4.
32043         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32044         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
32045         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
32046         Add m4/libunistring-base.m4.
32047         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32048         (Makefile.am): Build uniname.h from uniname.in.h.
32049         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
32050         Add m4/libunistring-base.m4.
32051         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32052         (Makefile.am): Build uninorm.h from uninorm.in.h.
32053         * modules/unistdio/base (Files): Use unistdio.in.h instead of
32054         unistdio.h. Add m4/libunistring-base.m4.
32055         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32056         (Makefile.am): Build unistdio.h from unistdio.in.h.
32057         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
32058         Add m4/libunistring-base.m4.
32059         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32060         (Makefile.am): Build unistr.h from unistr.in.h.
32061         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
32062         Add m4/libunistring-base.m4.
32063         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32064         (Makefile.am): Build unitypes.h from unitypes.in.h.
32065         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
32066         Add m4/libunistring-base.m4.
32067         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32068         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
32069         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
32070         uniwidth.h. Add m4/libunistring-base.m4.
32071         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32072         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
32073         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
32074         instead of augmenting lib_SOURCES.
32075         * modules/unicase/empty-suffix-context: Likewise.
32076         * modules/unicase/locale-language: Likewise.
32077         * modules/unicase/tolower: Likewise.
32078         * modules/unicase/totitle: Likewise.
32079         * modules/unicase/toupper: Likewise.
32080         * modules/unicase/u8-casecmp: Likewise.
32081         * modules/unicase/u8-casecoll: Likewise.
32082         * modules/unicase/u8-casefold: Likewise.
32083         * modules/unicase/u8-casexfrm: Likewise.
32084         * modules/unicase/u8-ct-casefold: Likewise.
32085         * modules/unicase/u8-ct-tolower: Likewise.
32086         * modules/unicase/u8-ct-totitle: Likewise.
32087         * modules/unicase/u8-ct-toupper: Likewise.
32088         * modules/unicase/u8-is-cased: Likewise.
32089         * modules/unicase/u8-is-casefolded: Likewise.
32090         * modules/unicase/u8-is-lowercase: Likewise.
32091         * modules/unicase/u8-is-titlecase: Likewise.
32092         * modules/unicase/u8-is-uppercase: Likewise.
32093         * modules/unicase/u8-prefix-context: Likewise.
32094         * modules/unicase/u8-suffix-context: Likewise.
32095         * modules/unicase/u8-tolower: Likewise.
32096         * modules/unicase/u8-totitle: Likewise.
32097         * modules/unicase/u8-toupper: Likewise.
32098         * modules/unicase/u16-casecmp: Likewise.
32099         * modules/unicase/u16-casecoll: Likewise.
32100         * modules/unicase/u16-casefold: Likewise.
32101         * modules/unicase/u16-casexfrm: Likewise.
32102         * modules/unicase/u16-ct-casefold: Likewise.
32103         * modules/unicase/u16-ct-tolower: Likewise.
32104         * modules/unicase/u16-ct-totitle: Likewise.
32105         * modules/unicase/u16-ct-toupper: Likewise.
32106         * modules/unicase/u16-is-cased: Likewise.
32107         * modules/unicase/u16-is-casefolded: Likewise.
32108         * modules/unicase/u16-is-lowercase: Likewise.
32109         * modules/unicase/u16-is-titlecase: Likewise.
32110         * modules/unicase/u16-is-uppercase: Likewise.
32111         * modules/unicase/u16-prefix-context: Likewise.
32112         * modules/unicase/u16-suffix-context: Likewise.
32113         * modules/unicase/u16-tolower: Likewise.
32114         * modules/unicase/u16-totitle: Likewise.
32115         * modules/unicase/u16-toupper: Likewise.
32116         * modules/unicase/u32-casecmp: Likewise.
32117         * modules/unicase/u32-casecoll: Likewise.
32118         * modules/unicase/u32-casefold: Likewise.
32119         * modules/unicase/u32-casexfrm: Likewise.
32120         * modules/unicase/u32-ct-casefold: Likewise.
32121         * modules/unicase/u32-ct-tolower: Likewise.
32122         * modules/unicase/u32-ct-totitle: Likewise.
32123         * modules/unicase/u32-ct-toupper: Likewise.
32124         * modules/unicase/u32-is-cased: Likewise.
32125         * modules/unicase/u32-is-casefolded: Likewise.
32126         * modules/unicase/u32-is-lowercase: Likewise.
32127         * modules/unicase/u32-is-titlecase: Likewise.
32128         * modules/unicase/u32-is-uppercase: Likewise.
32129         * modules/unicase/u32-prefix-context: Likewise.
32130         * modules/unicase/u32-suffix-context: Likewise.
32131         * modules/unicase/u32-tolower: Likewise.
32132         * modules/unicase/u32-totitle: Likewise.
32133         * modules/unicase/u32-toupper: Likewise.
32134         * modules/unicase/ulc-casecmp: Likewise.
32135         * modules/unicase/ulc-casecoll: Likewise.
32136         * modules/unicase/ulc-casexfrm: Likewise.
32137         * modules/uniconv/u8-conv-from-enc: Likewise.
32138         * modules/uniconv/u8-conv-to-enc: Likewise.
32139         * modules/uniconv/u8-strconv-from-enc: Likewise.
32140         * modules/uniconv/u8-strconv-from-locale: Likewise.
32141         * modules/uniconv/u8-strconv-to-enc: Likewise.
32142         * modules/uniconv/u8-strconv-to-locale: Likewise.
32143         * modules/uniconv/u16-conv-from-enc: Likewise.
32144         * modules/uniconv/u16-conv-to-enc: Likewise.
32145         * modules/uniconv/u16-strconv-from-enc: Likewise.
32146         * modules/uniconv/u16-strconv-from-locale: Likewise.
32147         * modules/uniconv/u16-strconv-to-enc: Likewise.
32148         * modules/uniconv/u16-strconv-to-locale: Likewise.
32149         * modules/uniconv/u32-conv-from-enc: Likewise.
32150         * modules/uniconv/u32-conv-to-enc: Likewise.
32151         * modules/uniconv/u32-strconv-from-enc: Likewise.
32152         * modules/uniconv/u32-strconv-from-locale: Likewise.
32153         * modules/uniconv/u32-strconv-to-enc: Likewise.
32154         * modules/uniconv/u32-strconv-to-locale: Likewise.
32155         * modules/unictype/bidicategory-byname: Likewise.
32156         * modules/unictype/bidicategory-name: Likewise.
32157         * modules/unictype/bidicategory-of: Likewise.
32158         * modules/unictype/bidicategory-test: Likewise.
32159         * modules/unictype/block-list: Likewise.
32160         * modules/unictype/block-test: Likewise.
32161         * modules/unictype/category-C: Likewise.
32162         * modules/unictype/category-Cc: Likewise.
32163         * modules/unictype/category-Cf: Likewise.
32164         * modules/unictype/category-Cn: Likewise.
32165         * modules/unictype/category-Co: Likewise.
32166         * modules/unictype/category-Cs: Likewise.
32167         * modules/unictype/category-L: Likewise.
32168         * modules/unictype/category-Ll: Likewise.
32169         * modules/unictype/category-Lm: Likewise.
32170         * modules/unictype/category-Lo: Likewise.
32171         * modules/unictype/category-Lt: Likewise.
32172         * modules/unictype/category-Lu: Likewise.
32173         * modules/unictype/category-M: Likewise.
32174         * modules/unictype/category-Mc: Likewise.
32175         * modules/unictype/category-Me: Likewise.
32176         * modules/unictype/category-Mn: Likewise.
32177         * modules/unictype/category-N: Likewise.
32178         * modules/unictype/category-Nd: Likewise.
32179         * modules/unictype/category-Nl: Likewise.
32180         * modules/unictype/category-No: Likewise.
32181         * modules/unictype/category-P: Likewise.
32182         * modules/unictype/category-Pc: Likewise.
32183         * modules/unictype/category-Pd: Likewise.
32184         * modules/unictype/category-Pe: Likewise.
32185         * modules/unictype/category-Pf: Likewise.
32186         * modules/unictype/category-Pi: Likewise.
32187         * modules/unictype/category-Po: Likewise.
32188         * modules/unictype/category-Ps: Likewise.
32189         * modules/unictype/category-S: Likewise.
32190         * modules/unictype/category-Sc: Likewise.
32191         * modules/unictype/category-Sk: Likewise.
32192         * modules/unictype/category-Sm: Likewise.
32193         * modules/unictype/category-So: Likewise.
32194         * modules/unictype/category-Z: Likewise.
32195         * modules/unictype/category-Zl: Likewise.
32196         * modules/unictype/category-Zp: Likewise.
32197         * modules/unictype/category-Zs: Likewise.
32198         * modules/unictype/category-and: Likewise.
32199         * modules/unictype/category-and-not: Likewise.
32200         * modules/unictype/category-byname: Likewise.
32201         * modules/unictype/category-name: Likewise.
32202         * modules/unictype/category-none: Likewise.
32203         * modules/unictype/category-of: Likewise.
32204         * modules/unictype/category-or: Likewise.
32205         * modules/unictype/category-test: Likewise.
32206         * modules/unictype/combining-class: Likewise.
32207         * modules/unictype/ctype-alnum: Likewise.
32208         * modules/unictype/ctype-alpha: Likewise.
32209         * modules/unictype/ctype-blank: Likewise.
32210         * modules/unictype/ctype-cntrl: Likewise.
32211         * modules/unictype/ctype-digit: Likewise.
32212         * modules/unictype/ctype-graph: Likewise.
32213         * modules/unictype/ctype-lower: Likewise.
32214         * modules/unictype/ctype-print: Likewise.
32215         * modules/unictype/ctype-punct: Likewise.
32216         * modules/unictype/ctype-space: Likewise.
32217         * modules/unictype/ctype-upper: Likewise.
32218         * modules/unictype/ctype-xdigit: Likewise.
32219         * modules/unictype/decimal-digit: Likewise.
32220         * modules/unictype/digit: Likewise.
32221         * modules/unictype/mirror: Likewise.
32222         * modules/unictype/numeric: Likewise.
32223         * modules/unictype/property-alphabetic: Likewise.
32224         * modules/unictype/property-ascii-hex-digit: Likewise.
32225         * modules/unictype/property-bidi-arabic-digit: Likewise.
32226         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
32227         * modules/unictype/property-bidi-block-separator: Likewise.
32228         * modules/unictype/property-bidi-boundary-neutral: Likewise.
32229         * modules/unictype/property-bidi-common-separator: Likewise.
32230         * modules/unictype/property-bidi-control: Likewise.
32231         * modules/unictype/property-bidi-embedding-or-override: Likewise.
32232         * modules/unictype/property-bidi-eur-num-separator: Likewise.
32233         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
32234         * modules/unictype/property-bidi-european-digit: Likewise.
32235         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
32236         * modules/unictype/property-bidi-left-to-right: Likewise.
32237         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
32238         * modules/unictype/property-bidi-other-neutral: Likewise.
32239         * modules/unictype/property-bidi-pdf: Likewise.
32240         * modules/unictype/property-bidi-segment-separator: Likewise.
32241         * modules/unictype/property-bidi-whitespace: Likewise.
32242         * modules/unictype/property-byname: Likewise.
32243         * modules/unictype/property-combining: Likewise.
32244         * modules/unictype/property-composite: Likewise.
32245         * modules/unictype/property-currency-symbol: Likewise.
32246         * modules/unictype/property-dash: Likewise.
32247         * modules/unictype/property-decimal-digit: Likewise.
32248         * modules/unictype/property-default-ignorable-code-point: Likewise.
32249         * modules/unictype/property-deprecated: Likewise.
32250         * modules/unictype/property-diacritic: Likewise.
32251         * modules/unictype/property-extender: Likewise.
32252         * modules/unictype/property-format-control: Likewise.
32253         * modules/unictype/property-grapheme-base: Likewise.
32254         * modules/unictype/property-grapheme-extend: Likewise.
32255         * modules/unictype/property-grapheme-link: Likewise.
32256         * modules/unictype/property-hex-digit: Likewise.
32257         * modules/unictype/property-hyphen: Likewise.
32258         * modules/unictype/property-id-continue: Likewise.
32259         * modules/unictype/property-id-start: Likewise.
32260         * modules/unictype/property-ideographic: Likewise.
32261         * modules/unictype/property-ids-binary-operator: Likewise.
32262         * modules/unictype/property-ids-trinary-operator: Likewise.
32263         * modules/unictype/property-ignorable-control: Likewise.
32264         * modules/unictype/property-iso-control: Likewise.
32265         * modules/unictype/property-join-control: Likewise.
32266         * modules/unictype/property-left-of-pair: Likewise.
32267         * modules/unictype/property-line-separator: Likewise.
32268         * modules/unictype/property-logical-order-exception: Likewise.
32269         * modules/unictype/property-lowercase: Likewise.
32270         * modules/unictype/property-math: Likewise.
32271         * modules/unictype/property-non-break: Likewise.
32272         * modules/unictype/property-not-a-character: Likewise.
32273         * modules/unictype/property-numeric: Likewise.
32274         * modules/unictype/property-other-alphabetic: Likewise.
32275         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
32276         * modules/unictype/property-other-grapheme-extend: Likewise.
32277         * modules/unictype/property-other-id-continue: Likewise.
32278         * modules/unictype/property-other-id-start: Likewise.
32279         * modules/unictype/property-other-lowercase: Likewise.
32280         * modules/unictype/property-other-math: Likewise.
32281         * modules/unictype/property-other-uppercase: Likewise.
32282         * modules/unictype/property-paired-punctuation: Likewise.
32283         * modules/unictype/property-paragraph-separator: Likewise.
32284         * modules/unictype/property-pattern-syntax: Likewise.
32285         * modules/unictype/property-pattern-white-space: Likewise.
32286         * modules/unictype/property-private-use: Likewise.
32287         * modules/unictype/property-punctuation: Likewise.
32288         * modules/unictype/property-quotation-mark: Likewise.
32289         * modules/unictype/property-radical: Likewise.
32290         * modules/unictype/property-sentence-terminal: Likewise.
32291         * modules/unictype/property-soft-dotted: Likewise.
32292         * modules/unictype/property-space: Likewise.
32293         * modules/unictype/property-terminal-punctuation: Likewise.
32294         * modules/unictype/property-test: Likewise.
32295         * modules/unictype/property-titlecase: Likewise.
32296         * modules/unictype/property-unassigned-code-value: Likewise.
32297         * modules/unictype/property-unified-ideograph: Likewise.
32298         * modules/unictype/property-uppercase: Likewise.
32299         * modules/unictype/property-variation-selector: Likewise.
32300         * modules/unictype/property-white-space: Likewise.
32301         * modules/unictype/property-xid-continue: Likewise.
32302         * modules/unictype/property-xid-start: Likewise.
32303         * modules/unictype/property-zero-width: Likewise.
32304         * modules/unictype/scripts: Likewise.
32305         * modules/unictype/syntax-c-ident: Likewise.
32306         * modules/unictype/syntax-c-whitespace: Likewise.
32307         * modules/unictype/syntax-java-ident: Likewise.
32308         * modules/unictype/syntax-java-whitespace: Likewise.
32309         * modules/unilbrk/u8-possible-linebreaks: Likewise.
32310         * modules/unilbrk/u8-width-linebreaks: Likewise.
32311         * modules/unilbrk/u16-possible-linebreaks: Likewise.
32312         * modules/unilbrk/u16-width-linebreaks: Likewise.
32313         * modules/unilbrk/u32-possible-linebreaks: Likewise.
32314         * modules/unilbrk/u32-width-linebreaks: Likewise.
32315         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
32316         * modules/unilbrk/ulc-width-linebreaks: Likewise.
32317         * modules/uniname/uniname: Likewise.
32318         * modules/uninorm/canonical-decomposition: Likewise.
32319         * modules/uninorm/composition: Likewise.
32320         * modules/uninorm/decomposing-form: Likewise.
32321         * modules/uninorm/decomposition: Likewise.
32322         * modules/uninorm/filter: Likewise.
32323         * modules/uninorm/nfc: Likewise.
32324         * modules/uninorm/nfd: Likewise.
32325         * modules/uninorm/nfkc: Likewise.
32326         * modules/uninorm/nfkd: Likewise.
32327         * modules/uninorm/u8-normalize: Likewise.
32328         * modules/uninorm/u8-normcmp: Likewise.
32329         * modules/uninorm/u8-normcoll: Likewise.
32330         * modules/uninorm/u8-normxfrm: Likewise.
32331         * modules/uninorm/u16-normalize: Likewise.
32332         * modules/uninorm/u16-normcmp: Likewise.
32333         * modules/uninorm/u16-normcoll: Likewise.
32334         * modules/uninorm/u16-normxfrm: Likewise.
32335         * modules/uninorm/u32-normalize: Likewise.
32336         * modules/uninorm/u32-normcmp: Likewise.
32337         * modules/uninorm/u32-normcoll: Likewise.
32338         * modules/uninorm/u32-normxfrm: Likewise.
32339         * modules/unistdio/u8-asnprintf: Likewise.
32340         * modules/unistdio/u8-asprintf: Likewise.
32341         * modules/unistdio/u8-snprintf: Likewise.
32342         * modules/unistdio/u8-sprintf: Likewise.
32343         * modules/unistdio/u8-u8-asnprintf: Likewise.
32344         * modules/unistdio/u8-u8-asprintf: Likewise.
32345         * modules/unistdio/u8-u8-snprintf: Likewise.
32346         * modules/unistdio/u8-u8-sprintf: Likewise.
32347         * modules/unistdio/u8-u8-vasnprintf: Likewise.
32348         * modules/unistdio/u8-u8-vasprintf: Likewise.
32349         * modules/unistdio/u8-u8-vsnprintf: Likewise.
32350         * modules/unistdio/u8-u8-vsprintf: Likewise.
32351         * modules/unistdio/u8-vasnprintf: Likewise.
32352         * modules/unistdio/u8-vasprintf: Likewise.
32353         * modules/unistdio/u8-vsnprintf: Likewise.
32354         * modules/unistdio/u8-vsprintf: Likewise.
32355         * modules/unistdio/u16-asnprintf: Likewise.
32356         * modules/unistdio/u16-asprintf: Likewise.
32357         * modules/unistdio/u16-snprintf: Likewise.
32358         * modules/unistdio/u16-sprintf: Likewise.
32359         * modules/unistdio/u16-u16-asnprintf: Likewise.
32360         * modules/unistdio/u16-u16-asprintf: Likewise.
32361         * modules/unistdio/u16-u16-snprintf: Likewise.
32362         * modules/unistdio/u16-u16-sprintf: Likewise.
32363         * modules/unistdio/u16-u16-vasnprintf: Likewise.
32364         * modules/unistdio/u16-u16-vasprintf: Likewise.
32365         * modules/unistdio/u16-u16-vsnprintf: Likewise.
32366         * modules/unistdio/u16-u16-vsprintf: Likewise.
32367         * modules/unistdio/u16-vasnprintf: Likewise.
32368         * modules/unistdio/u16-vasprintf: Likewise.
32369         * modules/unistdio/u16-vsnprintf: Likewise.
32370         * modules/unistdio/u16-vsprintf: Likewise.
32371         * modules/unistdio/u32-asnprintf: Likewise.
32372         * modules/unistdio/u32-asprintf: Likewise.
32373         * modules/unistdio/u32-snprintf: Likewise.
32374         * modules/unistdio/u32-sprintf: Likewise.
32375         * modules/unistdio/u32-u32-asnprintf: Likewise.
32376         * modules/unistdio/u32-u32-asprintf: Likewise.
32377         * modules/unistdio/u32-u32-snprintf: Likewise.
32378         * modules/unistdio/u32-u32-sprintf: Likewise.
32379         * modules/unistdio/u32-u32-vasnprintf: Likewise.
32380         * modules/unistdio/u32-u32-vasprintf: Likewise.
32381         * modules/unistdio/u32-u32-vsnprintf: Likewise.
32382         * modules/unistdio/u32-u32-vsprintf: Likewise.
32383         * modules/unistdio/u32-vasnprintf: Likewise.
32384         * modules/unistdio/u32-vasprintf: Likewise.
32385         * modules/unistdio/u32-vsnprintf: Likewise.
32386         * modules/unistdio/u32-vsprintf: Likewise.
32387         * modules/unistdio/ulc-asnprintf: Likewise.
32388         * modules/unistdio/ulc-asprintf: Likewise.
32389         * modules/unistdio/ulc-fprintf: Likewise.
32390         * modules/unistdio/ulc-snprintf: Likewise.
32391         * modules/unistdio/ulc-sprintf: Likewise.
32392         * modules/unistdio/ulc-vasnprintf: Likewise.
32393         * modules/unistdio/ulc-vasprintf: Likewise.
32394         * modules/unistdio/ulc-vfprintf: Likewise.
32395         * modules/unistdio/ulc-vsnprintf: Likewise.
32396         * modules/unistdio/ulc-vsprintf: Likewise.
32397         * modules/unistr/u8-check: Likewise.
32398         * modules/unistr/u8-chr: Likewise.
32399         * modules/unistr/u8-cmp: Likewise.
32400         * modules/unistr/u8-cmp2: Likewise.
32401         * modules/unistr/u8-cpy: Likewise.
32402         * modules/unistr/u8-cpy-alloc: Likewise.
32403         * modules/unistr/u8-endswith: Likewise.
32404         * modules/unistr/u8-mblen: Likewise.
32405         * modules/unistr/u8-mbsnlen: Likewise.
32406         * modules/unistr/u8-mbtouc: Likewise.
32407         * modules/unistr/u8-mbtouc-unsafe: Likewise.
32408         * modules/unistr/u8-mbtoucr: Likewise.
32409         * modules/unistr/u8-move: Likewise.
32410         * modules/unistr/u8-next: Likewise.
32411         * modules/unistr/u8-prev: Likewise.
32412         * modules/unistr/u8-set: Likewise.
32413         * modules/unistr/u8-startswith: Likewise.
32414         * modules/unistr/u8-stpcpy: Likewise.
32415         * modules/unistr/u8-stpncpy: Likewise.
32416         * modules/unistr/u8-strcat: Likewise.
32417         * modules/unistr/u8-strchr: Likewise.
32418         * modules/unistr/u8-strcmp: Likewise.
32419         * modules/unistr/u8-strcoll: Likewise.
32420         * modules/unistr/u8-strcpy: Likewise.
32421         * modules/unistr/u8-strcspn: Likewise.
32422         * modules/unistr/u8-strdup: Likewise.
32423         * modules/unistr/u8-strlen: Likewise.
32424         * modules/unistr/u8-strmblen: Likewise.
32425         * modules/unistr/u8-strmbtouc: Likewise.
32426         * modules/unistr/u8-strncat: Likewise.
32427         * modules/unistr/u8-strncmp: Likewise.
32428         * modules/unistr/u8-strncpy: Likewise.
32429         * modules/unistr/u8-strnlen: Likewise.
32430         * modules/unistr/u8-strpbrk: Likewise.
32431         * modules/unistr/u8-strrchr: Likewise.
32432         * modules/unistr/u8-strspn: Likewise.
32433         * modules/unistr/u8-strstr: Likewise.
32434         * modules/unistr/u8-strtok: Likewise.
32435         * modules/unistr/u8-to-u16: Likewise.
32436         * modules/unistr/u8-to-u32: Likewise.
32437         * modules/unistr/u8-uctomb: Likewise.
32438         * modules/unistr/u16-check: Likewise.
32439         * modules/unistr/u16-chr: Likewise.
32440         * modules/unistr/u16-cmp: Likewise.
32441         * modules/unistr/u16-cmp2: Likewise.
32442         * modules/unistr/u16-cpy: Likewise.
32443         * modules/unistr/u16-cpy-alloc: Likewise.
32444         * modules/unistr/u16-endswith: Likewise.
32445         * modules/unistr/u16-mblen: Likewise.
32446         * modules/unistr/u16-mbsnlen: Likewise.
32447         * modules/unistr/u16-mbtouc: Likewise.
32448         * modules/unistr/u16-mbtouc-unsafe: Likewise.
32449         * modules/unistr/u16-mbtoucr: Likewise.
32450         * modules/unistr/u16-move: Likewise.
32451         * modules/unistr/u16-next: Likewise.
32452         * modules/unistr/u16-prev: Likewise.
32453         * modules/unistr/u16-set: Likewise.
32454         * modules/unistr/u16-startswith: Likewise.
32455         * modules/unistr/u16-stpcpy: Likewise.
32456         * modules/unistr/u16-stpncpy: Likewise.
32457         * modules/unistr/u16-strcat: Likewise.
32458         * modules/unistr/u16-strchr: Likewise.
32459         * modules/unistr/u16-strcmp: Likewise.
32460         * modules/unistr/u16-strcoll: Likewise.
32461         * modules/unistr/u16-strcpy: Likewise.
32462         * modules/unistr/u16-strcspn: Likewise.
32463         * modules/unistr/u16-strdup: Likewise.
32464         * modules/unistr/u16-strlen: Likewise.
32465         * modules/unistr/u16-strmblen: Likewise.
32466         * modules/unistr/u16-strmbtouc: Likewise.
32467         * modules/unistr/u16-strncat: Likewise.
32468         * modules/unistr/u16-strncmp: Likewise.
32469         * modules/unistr/u16-strncpy: Likewise.
32470         * modules/unistr/u16-strnlen: Likewise.
32471         * modules/unistr/u16-strpbrk: Likewise.
32472         * modules/unistr/u16-strrchr: Likewise.
32473         * modules/unistr/u16-strspn: Likewise.
32474         * modules/unistr/u16-strstr: Likewise.
32475         * modules/unistr/u16-strtok: Likewise.
32476         * modules/unistr/u16-to-u32: Likewise.
32477         * modules/unistr/u16-to-u8: Likewise.
32478         * modules/unistr/u16-uctomb: Likewise.
32479         * modules/unistr/u32-check: Likewise.
32480         * modules/unistr/u32-chr: Likewise.
32481         * modules/unistr/u32-cmp: Likewise.
32482         * modules/unistr/u32-cmp2: Likewise.
32483         * modules/unistr/u32-cpy: Likewise.
32484         * modules/unistr/u32-cpy-alloc: Likewise.
32485         * modules/unistr/u32-endswith: Likewise.
32486         * modules/unistr/u32-mblen: Likewise.
32487         * modules/unistr/u32-mbsnlen: Likewise.
32488         * modules/unistr/u32-mbtouc: Likewise.
32489         * modules/unistr/u32-mbtouc-unsafe: Likewise.
32490         * modules/unistr/u32-mbtoucr: Likewise.
32491         * modules/unistr/u32-move: Likewise.
32492         * modules/unistr/u32-next: Likewise.
32493         * modules/unistr/u32-prev: Likewise.
32494         * modules/unistr/u32-set: Likewise.
32495         * modules/unistr/u32-startswith: Likewise.
32496         * modules/unistr/u32-stpcpy: Likewise.
32497         * modules/unistr/u32-stpncpy: Likewise.
32498         * modules/unistr/u32-strcat: Likewise.
32499         * modules/unistr/u32-strchr: Likewise.
32500         * modules/unistr/u32-strcmp: Likewise.
32501         * modules/unistr/u32-strcoll: Likewise.
32502         * modules/unistr/u32-strcpy: Likewise.
32503         * modules/unistr/u32-strcspn: Likewise.
32504         * modules/unistr/u32-strdup: Likewise.
32505         * modules/unistr/u32-strlen: Likewise.
32506         * modules/unistr/u32-strmblen: Likewise.
32507         * modules/unistr/u32-strmbtouc: Likewise.
32508         * modules/unistr/u32-strncat: Likewise.
32509         * modules/unistr/u32-strncmp: Likewise.
32510         * modules/unistr/u32-strncpy: Likewise.
32511         * modules/unistr/u32-strnlen: Likewise.
32512         * modules/unistr/u32-strpbrk: Likewise.
32513         * modules/unistr/u32-strrchr: Likewise.
32514         * modules/unistr/u32-strspn: Likewise.
32515         * modules/unistr/u32-strstr: Likewise.
32516         * modules/unistr/u32-strtok: Likewise.
32517         * modules/unistr/u32-to-u16: Likewise.
32518         * modules/unistr/u32-to-u8: Likewise.
32519         * modules/unistr/u32-uctomb: Likewise.
32520         * modules/uniwbrk/u8-wordbreaks: Likewise.
32521         * modules/uniwbrk/u16-wordbreaks: Likewise.
32522         * modules/uniwbrk/u32-wordbreaks: Likewise.
32523         * modules/uniwbrk/ulc-wordbreaks: Likewise.
32524         * modules/uniwbrk/wordbreak-property: Likewise.
32525         * modules/uniwidth/u8-strwidth: Likewise.
32526         * modules/uniwidth/u8-width: Likewise.
32527         * modules/uniwidth/u16-strwidth: Likewise.
32528         * modules/uniwidth/u16-width: Likewise.
32529         * modules/uniwidth/u32-strwidth: Likewise.
32530         * modules/uniwidth/u32-width: Likewise.
32531         * modules/uniwidth/width: Likewise.
32532         * modules/unicase/cased-tests (Makefile.am): Link all test programs
32533         with $(LIBUNISTRING).
32534         * modules/unicase/ignorable-tests: Likewise.
32535         * modules/unicase/locale-language-tests: Likewise.
32536         * modules/unicase/tolower-tests: Likewise.
32537         * modules/unicase/totitle-tests: Likewise.
32538         * modules/unicase/toupper-tests: Likewise.
32539         * modules/unicase/u8-casecmp-tests: Likewise.
32540         * modules/unicase/u8-casecoll-tests: Likewise.
32541         * modules/unicase/u8-casefold-tests: Likewise.
32542         * modules/unicase/u8-is-cased-tests: Likewise.
32543         * modules/unicase/u8-is-casefolded-tests: Likewise.
32544         * modules/unicase/u8-is-lowercase-tests: Likewise.
32545         * modules/unicase/u8-is-titlecase-tests: Likewise.
32546         * modules/unicase/u8-is-uppercase-tests: Likewise.
32547         * modules/unicase/u8-tolower-tests: Likewise.
32548         * modules/unicase/u8-totitle-tests: Likewise.
32549         * modules/unicase/u8-toupper-tests: Likewise.
32550         * modules/unicase/u16-casecmp-tests: Likewise.
32551         * modules/unicase/u16-casecoll-tests: Likewise.
32552         * modules/unicase/u16-casefold-tests: Likewise.
32553         * modules/unicase/u16-is-cased-tests: Likewise.
32554         * modules/unicase/u16-is-casefolded-tests: Likewise.
32555         * modules/unicase/u16-is-lowercase-tests: Likewise.
32556         * modules/unicase/u16-is-titlecase-tests: Likewise.
32557         * modules/unicase/u16-is-uppercase-tests: Likewise.
32558         * modules/unicase/u16-tolower-tests: Likewise.
32559         * modules/unicase/u16-totitle-tests: Likewise.
32560         * modules/unicase/u16-toupper-tests: Likewise.
32561         * modules/unicase/u32-casecmp-tests: Likewise.
32562         * modules/unicase/u32-casecoll-tests: Likewise.
32563         * modules/unicase/u32-casefold-tests: Likewise.
32564         * modules/unicase/u32-is-cased-tests: Likewise.
32565         * modules/unicase/u32-is-casefolded-tests: Likewise.
32566         * modules/unicase/u32-is-lowercase-tests: Likewise.
32567         * modules/unicase/u32-is-titlecase-tests: Likewise.
32568         * modules/unicase/u32-is-uppercase-tests: Likewise.
32569         * modules/unicase/u32-tolower-tests: Likewise.
32570         * modules/unicase/u32-totitle-tests: Likewise.
32571         * modules/unicase/u32-toupper-tests: Likewise.
32572         * modules/unicase/ulc-casecmp-tests: Likewise.
32573         * modules/unicase/ulc-casecoll-tests: Likewise.
32574         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
32575         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
32576         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
32577         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
32578         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
32579         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
32580         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
32581         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
32582         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
32583         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
32584         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
32585         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
32586         * modules/unictype/bidicategory-byname-tests: Likewise.
32587         * modules/unictype/bidicategory-name-tests: Likewise.
32588         * modules/unictype/bidicategory-of-tests: Likewise.
32589         * modules/unictype/bidicategory-test-tests: Likewise.
32590         * modules/unictype/block-list-tests: Likewise.
32591         * modules/unictype/block-of-tests: Likewise.
32592         * modules/unictype/block-test-tests: Likewise.
32593         * modules/unictype/category-C-tests: Likewise.
32594         * modules/unictype/category-Cc-tests: Likewise.
32595         * modules/unictype/category-Cf-tests: Likewise.
32596         * modules/unictype/category-Cn-tests: Likewise.
32597         * modules/unictype/category-Co-tests: Likewise.
32598         * modules/unictype/category-Cs-tests: Likewise.
32599         * modules/unictype/category-L-tests: Likewise.
32600         * modules/unictype/category-Ll-tests: Likewise.
32601         * modules/unictype/category-Lm-tests: Likewise.
32602         * modules/unictype/category-Lo-tests: Likewise.
32603         * modules/unictype/category-Lt-tests: Likewise.
32604         * modules/unictype/category-Lu-tests: Likewise.
32605         * modules/unictype/category-M-tests: Likewise.
32606         * modules/unictype/category-Mc-tests: Likewise.
32607         * modules/unictype/category-Me-tests: Likewise.
32608         * modules/unictype/category-Mn-tests: Likewise.
32609         * modules/unictype/category-N-tests: Likewise.
32610         * modules/unictype/category-Nd-tests: Likewise.
32611         * modules/unictype/category-Nl-tests: Likewise.
32612         * modules/unictype/category-No-tests: Likewise.
32613         * modules/unictype/category-P-tests: Likewise.
32614         * modules/unictype/category-Pc-tests: Likewise.
32615         * modules/unictype/category-Pd-tests: Likewise.
32616         * modules/unictype/category-Pe-tests: Likewise.
32617         * modules/unictype/category-Pf-tests: Likewise.
32618         * modules/unictype/category-Pi-tests: Likewise.
32619         * modules/unictype/category-Po-tests: Likewise.
32620         * modules/unictype/category-Ps-tests: Likewise.
32621         * modules/unictype/category-S-tests: Likewise.
32622         * modules/unictype/category-Sc-tests: Likewise.
32623         * modules/unictype/category-Sk-tests: Likewise.
32624         * modules/unictype/category-Sm-tests: Likewise.
32625         * modules/unictype/category-So-tests: Likewise.
32626         * modules/unictype/category-Z-tests: Likewise.
32627         * modules/unictype/category-Zl-tests: Likewise.
32628         * modules/unictype/category-Zp-tests: Likewise.
32629         * modules/unictype/category-Zs-tests: Likewise.
32630         * modules/unictype/category-and-not-tests: Likewise.
32631         * modules/unictype/category-and-tests: Likewise.
32632         * modules/unictype/category-byname-tests: Likewise.
32633         * modules/unictype/category-name-tests: Likewise.
32634         * modules/unictype/category-none-tests: Likewise.
32635         * modules/unictype/category-of-tests: Likewise.
32636         * modules/unictype/category-or-tests: Likewise.
32637         * modules/unictype/category-test-withtable-tests: Likewise.
32638         * modules/unictype/combining-class-tests: Likewise.
32639         * modules/unictype/ctype-alnum-tests: Likewise.
32640         * modules/unictype/ctype-alpha-tests: Likewise.
32641         * modules/unictype/ctype-blank-tests: Likewise.
32642         * modules/unictype/ctype-cntrl-tests: Likewise.
32643         * modules/unictype/ctype-digit-tests: Likewise.
32644         * modules/unictype/ctype-graph-tests: Likewise.
32645         * modules/unictype/ctype-lower-tests: Likewise.
32646         * modules/unictype/ctype-print-tests: Likewise.
32647         * modules/unictype/ctype-punct-tests: Likewise.
32648         * modules/unictype/ctype-space-tests: Likewise.
32649         * modules/unictype/ctype-upper-tests: Likewise.
32650         * modules/unictype/ctype-xdigit-tests: Likewise.
32651         * modules/unictype/decimal-digit-tests: Likewise.
32652         * modules/unictype/digit-tests: Likewise.
32653         * modules/unictype/mirror-tests: Likewise.
32654         * modules/unictype/numeric-tests: Likewise.
32655         * modules/unictype/property-alphabetic-tests: Likewise.
32656         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
32657         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
32658         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
32659         * modules/unictype/property-bidi-block-separator-tests: Likewise.
32660         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
32661         * modules/unictype/property-bidi-common-separator-tests: Likewise.
32662         * modules/unictype/property-bidi-control-tests: Likewise.
32663         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
32664         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
32665         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
32666         * modules/unictype/property-bidi-european-digit-tests: Likewise.
32667         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
32668         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
32669         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
32670         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
32671         * modules/unictype/property-bidi-pdf-tests: Likewise.
32672         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
32673         * modules/unictype/property-bidi-whitespace-tests: Likewise.
32674         * modules/unictype/property-byname-tests: Likewise.
32675         * modules/unictype/property-combining-tests: Likewise.
32676         * modules/unictype/property-composite-tests: Likewise.
32677         * modules/unictype/property-currency-symbol-tests: Likewise.
32678         * modules/unictype/property-dash-tests: Likewise.
32679         * modules/unictype/property-decimal-digit-tests: Likewise.
32680         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
32681         * modules/unictype/property-deprecated-tests: Likewise.
32682         * modules/unictype/property-diacritic-tests: Likewise.
32683         * modules/unictype/property-extender-tests: Likewise.
32684         * modules/unictype/property-format-control-tests: Likewise.
32685         * modules/unictype/property-grapheme-base-tests: Likewise.
32686         * modules/unictype/property-grapheme-extend-tests: Likewise.
32687         * modules/unictype/property-grapheme-link-tests: Likewise.
32688         * modules/unictype/property-hex-digit-tests: Likewise.
32689         * modules/unictype/property-hyphen-tests: Likewise.
32690         * modules/unictype/property-id-continue-tests: Likewise.
32691         * modules/unictype/property-id-start-tests: Likewise.
32692         * modules/unictype/property-ideographic-tests: Likewise.
32693         * modules/unictype/property-ids-binary-operator-tests: Likewise.
32694         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
32695         * modules/unictype/property-ignorable-control-tests: Likewise.
32696         * modules/unictype/property-iso-control-tests: Likewise.
32697         * modules/unictype/property-join-control-tests: Likewise.
32698         * modules/unictype/property-left-of-pair-tests: Likewise.
32699         * modules/unictype/property-line-separator-tests: Likewise.
32700         * modules/unictype/property-logical-order-exception-tests: Likewise.
32701         * modules/unictype/property-lowercase-tests: Likewise.
32702         * modules/unictype/property-math-tests: Likewise.
32703         * modules/unictype/property-non-break-tests: Likewise.
32704         * modules/unictype/property-not-a-character-tests: Likewise.
32705         * modules/unictype/property-numeric-tests: Likewise.
32706         * modules/unictype/property-other-alphabetic-tests: Likewise.
32707         * modules/unictype/property-other-default-ignorable-code-point-tests:
32708         Likewise.
32709         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
32710         * modules/unictype/property-other-id-continue-tests: Likewise.
32711         * modules/unictype/property-other-id-start-tests: Likewise.
32712         * modules/unictype/property-other-lowercase-tests: Likewise.
32713         * modules/unictype/property-other-math-tests: Likewise.
32714         * modules/unictype/property-other-uppercase-tests: Likewise.
32715         * modules/unictype/property-paired-punctuation-tests: Likewise.
32716         * modules/unictype/property-paragraph-separator-tests: Likewise.
32717         * modules/unictype/property-pattern-syntax-tests: Likewise.
32718         * modules/unictype/property-pattern-white-space-tests: Likewise.
32719         * modules/unictype/property-private-use-tests: Likewise.
32720         * modules/unictype/property-punctuation-tests: Likewise.
32721         * modules/unictype/property-quotation-mark-tests: Likewise.
32722         * modules/unictype/property-radical-tests: Likewise.
32723         * modules/unictype/property-sentence-terminal-tests: Likewise.
32724         * modules/unictype/property-soft-dotted-tests: Likewise.
32725         * modules/unictype/property-space-tests: Likewise.
32726         * modules/unictype/property-terminal-punctuation-tests: Likewise.
32727         * modules/unictype/property-test-tests: Likewise.
32728         * modules/unictype/property-titlecase-tests: Likewise.
32729         * modules/unictype/property-unassigned-code-value-tests: Likewise.
32730         * modules/unictype/property-unified-ideograph-tests: Likewise.
32731         * modules/unictype/property-uppercase-tests: Likewise.
32732         * modules/unictype/property-variation-selector-tests: Likewise.
32733         * modules/unictype/property-white-space-tests: Likewise.
32734         * modules/unictype/property-xid-continue-tests: Likewise.
32735         * modules/unictype/property-xid-start-tests: Likewise.
32736         * modules/unictype/property-zero-width-tests: Likewise.
32737         * modules/unictype/scripts-tests: Likewise.
32738         * modules/unictype/syntax-c-ident-tests: Likewise.
32739         * modules/unictype/syntax-c-whitespace-tests: Likewise.
32740         * modules/unictype/syntax-java-ident-tests: Likewise.
32741         * modules/unictype/syntax-java-whitespace-tests: Likewise.
32742         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
32743         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
32744         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
32745         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
32746         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
32747         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
32748         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
32749         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
32750         * modules/uniname/uniname-tests: Likewise.
32751         * modules/uninorm/canonical-decomposition-tests: Likewise.
32752         * modules/uninorm/compat-decomposition-tests: Likewise.
32753         * modules/uninorm/composition-tests: Likewise.
32754         * modules/uninorm/decomposing-form-tests: Likewise.
32755         * modules/uninorm/decomposition-tests: Likewise.
32756         * modules/uninorm/filter-tests: Likewise.
32757         * modules/uninorm/nfc-tests: Likewise.
32758         * modules/uninorm/nfd-tests: Likewise.
32759         * modules/uninorm/nfkc-tests: Likewise.
32760         * modules/uninorm/nfkd-tests: Likewise.
32761         * modules/uninorm/u8-normcmp-tests: Likewise.
32762         * modules/uninorm/u8-normcoll-tests: Likewise.
32763         * modules/uninorm/u16-normcmp-tests: Likewise.
32764         * modules/uninorm/u16-normcoll-tests: Likewise.
32765         * modules/uninorm/u32-normcmp-tests: Likewise.
32766         * modules/uninorm/u32-normcoll-tests: Likewise.
32767         * modules/unistdio/u8-asnprintf-tests: Likewise.
32768         * modules/unistdio/u8-vasnprintf-tests: Likewise.
32769         * modules/unistdio/u8-vasprintf-tests: Likewise.
32770         * modules/unistdio/u8-vsnprintf-tests: Likewise.
32771         * modules/unistdio/u8-vsprintf-tests: Likewise.
32772         * modules/unistdio/u16-asnprintf-tests: Likewise.
32773         * modules/unistdio/u16-vasnprintf-tests: Likewise.
32774         * modules/unistdio/u16-vasprintf-tests: Likewise.
32775         * modules/unistdio/u16-vsnprintf-tests: Likewise.
32776         * modules/unistdio/u16-vsprintf-tests: Likewise.
32777         * modules/unistdio/u32-asnprintf-tests: Likewise.
32778         * modules/unistdio/u32-vasnprintf-tests: Likewise.
32779         * modules/unistdio/u32-vasprintf-tests: Likewise.
32780         * modules/unistdio/u32-vsnprintf-tests: Likewise.
32781         * modules/unistdio/u32-vsprintf-tests: Likewise.
32782         * modules/unistdio/ulc-asnprintf-tests: Likewise.
32783         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
32784         * modules/unistdio/ulc-vasprintf-tests: Likewise.
32785         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
32786         * modules/unistdio/ulc-vsprintf-tests: Likewise.
32787         * modules/unistr/u8-check-tests: Likewise.
32788         * modules/unistr/u8-chr-tests: Likewise.
32789         * modules/unistr/u8-cmp-tests: Likewise.
32790         * modules/unistr/u8-cmp2-tests: Likewise.
32791         * modules/unistr/u8-cpy-alloc-tests: Likewise.
32792         * modules/unistr/u8-cpy-tests: Likewise.
32793         * modules/unistr/u8-mblen-tests: Likewise.
32794         * modules/unistr/u8-mbsnlen-tests: Likewise.
32795         * modules/unistr/u8-mbtouc-tests: Likewise.
32796         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
32797         * modules/unistr/u8-mbtoucr-tests: Likewise.
32798         * modules/unistr/u8-move-tests: Likewise.
32799         * modules/unistr/u8-next-tests: Likewise.
32800         * modules/unistr/u8-prev-tests: Likewise.
32801         * modules/unistr/u8-set-tests: Likewise.
32802         * modules/unistr/u8-stpcpy-tests: Likewise.
32803         * modules/unistr/u8-stpncpy-tests: Likewise.
32804         * modules/unistr/u8-strcat-tests: Likewise.
32805         * modules/unistr/u8-strcmp-tests: Likewise.
32806         * modules/unistr/u8-strcoll-tests: Likewise.
32807         * modules/unistr/u8-strcpy-tests: Likewise.
32808         * modules/unistr/u8-strdup-tests: Likewise.
32809         * modules/unistr/u8-strlen-tests: Likewise.
32810         * modules/unistr/u8-strmblen-tests: Likewise.
32811         * modules/unistr/u8-strmbtouc-tests: Likewise.
32812         * modules/unistr/u8-strncat-tests: Likewise.
32813         * modules/unistr/u8-strncmp-tests: Likewise.
32814         * modules/unistr/u8-strncpy-tests: Likewise.
32815         * modules/unistr/u8-strnlen-tests: Likewise.
32816         * modules/unistr/u8-to-u16-tests: Likewise.
32817         * modules/unistr/u8-to-u32-tests: Likewise.
32818         * modules/unistr/u8-uctomb-tests: Likewise.
32819         * modules/unistr/u16-check-tests: Likewise.
32820         * modules/unistr/u16-chr-tests: Likewise.
32821         * modules/unistr/u16-cmp-tests: Likewise.
32822         * modules/unistr/u16-cmp2-tests: Likewise.
32823         * modules/unistr/u16-cpy-alloc-tests: Likewise.
32824         * modules/unistr/u16-cpy-tests: Likewise.
32825         * modules/unistr/u16-mblen-tests: Likewise.
32826         * modules/unistr/u16-mbsnlen-tests: Likewise.
32827         * modules/unistr/u16-mbtouc-tests: Likewise.
32828         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
32829         * modules/unistr/u16-mbtoucr-tests: Likewise.
32830         * modules/unistr/u16-move-tests: Likewise.
32831         * modules/unistr/u16-next-tests: Likewise.
32832         * modules/unistr/u16-prev-tests: Likewise.
32833         * modules/unistr/u16-set-tests: Likewise.
32834         * modules/unistr/u16-stpcpy-tests: Likewise.
32835         * modules/unistr/u16-stpncpy-tests: Likewise.
32836         * modules/unistr/u16-strcat-tests: Likewise.
32837         * modules/unistr/u16-strcmp-tests: Likewise.
32838         * modules/unistr/u16-strcoll-tests: Likewise.
32839         * modules/unistr/u16-strcpy-tests: Likewise.
32840         * modules/unistr/u16-strdup-tests: Likewise.
32841         * modules/unistr/u16-strlen-tests: Likewise.
32842         * modules/unistr/u16-strmblen-tests: Likewise.
32843         * modules/unistr/u16-strmbtouc-tests: Likewise.
32844         * modules/unistr/u16-strncat-tests: Likewise.
32845         * modules/unistr/u16-strncmp-tests: Likewise.
32846         * modules/unistr/u16-strncpy-tests: Likewise.
32847         * modules/unistr/u16-strnlen-tests: Likewise.
32848         * modules/unistr/u16-to-u32-tests: Likewise.
32849         * modules/unistr/u16-to-u8-tests: Likewise.
32850         * modules/unistr/u16-uctomb-tests: Likewise.
32851         * modules/unistr/u32-check-tests: Likewise.
32852         * modules/unistr/u32-chr-tests: Likewise.
32853         * modules/unistr/u32-cmp-tests: Likewise.
32854         * modules/unistr/u32-cmp2-tests: Likewise.
32855         * modules/unistr/u32-cpy-alloc-tests: Likewise.
32856         * modules/unistr/u32-cpy-tests: Likewise.
32857         * modules/unistr/u32-mblen-tests: Likewise.
32858         * modules/unistr/u32-mbsnlen-tests: Likewise.
32859         * modules/unistr/u32-mbtouc-tests: Likewise.
32860         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
32861         * modules/unistr/u32-mbtoucr-tests: Likewise.
32862         * modules/unistr/u32-move-tests: Likewise.
32863         * modules/unistr/u32-next-tests: Likewise.
32864         * modules/unistr/u32-prev-tests: Likewise.
32865         * modules/unistr/u32-set-tests: Likewise.
32866         * modules/unistr/u32-stpcpy-tests: Likewise.
32867         * modules/unistr/u32-stpncpy-tests: Likewise.
32868         * modules/unistr/u32-strcat-tests: Likewise.
32869         * modules/unistr/u32-strcmp-tests: Likewise.
32870         * modules/unistr/u32-strcoll-tests: Likewise.
32871         * modules/unistr/u32-strcpy-tests: Likewise.
32872         * modules/unistr/u32-strdup-tests: Likewise.
32873         * modules/unistr/u32-strlen-tests: Likewise.
32874         * modules/unistr/u32-strmblen-tests: Likewise.
32875         * modules/unistr/u32-strmbtouc-tests: Likewise.
32876         * modules/unistr/u32-strncat-tests: Likewise.
32877         * modules/unistr/u32-strncmp-tests: Likewise.
32878         * modules/unistr/u32-strncpy-tests: Likewise.
32879         * modules/unistr/u32-strnlen-tests: Likewise.
32880         * modules/unistr/u32-to-u16-tests: Likewise.
32881         * modules/unistr/u32-to-u8-tests: Likewise.
32882         * modules/unistr/u32-uctomb-tests: Likewise.
32883         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
32884         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
32885         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
32886         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
32887         * modules/uniwidth/u8-strwidth-tests: Likewise.
32888         * modules/uniwidth/u8-width-tests: Likewise.
32889         * modules/uniwidth/u16-strwidth-tests: Likewise.
32890         * modules/uniwidth/u16-width-tests: Likewise.
32891         * modules/uniwidth/u32-strwidth-tests: Likewise.
32892         * modules/uniwidth/u32-width-tests: Likewise.
32893         * modules/uniwidth/width-tests: Likewise.
32894
32895 2010-05-18  Richard Jones  <rjones@redhat.com>
32896
32897         doc: users.txt: list hivex
32898         * users.txt: Add hivex.
32899
32900 2010-05-18  Richard Jones  <rjones@redhat.com>
32901
32902         doc: users.txt: list febootstrap
32903         * users.txt: Add febootstrap.
32904
32905 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
32906
32907         bootstrap: fix an error when gnulib is not used as a git submodule
32908         * build-aux/bootstrap (gnulib_path): If its length is zero then
32909         assign "gnulib" to it.
32910         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
32911
32912 2010-05-16  Bruno Haible  <bruno@clisp.org>
32913
32914         Avoid autoconf warnings about AM_ICONV.
32915         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
32916         2.64.
32917
32918 2010-05-16  Bruno Haible  <bruno@clisp.org>
32919
32920         absolute-header: Make the macro usable in more situations.
32921         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
32922         from gl_ABSOLUTE_HEADER.
32923         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
32924
32925 2010-05-16  James Youngman  <jay@gnu.org>
32926
32927         doc: update users.txt
32928         * users.txt: Add CSSC.
32929
32930 2010-05-16  Jim Meyering  <meyering@redhat.com>
32931
32932         init.sh: fix an error in the previous change; add more comments
32933         * tests/init.sh: Compare exit code in loop against 9, not 2.
32934         Patch by Bruno Haible.
32935         Make the two tests more similar by adding an empty "then" clause.
32936         Add comments.
32937
32938         init.sh: avoid unnecessary shell re-exec
32939         * tests/init.sh: Improve the re-exec-required check to first test the
32940         current shell.  If it passes the test, do not search for a shell that
32941         does pass, and do not re-exec.  This test is particularly contorted to
32942         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
32943         of $(...) evokes a syntax error and causes immediate shell exit with
32944         status 2.  Bruno Haible reported that the re-exec made it impossible
32945         to single-step through any init.sh-using script.
32946
32947 2010-05-16  Bruno Haible  <bruno@clisp.org>
32948
32949         Fix collision between gnulib's and libintl's printf replacements.
32950         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
32951         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
32952         (printf): When using GNU C, map the __printf__ function to rpl_printf
32953         via __asm__. When not using GNU C, define rpl_printf instead of
32954         __printf__.
32955         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
32956         commit.
32957         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
32958         commit.
32959         * m4/asm-underscore.m4: New file.
32960         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
32961         * modules/stdio (Files): Add m4/asm-underscore.m4.
32962         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
32963         Reported by Ben Pfaff.
32964
32965 2010-05-16  Bruno Haible  <bruno@clisp.org>
32966
32967         verify: Avoid skipping the test on openSUSE 11.0.
32968         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
32969
32970 2010-05-13  Bruno Haible  <bruno@clisp.org>
32971
32972         Avoid useless warnings from G++.
32973         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
32974         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
32975         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
32976
32977 2010-05-11  Jim Meyering  <meyering@redhat.com>
32978
32979         maint.mk: tweak preceding change
32980         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
32981         regexps tighter by anchoring at EOL, and make the new group "shy"
32982         for slightly decreased overhead.
32983
32984 2010-05-11  Eric Blake  <eblake@redhat.com>
32985
32986         maint.mk: gnulib doesn't guarantee NSIG
32987         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
32988
32989 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
32990
32991         test-pwrite.c: Remove unused variable declaration.
32992         * tests/test-pwrite.c (main): Remove read_buf declaration.
32993
32994         Remove useless test-pwrite.sh file.
32995         * tests/test-pwrite.sh: Delete file.
32996         * modules/pwrite-tests: Remove references.
32997         Reported by Bruno Haible.
32998
32999 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
33000
33001         init.sh: fix a typo
33002         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
33003
33004 2010-05-10  Jim Meyering  <meyering@redhat.com>
33005
33006         maint.mk: avoid using a temporary file in the always-defined-macros check
33007         * top/maint.mk (.re-defmac): Remove rule.
33008         (gl_trap_): Remove definition.
33009         (sc_prohibit_always-defined_macros): Rewrite not to create and
33010         depend on a temporary file.  Instead, depend on GNU grep's ability
33011         to read a list of regular expressions from stdin when given "-f -".
33012
33013 2010-05-09  Bruno Haible  <bruno@clisp.org>
33014
33015         Update to GNU gettext 0.18, part 1.
33016         * m4/gettext.m4: Update to GNU gettext 0.18.
33017         * m4/intl.m4: Likewise.
33018         * m4/po.m4: Likewise.
33019         * modules/gettext (Files): Add m4/fcntl-o.m4.
33020         (configure.ac): Require gettext infrastructure from version 0.18.
33021
33022 2010-05-09  Jim Meyering  <meyering@redhat.com>
33023
33024         init.sh: enable MALLOC_PERTURB_
33025         * tests/init.sh: Enable glibc's malloc-perturbing option.
33026
33027         maint.mk: improve sc_cross_check_PATH_usage_in_tests
33028         With my recent change in init.sh from the two-line form:
33029             -#   : ${srcdir=.}
33030             -#   . "$srcdir/init.sh"; path_prepend_ .
33031             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
33032         I noticed that using the one-line form would cause this test
33033         to fail with a false-positive, or to stop working altogether,
33034         depending on whether help-version changed or all the tests did.
33035         * top/maint.mk (_hv_regex): Remove this definition.
33036         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
33037         (_hv_regex_strong): Use a stronger regex to check for conformance.
33038         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
33039         Give a separate diagnostic for lack of conforming use.
33040
33041         maint.mk: prohibit definition of symbols defined by gnulib
33042         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
33043         definition of symbols defined by gnulib.
33044
33045 2010-05-09  Bruno Haible  <bruno@clisp.org>
33046
33047         acl: Avoid test failure on Cygwin-hosted mingw.
33048         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
33049
33050 2010-05-09  Bruno Haible  <bruno@clisp.org>
33051
33052         error: Use system's fcntl function.
33053         * lib/error.c (fcntl): Undefine.
33054
33055 2010-05-09  Jim Meyering  <meyering@redhat.com>
33056
33057         verify: adjust formatting to be more consistent
33058         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
33059         argument-list '('s, and after one comma.
33060
33061 2010-05-09  Bruno Haible  <bruno@clisp.org>
33062
33063         error: More reliable output on mingw.
33064         * lib/error.c: Include <windows.h>.
33065         (is_open): New function.
33066         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
33067         defined.
33068
33069 2010-05-09  Bruno Haible  <bruno@clisp.org>
33070
33071         vasnprintf: Fix syntax errors in libintl build on mingw.
33072         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
33073         pad_ourselves and prec_ourselves after use.
33074
33075 2010-05-08  Bruno Haible  <bruno@clisp.org>
33076
33077         * lib/config.charset: Update comments for Cygwin 1.7.
33078         * lib/localcharset.c: Likewise.
33079
33080 2010-05-07  Jim Meyering  <meyering@redhat.com>
33081
33082         init.sh: improve comments
33083         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
33084         . "${srcdir=.}/init.sh"; path_prepend_ .
33085         Add a note about path_prepend_ and the alternative of using
33086         TESTS_ENVIRONMENT.
33087
33088 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
33089
33090         exclude: Unescape hashed patterns in wildcard mode.
33091         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
33092         to the hash list.
33093         * tests/test-exclude8.sh: New test case.
33094         * modules/exclude-tests: Add new test.
33095
33096 2010-05-05  Eric Blake  <eblake@redhat.com>
33097
33098         verify: automate tests
33099         * modules/verify-tests: New module.
33100         * tests/test-verify.sh: New file.
33101         * tests/test-verify.c: Guard each negative test with a unique id.
33102         Also avoid warning about unused left hand of comma expressions.
33103
33104 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
33105
33106         Further improvements to verify.h, suggested by Eric Blake.
33107         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
33108         the GL_* versions, to avoid collision with OpenGL.
33109         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
33110         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
33111         than testing merely whether it's defined.
33112
33113         Modify verify.h to pacify gcc -Wredundant_decls.
33114         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
33115         These use the prefix "GL_" since they're likely to be useful elsewhere.
33116         We may need to break them out into a different .h file.
33117         (__COUNTER__): Define to 0 if the compiler doesn't support it.
33118         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
33119         of verify_function__.
33120
33121 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
33122
33123         Tests for module pwrite.
33124         * modules/pwrite-tests: New file.
33125         * tests/test-pwrite.sh: New file.
33126         * tests/test-pwrite.c: New file.
33127
33128         New module pwrite.
33129         * lib/unistd.in.h (pwrite): New declaration.
33130         * lib/pwrite.c: New file, from glibc with modifications.
33131         * m4/pwrite.m4: New file.
33132         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
33133         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
33134         REPLACE_PWRITE.
33135         * modules/pwrite: New file.
33136         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
33137         REPLACE_PWRITE.
33138         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
33139         * doc/posix-functions/pwrite.texi: Mention the new module.
33140
33141 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
33142
33143         pread: Update documentation.
33144         * doc/posix-functions/pread.texi: Mention the 'pread' module.
33145
33146 2010-05-04  Eric Blake  <eblake@redhat.com>
33147
33148         docs: update cygwin progress
33149         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
33150         this bug.
33151         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
33152         Added in cygwin 1.7.2.
33153         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
33154         Likewise.
33155         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
33156         Likewise.
33157         * doc/glibc-functions/dup3.texi (dup3): Likewise.
33158         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
33159         * doc/glibc-functions/accept4.texi (accept4): Likewise.
33160         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
33161         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
33162         Mention nproc module.
33163         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
33164         bug in cygwin 1.7.5 addition.
33165         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
33166         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
33167         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
33168         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
33169         1.7.5.
33170         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
33171         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
33172         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
33173         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
33174         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
33175         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
33176         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
33177         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
33178         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
33179         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
33180         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
33181         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
33182         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
33183         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
33184         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
33185         Likewise.
33186         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
33187         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
33188         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
33189         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
33190         Likewise.
33191         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
33192         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
33193         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
33194         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
33195         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
33196         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
33197         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
33198         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
33199         Likewise.
33200         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
33201         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
33202         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
33203         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
33204         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
33205         Likewise.
33206         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
33207         Likewise.
33208         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
33209         Likewise.
33210         * doc/glibc-functions/xdrrec_endofrecord.texi
33211         (xdrrec_endofrecord): Likewise.
33212         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
33213         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
33214         Likewise.
33215         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
33216         Likewise.
33217
33218 2010-05-04  Jim Meyering  <meyering@redhat.com>
33219
33220         gendocs.sh: make its "-s FILE" option more useful
33221         * build-aux/gendocs.sh: When honoring the -s FILE option, update
33222         $PACKAGE to reflect the probably-different basename of "FILE".
33223
33224 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
33225
33226         bootstrap: don't ignore download_po_files failure
33227         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
33228         failure.
33229
33230 2010-05-03  Jim Meyering  <meyering@redhat.com>
33231
33232         maint.mk: allow to pass options to gendocs.sh
33233         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
33234         (gendocs_options_): New overridable variable.
33235
33236         gnu-web-doc-update: don't ignore configure or build failure
33237         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
33238
33239         announce-gen: backslash-escape '@'s in --help output
33240         * build-aux/announce-gen: Fix syntax errors.
33241
33242         maint.mk, announce-gen: allow project-specific announcement mail headers
33243         * top/maint.mk (translation_project_): Define default.
33244         (announcement_Cc_, announcement_mail_headers_): Likewise.
33245         (announcement): Invoke announce-gen with new --mail-headers option.
33246         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
33247
33248         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
33249         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
33250         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
33251         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
33252         line in the "err2" output file when running "make check" in verbose
33253         mode (i.e., with set -x enabled).
33254
33255 2010-05-03  Bruno Haible  <bruno@clisp.org>
33256
33257         wctob: Fix for weird platforms.
33258         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
33259         argument value.
33260
33261 2010-05-03  Jim Meyering  <meyering@redhat.com>
33262
33263         maint.mk: prohibit unwarranted use of <strings.h>
33264         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
33265         strings.h in a file that does not also use strcasecmp, strncasecmp,
33266         ffs or ffsll.
33267
33268         maint.mk: remove obsolete comments
33269         * top/maint.mk: Remove stale, commented-out rules.
33270
33271 2010-05-02  Bruno Haible  <bruno@clisp.org>
33272
33273         wcwidth: Declare also when it's aliased.
33274         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
33275         macro.
33276
33277 2010-05-02  Bruno Haible  <bruno@clisp.org>
33278
33279         Fix regression from 2010-04-25.
33280         * gnulib-tool (func_modules_transitive_closure): Check the status of
33281         all modules, not only of the tests that are of the form foo-tests where
33282         foo is a module.
33283
33284 2010-05-02  Bruno Haible  <bruno@clisp.org>
33285
33286         wctob: Work around nasty Cygwin 1.7.2 bug.
33287         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
33288         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
33289
33290 2010-05-01  Bruno Haible  <bruno@clisp.org>
33291
33292         fpurge: Sharper test.
33293         * tests/test-fpurge.c (main): Add one more ftell check.
33294         * modules/fpurge-tests (Depends-on): Add ftell.
33295         Suggested by Eric Blake.
33296
33297 2010-05-01  Bruno Haible  <bruno@clisp.org>
33298
33299         ftello: Another test.
33300         * tests/test-ftello3.c: New file.
33301         * modules/ftello-tests (Files): Add it.
33302         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
33303         MOSTLYCLEANFILES.
33304
33305         ftell: Another test.
33306         * tests/test-ftell3.c: New file.
33307         * modules/ftell-tests (Files): Add it.
33308         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
33309         MOSTLYCLEANFILES.
33310
33311 2010-05-01  Bruno Haible  <bruno@clisp.org>
33312
33313         ftell, ftello: Work around Solaris bug.
33314         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
33315         * lib/ftello.c: Include stdio-impl.h.
33316         (ftello): On Solaris, when _IOWRT is set, compute the result without
33317         looking at _IOREAD.
33318         * modules/ftello (Files): Add lib/stdio-impl.h.
33319         * doc/posix-functions/ftell.texi: Mention Solaris bug.
33320         * doc/posix-functions/ftello.texi: Likewise.
33321         Reported by Eric Blake.
33322
33323 2010-05-01  Bruno Haible  <bruno@clisp.org>
33324
33325         freading: Adapt to special meaning of _IOREAD flag on Solaris.
33326         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
33327         the _IOWRT flag is also set.
33328
33329 2010-05-01  Bruno Haible  <bruno@clisp.org>
33330
33331         Fix doc about a HP-UX stdio bug.
33332         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
33333         * doc/posix-functions/ftello.texi: Likewise.
33334
33335 2010-05-01  Bruno Haible  <bruno@clisp.org>
33336
33337         lseek test: Fix failure on Solaris.
33338         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
33339         output.
33340
33341 2010-04-30  Jim Meyering  <meyering@redhat.com>
33342
33343         bootstrap: don't ignore failure to generate po*/Makevars
33344         * build-aux/bootstrap (with_gettext): Don't ignore failure
33345         to create po/Makevars or runtime-po/Makevars.
33346
33347 2010-04-29  Eric Blake  <eblake@redhat.com>
33348
33349         headers: relax license to LGPLv2+
33350         * modules/fcntl-h (License): Relax license.
33351         * modules/getopt-posix (License): Likewise.
33352         * modules/locale (License): Likewise.
33353         * modules/math (License): Likewise.
33354         * modules/pty (License): Likewise.
33355         * modules/sched (License): Likewise.
33356         * modules/search (License): Likewise.
33357         * modules/spawn (License): Likewise.
33358         * modules/stdarg (License): Likewise.
33359         * modules/sysexits (License): Likewise.
33360
33361 2010-04-29  Jim Meyering  <meyering@redhat.com>
33362
33363         inttypes: relax license to LGPLv2+
33364         * modules/inttypes (License): Relax license.
33365
33366 2010-04-29  Simon Josefsson  <simon@josefsson.org>
33367
33368         * top/maint.mk (indent): Run twice to produce idempotent results.
33369
33370 2010-04-28  Bruno Haible  <bruno@clisp.org>
33371
33372         getdate: Generate getdate.c in the source directory.
33373         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
33374         MOSTLYCLEANFILES.
33375         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
33376
33377 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
33378
33379         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
33380         is not declared as a const *; avoid warnings in that case.
33381
33382 2010-04-28  Eric Blake  <eblake@redhat.com>
33383
33384         canonicalize-lgpl: avoid compiler warning
33385         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
33386         declaration' / 'extraneous semicolon' warning with some compilers.
33387         Reported by Andreas Gruenbacher.
33388
33389 2010-04-28  Jim Meyering  <meyering@redhat.com>
33390
33391         init.sh: ensure a more reliable exit status when exiting via trap
33392         * tests/init.sh (setup_): Don't rely on $? in signal handler.
33393         Inspired by patches from Dmitry V. Levin.
33394         Also trap on signal 3 (SIGQUIT).
33395
33396 2010-04-27  Bruno Haible  <bruno@clisp.org>
33397
33398         Update doc about utimes().
33399         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
33400         'utimens' module.
33401         Reported by Andreas Gruenbacher <agruen@suse.de>.
33402
33403 2010-04-27  Eric Blake  <eblake@redhat.com>
33404
33405         full-read, full-write: relax license
33406         * modules/full-read (License): Drop to LGPLv2+.
33407         * modules/full-write (License): Likewise.
33408         * modules/safe-read (License): Likewise.
33409         * modules/safe-write (License): Likewise.
33410
33411         pthread: mention library for linking
33412         * modules/pthread (Link): Mention $(LIB_PTHREAD).
33413
33414 2010-04-27  Jim Meyering  <meyering@redhat.com>
33415
33416         maint.mk: fix a bug introduced in last change
33417         * top/maint.mk (gl_assured_headers_): Now that all names are on
33418         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
33419         is not anchored to end of word, it should be adequate.
33420
33421         maint.mk: avoid side-effect in latest syntax-check
33422         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
33423         to run commands via $(shell...), and hence to incur cost only when
33424         the new rule is actually run.
33425
33426         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
33427         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
33428         and use that to create a regexp used to detect all #if HAVE_..._H uses.
33429         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
33430         (gl_assured_headers_, az_, AZ_): Define.
33431         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
33432
33433 2010-04-26  Jim Meyering  <jim@meyering.net>
33434             Bruno Haible  <bruno@clisp.org>
33435
33436         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
33437         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
33438         Prompted by an exchange with Gilles Espinasse.
33439
33440 2010-04-26  Jim Meyering  <meyering@redhat.com>
33441
33442         git-version-gen: aesthetic tweak
33443         * build-aux/git-version-gen: Use "$nl" rather than a literal,
33444         so that the command remains on a single line.
33445
33446 2010-04-26  Eric Blake  <eblake@redhat.com>
33447
33448         git-version-gen: allow use on EBCDIC hosts
33449         * build-aux/git-version-gen (dirty): Use literal rather than tying
33450         ourselves to ascii.
33451         Reported by Steve Goetze.
33452
33453 2010-04-25  Bruno Haible  <bruno@clisp.org>
33454
33455         netdb: Add support for GNULIB_POSIXCHECK.
33456         * lib/netdb.in.h: Include warn-on-use.h.
33457         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
33458         functions are used when GNULIB_POSIXCHECK is defined and the
33459         getaddrinfo module is not in use.
33460         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
33461         freeaddrinfo, gai_strerror, getnameinfo are declared.
33462         * modules/netdb (Depends-on): Add warn-on-use.
33463         (Makefile.am): Include warn-on-use.h in netdb.h.
33464
33465 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
33466
33467         build: avoid "make check" failure without .git/ directory
33468         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
33469         there is no .git/ directory.
33470
33471 2010-04-25  Bruno Haible  <bruno@clisp.org>
33472
33473         ptsname: Fix misuse of ttyname_r.
33474         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
33475         of errno.
33476
33477 2010-04-25  Bruno Haible  <bruno@clisp.org>
33478
33479         ttyname_r: Make it work on Solaris 10.
33480         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
33481         if the system function has the POSIX declaration. Test whether the
33482         function fails if the buffer is less than 128 bytes large.
33483         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
33484         system's ttyname_r function. Provide a reasonably large buffer.
33485         * modules/ttyname_r (Depends-on): Add extensions.
33486         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
33487
33488 2010-04-25  Bruno Haible  <bruno@clisp.org>
33489
33490         Use the 'extensions' module for some more functions on Solaris.
33491         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
33492         module.
33493         * doc/posix-functions/ctime_r.texi: Likewise.
33494         * doc/posix-functions/getgrgid_r.texi: Likewise.
33495         * doc/posix-functions/getgrnam_r.texi: Likewise.
33496         * doc/posix-functions/getpwnam_r.texi: Likewise.
33497         * doc/posix-functions/getpwuid_r.texi: Likewise.
33498         * doc/posix-functions/readdir_r.texi: Likewise.
33499         * doc/posix-functions/sigwait.texi: Likewise.
33500         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
33501         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
33502
33503 2010-04-25  Bruno Haible  <bruno@clisp.org>
33504
33505         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
33506         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
33507         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
33508         * lib/ttyname_r.c: Include <limits.h>.
33509         (ttyname_r): Define using the system's ttyname_r function, if it exists
33510         and not on Solaris.
33511         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
33512         set.
33513         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
33514         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
33515         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
33516         Reported by Simon Josefsson.
33517
33518 2010-04-25  Bruno Haible  <bruno@clisp.org>
33519
33520         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
33521         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
33522         * doc/posix-functions/ctime_r.texi: Likewise.
33523         * doc/posix-functions/getgrgid_r.texi: Likewise.
33524         * doc/posix-functions/getgrnam_r.texi: Likewise.
33525         * doc/posix-functions/getlogin_r.texi: Likewise.
33526         * doc/posix-functions/getpwnam_r.texi: Likewise.
33527         * doc/posix-functions/getpwuid_r.texi: Likewise.
33528         * doc/posix-functions/readdir_r.texi: Likewise.
33529         * doc/posix-functions/sigwait.texi: Likewise.
33530         * doc/posix-functions/ttyname_r.texi: Likewise.
33531         Reported by Simon Josefsson.
33532
33533 2010-04-25  Bruno Haible  <bruno@clisp.org>
33534
33535         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
33536         * gnulib-tool (func_usage): Document that --with-*-tests options apply
33537         also to --create-testdir.
33538         (func_acceptable): Don't consider the status of *-tests modules here.
33539         (func_modules_transitive_closure): Consider it here, before including a
33540         test module.
33541         (func_import, func_create_testdir): Set inc_all_direct_tests,
33542         inc_all_indirect_tests.
33543         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
33544         --create-testdir and --create-megatestdir.
33545
33546 2010-04-25  Bruno Haible  <bruno@clisp.org>
33547
33548         gnulib-tool: Add --without-*-tests options.
33549         * gnulib-tool (func_usage): Document the --without-*-tests options.
33550         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
33551         excl_unportable_tests): New variables.
33552         Fail if they are specified with --import or --update.
33553         (func_acceptable): Respect the excl_*_tests variables.
33554         (func_import): Set the excl_*_tests variables to empty.
33555
33556 2010-04-25  Simon Josefsson  <simon@josefsson.org>
33557             Bruno Haible  <bruno@clisp.org>
33558
33559         Work around a MacOS X 10.4 bug with openpty.
33560         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
33561         * tests/test-openpty.c (main): Close the master side explicitly.
33562
33563 2010-04-25  Bruno Haible  <bruno@clisp.org>
33564
33565         strnlen: Fix a C++ test error on MacOS X and Solaris.
33566         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
33567         the function is not declared.
33568         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
33569         Simon Josefsson.
33570
33571 2010-04-24  Bruno Haible  <bruno@clisp.org>
33572
33573         Avoid a gcc warning.
33574         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
33575         of correct type for %08lx directive.
33576         Reported by Eric Blake.
33577
33578 2010-04-24  Bruno Haible  <bruno@clisp.org>
33579
33580         vasnprintf: Correct errno value in case of out-of-memory.
33581         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
33582         or sprintf. Use the errno value from SNPRINTF or sprintf.
33583         Reported by Ian Beckwith <ianb@erislabs.net>.
33584
33585 2010-04-24  Bruno Haible  <bruno@clisp.org>
33586
33587         ansi-c++-opt: Find correct compiler when cross-compiling.
33588         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
33589         AC_CHECK_PROGS.
33590         Reported by Simon Josefsson.
33591
33592 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
33593
33594         vc-list-files: Add support for subversion
33595         * build-aux/vc-list-files: Use "svn list" to generate the list of
33596         files controlled by subversion.
33597
33598 2010-04-23  Jim Meyering  <meyering@redhat.com>
33599
33600         vc-list-files tests: convert to use init.sh
33601         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
33602         path_prepend_.
33603         Use Exit, not exit.
33604         Use skip_ rather than open coding it.
33605         Remove trap set-up and compare definitions.
33606         * tests/test-vc-list-files-git.sh: Likewise.
33607         * modules/vc-list-files-tests (Files): Add tests/init.sh.
33608
33609 2010-04-22  Simon Josefsson  <simon@josefsson.org>
33610
33611         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
33612         backup files.
33613
33614 2010-04-21  Simon Josefsson  <simon@josefsson.org>
33615
33616         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
33617
33618 2010-04-20  Eric Blake  <eblake@redhat.com>
33619
33620         tests: be robust to ignored SIGPIPE
33621         * tests/test-select-in.sh: Consume all output.
33622         * tests/test-lseek.sh: Check correct exit status, while avoiding
33623         EPIPE.
33624
33625 2010-04-20  Simon Josefsson  <simon@josefsson.org>
33626             Bruno Haible  <bruno@clisp.org>
33627
33628         visibility: Don't use -fvisibility if it leads to a warning.
33629         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
33630         yes, don't pretend that visibility works if it leads to a warning.
33631         Reported by Mike Gran <spk121@yahoo.com>.
33632
33633 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
33634
33635         * build-aux/bootstrap: Use "git -h" for testing for supported options
33636         instead of "git --help".  The short-form option only shows a summary,
33637         and doesn't layout the full man page.  Grep for the full option name
33638         in the summary, too.
33639
33640 2010-04-19  Bruno Haible  <bruno@clisp.org>
33641
33642         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
33643         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
33644         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
33645         mention of RELOCATABLE_STRIP.
33646         Reported by Sylvain Beucler <beuc@beuc.net>.
33647
33648 2010-04-19  Bruno Haible  <bruno@clisp.org>
33649
33650         * lib/diffseq.h: Fix typo in comment.
33651         Reported by Eric Blake.
33652
33653 2010-04-19  Bruno Haible  <bruno@clisp.org>
33654
33655         ioctl: Move autoconf macro to a .m4 file.
33656         * m4/ioctl.m4: New file, extracted from modules/ioctl.
33657         * modules/ioctl (Files): Add it.
33658         (configure.ac): Simply invoke gl_FUNC_IOCTL.
33659         Reported by Ian Beckwith <ianb@erislabs.net>.
33660
33661 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
33662             Bruno Haible  <bruno@clisp.org>
33663
33664         diffseq: Accommodate use-case with abstract arrays.
33665         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
33666         is not defined.
33667         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
33668         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
33669
33670 2010-04-18  Bruno Haible  <bruno@clisp.org>
33671
33672         * doc/posix-headers/stdbool.texi: More precise wording.
33673
33674 2010-04-17  Jim Meyering  <meyering@redhat.com>
33675
33676         maint.mk: use gnu-style indentation in an embedded perl script
33677         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
33678         Rename variable: s/two/last_two_bytes/
33679
33680 2010-04-16  Eric Blake  <eblake@redhat.com>
33681
33682         test-stdbool: skip test that fails with Solaris CC
33683         * tests/test-stdbool.c (f): Skip test that causes compilation
33684         error under buggy C++ compiler.
33685         * lib/stdbool.in.h: Document the limitation.
33686         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
33687
33688         setenv: allow compilation with C++
33689         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
33690         register keyword.
33691
33692         stdint: allow test to pass with C++
33693         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
33694
33695         getopt: allow compilation with C++
33696         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
33697         struct.
33698         * lib/getopt.c (_getopt_internal_r): Use correct type.
33699         Reported by Dagobert Michelson, via Joel E. Denny.
33700
33701 2010-04-16  Bruno Haible  <bruno@clisp.org>
33702
33703         Override netdb.h always.
33704         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
33705         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
33706         Reported by Ludovic Courtès <ludo@gnu.org>.
33707
33708 2010-04-15  Bruno Haible  <bruno@clisp.org>
33709
33710         openpty: Fix mistake from 2010-03-21.
33711         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
33712         Reported by Simon Josefsson.
33713
33714 2010-04-15  Eric Blake  <eblake@redhat.com>
33715
33716         test-forkpty: fix expected signature
33717         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
33718         Reported by Simon Josefsson.
33719
33720 2010-04-15  Jim Meyering  <meyering@redhat.com>
33721
33722         maint.mk: texinfo_suffix_re_: correct the default regexp
33723         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
33724
33725         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
33726         make it configurable via texinfo_suffix_re_.
33727
33728 2010-04-14  Eric Blake  <eblake@redhat.com>
33729
33730         strtok_r: relax license to LGPLv2+
33731         * modules/strtok_r (License): Relax license.
33732         Reported by Matthias Bolte.
33733
33734 2010-04-14  Simon Josefsson  <simon@josefsson.org>
33735
33736         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
33737         version 1.4.4 by default instead of requiring the libgcrypt
33738         version used during build.  This makes it possible to use the
33739         application with older but still binary compatible libgcrypt
33740         versions.
33741
33742 2010-04-13  Eric Blake  <eblake@redhat.com>
33743
33744         getopt-gnu: match recent glibc fixes and posix ruling
33745         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
33746         '+' handling, when requesting extensions.
33747         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
33748         'W;' handling.
33749         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
33750         * doc/posix-functions/getopt.texi (getopt): Document this.
33751         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
33752         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
33753         Likewise.
33754
33755         getopt: merge bug fixes from glibc
33756         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
33757         diagnostics.  Honor '+:' correctly.  Reject ';'.
33758
33759         getopt-posix: detect MacOS bug
33760         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
33761         optind when missing a required argument.
33762         * doc/posix-functions/getopt.texi (getopt): Document the bug.
33763         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
33764         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
33765         Likewise.
33766
33767         getopt-posix: avoid spurious failure on Solaris
33768         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
33769         an indicator that setting optind=1 is sufficient for reset.
33770
33771         getopt-posix: avoid spurious failure on FreeBSD
33772         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
33773         in POSIX mode, since the m4 test uses it.
33774
33775         gnulib-tool: silence warning on BSD sh
33776         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
33777
33778 2010-04-13  Jim Meyering  <meyering@redhat.com>
33779
33780         doc: users.txt: GNU patch now uses gnulib
33781         * users.txt: Add patch.
33782
33783 2010-04-12  Jim Meyering  <meyering@redhat.com>
33784
33785         maint.mk: generate more concise timing data for syntax-check rules
33786         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
33787         " done" from each line that reports a syntax-check test duration.
33788
33789 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
33790
33791         git-version-gen: use "git update-index..." rather than "git status"
33792         * build-aux/git-version-gen: Use git update-index --refresh, not
33793         "git status".  With some versions of git, "git status" would fail
33794         to update the index and result in an unwarranted "-dirty" suffix.
33795
33796 2010-04-11  Jim Meyering  <meyering@redhat.com>
33797
33798         openat: correct formatting (no semantic change)
33799         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
33800         Suggested by Bruno Haible.
33801
33802 2010-04-11  Bruno Haible  <bruno@clisp.org>
33803
33804         Stricter declaration checking in testdirs.
33805         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
33806         If for_tests is true, augment AM_CPPFLAGS to define
33807         GNULIB_STRICT_CHECKING.
33808         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
33809         GNULIB_STRICT_CHECKING is defined, verify that the function is
33810         declared.
33811
33812 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
33813             Bruno Haible  <bruno@clisp.org>
33814
33815         libunistring: Improve configure output.
33816         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
33817         Don't say "consider installing GNU libunistring" when checking again
33818         with libiconv.
33819
33820 2010-04-11  Bruno Haible  <bruno@clisp.org>
33821
33822         libunistring: Correct value of $LTLIBUNISTRING.
33823         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
33824         correct the value of $LTLIBUNISTRING.
33825
33826 2010-04-11  Bruno Haible  <bruno@clisp.org>
33827
33828         havelib: Add static libraries to LIBS in the right order.
33829         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
33830         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
33831
33832 2010-04-11  Bruno Haible  <bruno@clisp.org>
33833
33834         libunistring: Detect libunistring also when it depends on libiconv.
33835         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
33836         the second AC_LIB_HAVE_LINKFLAGS invocation.
33837
33838 2010-04-11  James Youngman  <jay@gnu.org>
33839
33840         close-stream: declare local scalars to be "const"
33841         * lib/close-stream.c (close_stream): Make boolean variables const
33842         to document the fact that we set but do not change them.
33843
33844 2010-04-11  Bruno Haible  <bruno@clisp.org>
33845
33846         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
33847
33848 2010-04-11  Jim Meyering  <meyering@redhat.com>
33849
33850         maint.mk: don't include dist-check.mk
33851         * top/maint.mk: Remove bogus include directive.
33852
33853         maint.mk: improve empty-line-at-EOF check
33854         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
33855         solution, rather than tail+Perl-based one.  The latter would read
33856         a few kilobytes from the end of each file, and did not handle empty
33857         files properly.
33858
33859         maint.mk: print the elapsed time for each syntax-check rule
33860         * top/maint.mk (sc_m_rules_): Save start time in a file.
33861         (sc_z_rules_): New rules: remove temp file and print elapsed time.
33862         (local-check): Interpose the .z rules
33863
33864 2010-04-11  Jim Meyering  <meyering@redhat.com>
33865
33866         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
33867         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
33868         empty file with one that ends in an empty line.
33869
33870 2010-04-10  Bruno Haible  <bruno@clisp.org>
33871
33872         mkdir: Make it work on mingw64.
33873         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
33874         * lib/mkdir.c: Update comment.
33875         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
33876
33877 2010-04-10  Bruno Haible  <bruno@clisp.org>
33878
33879         Don't override improved macro from newer autoconf.
33880         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
33881         autoconf >= 2.62.
33882         Reported by Joel E. Denny <jdenny@clemson.edu>.
33883
33884 2010-04-10  Jim Meyering  <meyering@redhat.com>
33885
33886         maint.mk: new syntax-check rule: prohibit empty lines at end of file
33887         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
33888
33889         maint.mk: correct a diagnostic
33890         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
33891         in diagnostic; now use $prohibit.
33892
33893 2010-04-10  Bruno Haible  <address@hidden>
33894
33895         fchownat: Fix a C++ test error on Solaris 8.
33896         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
33897         the function does not exist.
33898
33899 2010-04-10  Bruno Haible  <bruno@clisp.org>
33900
33901         vasnprintf: Add more tests.
33902         * tests/test-vasnprintf-posix.c: Include <errno.h>.
33903         (test_function): Test converting an invalid wide string.
33904
33905         vasnprintf: Correct handling of unconvertible wide string arguments.
33906         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
33907         VASNPRINTF.
33908         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
33909         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
33910         smaller than the expected maximum need for the directive. Set errno to
33911         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
33912         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
33913         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
33914         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
33915         * modules/vasnprintf (Files): Add m4/printf.m4.
33916         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
33917
33918 2010-04-10  Bruno Haible  <bruno@clisp.org>
33919
33920         vasnprintf: Fix crash in %ls directive.
33921         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
33922         string is passed as argument to %ls, with no precision and no width.
33923         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
33924
33925 2010-04-10  Bruno Haible  <bruno@clisp.org>
33926
33927         vasnprintf: Fix multiple test failures on mingw.
33928         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
33929         _snprintf, or snwprintf, not _snwprintf.
33930
33931 2010-04-10  Bruno Haible  <bruno@clisp.org>
33932
33933         write: Fix a C++ test error on mingw.
33934         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
33935
33936 2010-04-10  Bruno Haible  <bruno@clisp.org>
33937
33938         vasnprintf test: Reduce code duplication.
33939         * tests/test-vasnprintf.c (test_function): New function, extracted from
33940         test_vasnprintf.
33941         (test_vasnprintf, test_asnprintf): Invoke it.
33942
33943 2010-04-10  Bruno Haible  <bruno@clisp.org>
33944
33945         strnlen: Fix warning in C++ mode on MacOS X.
33946         * lib/string.in.h (strnlen): Use the modern idiom.
33947         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
33948         defining strnlen as a macro already in <config.h>.
33949         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
33950         REPLACE_STRNLEN.
33951         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
33952         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
33953
33954 2010-04-08  James Youngman  <jay@gnu.org>
33955
33956         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
33957         the example.
33958
33959 2010-04-09  Jim Meyering  <meyering@redhat.com>
33960
33961         maint.mk: print better diagnostic when there is no $(_hv_file)
33962         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
33963         announce that when $(_hv_file) (aka help-version) does not exist.
33964
33965         init.sh: run tr in the "C" locale to avoid multibyte interpretation
33966         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
33967         not try to interpret its random input bytes.  Jarno Rajahalme reported
33968         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
33969         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
33970         (mktempd_): Likewise, just in case.
33971
33972         ftruncate: add two years to projected module removal date: 2012
33973         * m4/ftruncate.m4: Adjust comments.
33974
33975         ftruncate: mark module as obsolete; even MinGW provides it, now
33976         * modules/ftruncate (Status): Obsolete.
33977         (Notice): Say that.
33978         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
33979         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
33980
33981 2010-04-08  Bruno Haible  <bruno@clisp.org>
33982
33983         Fix side effects from tests-related modules.
33984         * modules/dprintf-posix (Comment): New section.
33985         * modules/fprintf-posix (Comment): Likewise.
33986         * modules/obstack-printf-posix (Comment): Likewise.
33987         * modules/printf-posix (Comment): Likewise.
33988         * modules/snprintf-posix (Comment): Likewise.
33989         * modules/sprintf-posix (Comment): Likewise.
33990         * modules/vasnprintf-posix (Comment): Likewise.
33991         * modules/vasprintf-posix (Comment): Likewise.
33992         * modules/vdprintf-posix (Comment): Likewise.
33993         * modules/vfprintf-posix (Comment): Likewise.
33994         * modules/vprintf-posix (Comment): Likewise.
33995         * modules/vsnprintf-posix (Comment): Likewise.
33996         * modules/vsprintf-posix (Comment): Likewise.
33997         * modules/xprintf-posix (Comment): Likewise.
33998         * modules/xvasprintf-posix (Comment): Likewise.
33999         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
34000         * modules/floorf-tests (Depends-on): Likewise.
34001         * modules/round-tests (Depends-on): Likewise.
34002         * modules/roundf-tests (Depends-on): Likewise.
34003         * modules/trunc-tests (Depends-on): Likewise.
34004         * modules/truncf-tests (Depends-on): Likewise.
34005         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
34006         'fprintf-posix' module is not present.
34007         * tests/test-floorf2.c (check): Likewise.
34008         * tests/test-trunc2.c (check): Likewise.
34009         * tests/test-truncf2.c (check): Likewise.
34010         * tests/test-round2.c (equal): Likewise.
34011         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
34012
34013 2010-04-07  Karl Berry  <karl@gnu.org>
34014
34015         * config/srclist.txt,
34016         * config/srclistvars.sh,
34017         * config/srclist-update: doc fixes.
34018
34019 2010-04-07  Jim Meyering  <meyering@redhat.com>
34020
34021         maint.mk: add a PATH crosschecking syntax-check rule
34022         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
34023         Useful if you use a test like the one in help-version (coreutils,
34024         diffutils, grep, gzip) that ensures $(VERSION) matches what is
34025         printed by prog --version.
34026
34027 2010-04-06  Bruno Haible  <bruno@clisp.org>
34028
34029         Fix link error on mingw.
34030         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
34031         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
34032
34033 2010-04-06  Bruno Haible  <bruno@clisp.org>
34034
34035         Assume rmdir exists.
34036         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
34037
34038 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
34039
34040         doc: update users.txt
34041         * users.txt: Add gcal.
34042
34043 2010-04-06  Jim Meyering  <meyering@redhat.com>
34044
34045         init.sh: simply unset TMPDIR rather than risking env -i
34046         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
34047         although it probably works fine on all Unix-based systems, some
34048         systems (Cygwin?) cannot tolerate a totally cleared environment.
34049         Suggestion from Eric Blake.
34050
34051 2010-04-06  Jim Meyering  <meyering@redhat.com>
34052
34053         init.sh: portability fix: use env's POSIX-specified -i option not -u
34054         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
34055         than unportable env -u.  Solaris 5.11's env lacks support for -u.
34056
34057 2010-04-05  Bruno Haible  <bruno@clisp.org>
34058
34059         btowc: Work around Cygwin 1.7.2 bug.
34060         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
34061         does not map NUL to 0.
34062         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
34063
34064 2010-04-05  Bruno Haible  <bruno@clisp.org>
34065
34066         Make the multithread modules work on Cygwin 1.7.2.
34067         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
34068         imported symbols can be declared weak, so that it returns "no" on
34069         Cygwin 1.7.2.
34070
34071 2010-04-05  Bruno Haible  <bruno@clisp.org>
34072
34073         Use the module 'strncat'.
34074         * modules/unistr/u8-strncat (Depends-on): Add strncat.
34075
34076         Tests for module 'strncat'.
34077         * modules/strncat-tests: New file.
34078         * tests/test-strncat.c: New file.
34079
34080         New module 'strncat'.
34081         * lib/string.in.h (strncat): New declaration.
34082         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
34083         * m4/strncat.m4: New file, based on m4/memchr.m4.
34084         * modules/strncat: New file.
34085         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
34086         is declared.
34087         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
34088         REPLACE_STRNCAT.
34089         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
34090         REPLACE_STRNCAT.
34091         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
34092         module.
34093         * tests/test-string-c++.cc: Check signature of strncat.
34094
34095 2010-04-05  Jim Meyering  <meyering@redhat.com>
34096
34097         xstrtoumax-tests: convert to use init.sh
34098         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
34099         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
34100         Use Exit, not exit.
34101         Remove uses of $EXEEXT and "./" to run a program in the current dir.
34102
34103         xstrtoimax-tests: convert to use init.sh
34104         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
34105         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
34106         Use Exit, not exit.
34107         Remove uses of $EXEEXT and "./" to run a program in the current dir.
34108
34109 2010-04-05  Bruno Haible  <bruno@clisp.org>
34110
34111         sys_socket: Avoid #define replacements in C++ mode.
34112         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
34113         warning to the function if possible, rather than #defining the symbol
34114         to a dysfunctional alias.
34115
34116 2010-04-05  Bruno Haible  <bruno@clisp.org>
34117
34118         fseeko: Fix C++ test error on mingw.
34119         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
34120         gl_FUNC_FSEEKO.
34121         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
34122         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
34123         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
34124         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
34125
34126 2010-04-05  Bruno Haible  <bruno@clisp.org>
34127
34128         duplocale: Improve test output.
34129         * tests/test-duplocale.c (main): Print reason for skipped test.
34130
34131 2010-04-05  Bruno Haible  <bruno@clisp.org>
34132
34133         Assume rmdir exists.
34134         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
34135         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
34136
34137 2010-04-05  Bruno Haible  <bruno@clisp.org>
34138
34139         Fix link error on Solaris 8 with cc.
34140         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
34141
34142 2010-04-05  Bruno Haible  <bruno@clisp.org>
34143
34144         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
34145         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
34146
34147 2010-04-05  Bruno Haible  <bruno@clisp.org>
34148
34149         vasprintf: Update documentation.
34150         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
34151
34152 2010-04-05  Bruno Haible  <bruno@clisp.org>
34153
34154         ptsname: Improve test.
34155         * tests/test-ptsname.c (main): Also try the various master names of BSD
34156         systems.
34157
34158 2010-04-05  Bruno Haible  <bruno@clisp.org>
34159
34160         memchr: Avoid a possible C++ test error.
34161         * lib/string.in.h (memchr): Provide declaration if function is missing.
34162         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
34163         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
34164         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
34165         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
34166
34167 2010-04-05  Bruno Haible  <bruno@clisp.org>
34168
34169         strtok_r: Improve idiom.
34170         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
34171         AC_LIBOBJ is used.
34172
34173 2010-04-05  Bruno Haible  <bruno@clisp.org>
34174
34175         strdup: Improve idiom.
34176         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
34177         AC_LIBOBJ is used.
34178         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
34179         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
34180         when AC_LIBOBJ is used.
34181
34182 2010-04-05  Bruno Haible  <bruno@clisp.org>
34183
34184         mbsinit, mbrtowc, wcrtomb: Improve idioms.
34185         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
34186         don't set REPLACE_MBSINIT to 1.
34187         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
34188         don't set REPLACE_MBRTOWC to 1.
34189         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
34190         exist, don't set REPLACE_MBSRTOWCS to 1.
34191         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
34192         exist, don't set REPLACE_MBSNRTOWCS to 1.
34193         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
34194         don't set REPLACE_WCRTOMB to 1.
34195         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
34196         exist, don't set REPLACE_WCSRTOMBS to 1.
34197         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
34198         exist, don't set REPLACE_WCSNRTOMBS to 1.
34199
34200 2010-04-05  Bruno Haible  <bruno@clisp.org>
34201
34202         ldexpl: Improve idiom.
34203         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
34204         make sure to set HAVE_DECL_LDEXPL to 0.
34205
34206 2010-04-05  Jim Meyering  <meyering@redhat.com>
34207
34208         xstrtol-tests: convert to use init.sh
34209         * modules/xstrtol-tests (Files): Add tests/init.sh.
34210         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
34211         Use Exit, not exit.
34212         Remove uses of $EXEEXT and "./" to run a program in the current dir.
34213
34214         atexit-tests: convert to use init.sh
34215         * modules/atexit-tests (Files): Add tests/init.sh.
34216         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
34217         Use Exit, not exit.
34218         Remove uses of $EXEEXT and "./" to run a program in the current dir.
34219
34220         init.sh: fix typo
34221         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
34222
34223         init.sh: make it easier for a test script to write to the tty, ...
34224         when using automake's parallel-tests mode.
34225         * tests/init.sh (stderr_fileno_): Define overridable variable.
34226         (warn_): New function, to use it.
34227         (fail_, skip_, framework_failure_): Use warn_.
34228
34229 2010-04-04  Bruno Haible  <bruno@clisp.org>
34230
34231         btowc: Avoid warning.
34232         * lib/btowc.c: Include <stdlib.h>.
34233         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
34234
34235 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
34236             Bruno Haible  <bruno@clisp.org>
34237
34238         wchar: Port to NetBSD 1.5.
34239         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
34240         * lib/wctype.in.h (WEOF): Likewise.
34241
34242 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
34243             Bruno Haible  <bruno@clisp.org>
34244
34245         Port extended stdio to NetBSD 1.5.
34246         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
34247         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
34248         older.
34249
34250 2010-04-04  Bruno Haible  <bruno@clisp.org>
34251
34252         string: Remove unused substitution.
34253         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
34254         HAVE_DECL_STRERROR.
34255         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
34256
34257 2010-04-04  Bruno Haible  <bruno@clisp.org>
34258
34259         strtod: Avoid a possible C++ test error.
34260         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
34261         set REPLACE_STRTOD.
34262
34263 2010-04-04  Bruno Haible  <bruno@clisp.org>
34264
34265         strerror: Update documentation.
34266         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
34267
34268 2010-04-04  Bruno Haible  <bruno@clisp.org>
34269
34270         stdio: Fix some C++ test errors on Solaris 8 with GCC.
34271         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
34272         _GL_CXXALIAS_SYS_CAST.
34273
34274 2010-04-04  Bruno Haible  <bruno@clisp.org>
34275
34276         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
34277         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
34278         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
34279         REPLACE_FREXPL to 1.
34280         * doc/posix-functions/frexpl.texi: Update documentation.
34281
34282 2010-04-04  Bruno Haible  <bruno@clisp.org>
34283
34284         math: Fix some C++ test errors on Solaris 8 and Cygwin.
34285         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
34286
34287 2010-04-04  Bruno Haible  <bruno@clisp.org>
34288
34289         Implement nanosleep for native Windows.
34290         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
34291
34292 2010-04-04  Bruno Haible  <bruno@clisp.org>
34293
34294         math: Fix some C++ test errors on Solaris 8.
34295         * lib/math.in.h (truncf, trunc): Use simpler idiom.
34296
34297 2010-04-04  Bruno Haible  <bruno@clisp.org>
34298
34299         math: Fix some C++ test errors on Cygwin.
34300         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
34301         truncl): Provide declaration if the system does not have it.
34302         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
34303         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
34304         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
34305         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
34306         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
34307         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
34308         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
34309         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
34310         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
34311         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
34312         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
34313         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
34314         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
34315         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
34316         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
34317         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
34318         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
34319         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
34320         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
34321         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
34322         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
34323         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
34324
34325 2010-04-04  Bruno Haible  <bruno@clisp.org>
34326
34327         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
34328         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
34329         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
34330         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
34331         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
34332         * m4/isinf.m4 (gl_ISINF): Likewise.
34333         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
34334
34335 2010-04-04  Bruno Haible  <bruno@clisp.org>
34336
34337         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
34338         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
34339
34340 2010-04-04  Bruno Haible  <bruno@clisp.org>
34341
34342         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
34343         * modules/tmpfile (configure.ac): Update.
34344
34345         tmpfile: Fix C++ test error on mingw.
34346         * lib/stdio.in.h (tmpfile): New declaration.
34347         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
34348         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
34349         * modules/tmpfile (Depends-on): Add stdio.
34350         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
34351         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
34352         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
34353         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
34354         REPLACE_TMPFILE.
34355         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
34356
34357 2010-04-04  Bruno Haible  <bruno@clisp.org>
34358
34359         ioctl: Fix C++ test error on mingw.
34360         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
34361         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
34362         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
34363
34364 2010-04-03  Bruno Haible  <bruno@clisp.org>
34365
34366         wcwidth: Fix C++ test error on mingw.
34367         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
34368         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
34369         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
34370
34371 2010-04-03  Bruno Haible  <bruno@clisp.org>
34372
34373         nanosleep: Fix C++ test error on mingw.
34374         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
34375         * lib/time.in.h (nanosleep): Use modern idiom.
34376         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
34377         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
34378         REPLACE_NANOSLEEP to 1.
34379         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
34380         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
34381
34382 2010-04-03  Bruno Haible  <bruno@clisp.org>
34383
34384         strptime: Fix C++ test error on mingw.
34385         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
34386         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
34387         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
34388         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
34389         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
34390         not REPLACE_STRPTIME.
34391         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
34392         REPLACE_STRPTIME.
34393
34394 2010-04-03  Bruno Haible  <bruno@clisp.org>
34395
34396         timegm: Fix C++ test error on mingw.
34397         * lib/time.in.h (timegm): Use modern idiom.
34398         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
34399         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
34400         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
34401         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
34402
34403 2010-04-03  Bruno Haible  <bruno@clisp.org>
34404
34405         timegm: Assume declaration if function exists.
34406         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
34407         if it exists. Don't clobber ac_cv_func_timegm.
34408
34409 2010-04-03  Bruno Haible  <bruno@clisp.org>
34410
34411         time_r: Fix C++ test error on mingw.
34412         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
34413         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
34414         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
34415         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
34416         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
34417
34418 2010-04-03  Bruno Haible  <bruno@clisp.org>
34419
34420         time_r: Minor updates.
34421         * modules/time_r (Description): Mention the provided functions.
34422         * lib/time_r.c: Don't include <string.h>.
34423         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
34424         * doc/posix-functions/localtime_r.texi: Likewise.
34425
34426 2010-04-03  Bruno Haible  <bruno@clisp.org>
34427
34428         time: Fix regression introduced on 2010-03-08.
34429         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
34430         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
34431
34432 2010-04-03  Jim Meyering  <meyering@redhat.com>
34433
34434         maint.mk: don't silently disable project-specific syntax-check rules
34435         * top/maint.mk (_prohibit_regexp): Define, to help people realize
34436         that they need to convert their project-specific syntax-check rules
34437         to use the new _sc_search_regexp.
34438
34439 2010-04-03  Bruno Haible  <bruno@clisp.org>
34440
34441         fchdir: Fix regression introduced on 2010-03-08.
34442         * lib/unistd.in.h (fchdir): Fix declaration.
34443         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
34444         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
34445         REPLACE_FCHDIR.
34446         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
34447         REPLACE_FCHDIR.
34448
34449 2010-04-03  Bruno Haible  <bruno@clisp.org>
34450
34451         getpagesize: Fix C++ test error on mingw.
34452         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
34453         system does not declare the function.
34454         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
34455         declared.
34456         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
34457         HAVE_DECL_GETPAGESIZE.
34458         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
34459
34460 2010-04-03  Bruno Haible  <bruno@clisp.org>
34461
34462         stdio: Make C++ tests work on mingw.
34463         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
34464         does not declare the function.
34465
34466 2010-04-03  Bruno Haible  <bruno@clisp.org>
34467
34468         ftello: Fix C++ test error on mingw.
34469         * lib/stdio.in.h (ftello): Use modern idiom.
34470         * lib/ftello.c (ftello): Renamed from rpl_ftello.
34471         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
34472         is missing and that it needs to be replaced.
34473         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
34474         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
34475         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
34476
34477 2010-04-03  Bruno Haible  <bruno@clisp.org>
34478
34479         fseeko: Fix C++ test error on mingw.
34480         * lib/stdio.in.h (fseeko): Use modern idiom.
34481         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
34482         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
34483         is missing and that it needs to be replaced.
34484         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
34485         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
34486         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
34487
34488 2010-04-03  Bruno Haible  <bruno@clisp.org>
34489
34490         mkstemp: Fix C++ test error on mingw.
34491         * lib/stdlib.in.h (mkstemp): Use modern idiom.
34492         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
34493         function is missing and that it needs to be replaced.
34494         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
34495         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
34496
34497 2010-04-03  Bruno Haible  <bruno@clisp.org>
34498
34499         stpncpy: Fix C++ test error on mingw.
34500         * lib/string.in.h (stpncpy): Use modern idiom.
34501         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
34502         function is missing and that it needs to be replaced.
34503         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
34504         REPLACE_STPNCPY.
34505         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
34506
34507 2010-04-03  Bruno Haible  <bruno@clisp.org>
34508
34509         sys_stat: Fix C++ test error on mingw.
34510         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
34511         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
34512
34513 2010-04-03  Bruno Haible  <bruno@clisp.org>
34514
34515         pty: Update doc.
34516         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
34517
34518 2010-04-03  Bruno Haible  <bruno@clisp.org>
34519
34520         unistd: Fix C++ test error on mingw.
34521         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
34522
34523 2010-04-03  Bruno Haible  <bruno@clisp.org>
34524
34525         Update doc regarding mingw.
34526         * doc/glibc-functions/openpty.texi: Update regarding mingw.
34527         * doc/glibc-functions/login_tty.texi: Likewise.
34528         * doc/glibc-functions/forkpty.texi: Likewise.
34529
34530 2010-04-03  Bruno Haible  <bruno@clisp.org>
34531
34532         stdlib: Avoid compilation failure of c-strtold on mingw.
34533         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
34534
34535 2010-04-03  Bruno Haible  <bruno@clisp.org>
34536
34537         locale: Make C++ tests work on Cygwin and mingw.
34538         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
34539         cannot provide the function.
34540         Reported by Simon Josefsson.
34541
34542 2010-04-03  Bruno Haible  <bruno@clisp.org>
34543
34544         localename: Port to MacOS X 10.6.
34545         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
34546         memory layout of the locales in MacOS X 10.6 as well.
34547         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
34548
34549 2010-04-02  Bruno Haible  <bruno@clisp.org>
34550
34551         gnulib-tool: Ensure that long-running tests are executed last.
34552         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
34553         running tests after the one for the other tests.
34554
34555 2010-04-02  Bruno Haible  <bruno@clisp.org>
34556
34557         gnulib-tool: Ensure the tests in the main directory are executed first.
34558         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
34559         start with the current directory.
34560
34561 2010-04-02  Bruno Haible  <bruno@clisp.org>
34562
34563         Tests for module 'havelib', moved here from GNU gettext.
34564         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
34565         modifications.
34566         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
34567         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
34568         with modifications.
34569         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
34570         modifications.
34571         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
34572         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
34573         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
34574         with modifications.
34575         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
34576         with modifications.
34577         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
34578         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
34579         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
34580         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
34581         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
34582         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
34583         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
34584         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
34585         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
34586         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
34587         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
34588         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
34589         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
34590         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
34591         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
34592         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
34593         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
34594         with modifications.
34595         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
34596         with modifications.
34597         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
34598         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
34599         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
34600         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
34601         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
34602         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
34603         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
34604         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
34605         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
34606         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
34607         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
34608         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
34609         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
34610         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
34611         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
34612         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
34613         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
34614         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
34615         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
34616         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
34617         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
34618         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
34619         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
34620         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
34621         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
34622         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
34623         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
34624         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
34625         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
34626         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
34627         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
34628         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
34629         * tests/havelib/rpathx/rpathx.c: New file, from
34630         gettext/autoconf-lib-link.
34631         * tests/havelib/rpathx/Makefile.am: New file, from
34632         gettext/autoconf-lib-link.
34633         * tests/havelib/rpathx/configure.ac: New file, from
34634         gettext/autoconf-lib-link with modifications.
34635         * tests/havelib/rpathy/rpathy.c: New file, from
34636         gettext/autoconf-lib-link.
34637         * tests/havelib/rpathy/Makefile.am: New file, from
34638         gettext/autoconf-lib-link.
34639         * tests/havelib/rpathy/configure.ac: New file, from
34640         gettext/autoconf-lib-link with modifications.
34641         * tests/havelib/rpathz/rpathz.c: New file, from
34642         gettext/autoconf-lib-link.
34643         * tests/havelib/rpathz/Makefile.am: New file, from
34644         gettext/autoconf-lib-link.
34645         * tests/havelib/rpathz/configure.ac: New file, from
34646         gettext/autoconf-lib-link with modifications.
34647         * tests/havelib/rpathlx/usex.c: New file, from
34648         gettext/autoconf-lib-link.
34649         * tests/havelib/rpathlx/Makefile.am: New file, from
34650         gettext/autoconf-lib-link.
34651         * tests/havelib/rpathlx/configure.ac: New file, from
34652         gettext/autoconf-lib-link with modifications.
34653         * tests/havelib/rpathly/usey.c: New file, from
34654         gettext/autoconf-lib-link.
34655         * tests/havelib/rpathly/Makefile.am: New file, from
34656         gettext/autoconf-lib-link.
34657         * tests/havelib/rpathly/configure.ac: New file, from
34658         gettext/autoconf-lib-link with modifications.
34659         * tests/havelib/rpathlz/usez.c: New file, from
34660         gettext/autoconf-lib-link.
34661         * tests/havelib/rpathlz/Makefile.am: New file, from
34662         gettext/autoconf-lib-link.
34663         * tests/havelib/rpathlz/configure.ac: New file, from
34664         gettext/autoconf-lib-link with modifications.
34665         * tests/havelib/rpathlyx/usey.c: New file, from
34666         gettext/autoconf-lib-link.
34667         * tests/havelib/rpathlyx/Makefile.am: New file, from
34668         gettext/autoconf-lib-link.
34669         * tests/havelib/rpathlyx/configure.ac: New file, from
34670         gettext/autoconf-lib-link with modifications.
34671         * tests/havelib/rpathlzyx/usez.c: New file, from
34672         gettext/autoconf-lib-link.
34673         * tests/havelib/rpathlzyx/Makefile.am: New file, from
34674         gettext/autoconf-lib-link.
34675         * tests/havelib/rpathlzyx/configure.ac: New file, from
34676         gettext/autoconf-lib-link with modifications.
34677         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
34678         with modifications.
34679
34680 2010-04-02  Bruno Haible  <bruno@clisp.org>
34681
34682         gnulib-tool: Create distributed built sources also for the tests.
34683         * gnulib-tool (func_create_testdir): Also generate distributed built
34684         sources in the tests directory.
34685
34686 2010-04-02  Bruno Haible  <bruno@clisp.org>
34687
34688         gnulib-tool: Obey user's environment variables.
34689         * gnulib-tool (func_create_testdir): When creating built sources,
34690         respect the environment variables for autoconf, automake, etc. given by
34691         the user.
34692
34693 2010-04-02  Bruno Haible  <bruno@clisp.org>
34694
34695         gnulib-tool: Provide the value of --m4-base to modules.
34696         * gnulib-tool (func_import, func_create_testdir): Emit a definition
34697         of gl_m4_base.
34698
34699 2010-04-02  Eric Blake  <eblake@redhat.com>
34700
34701         maint.mk: fix some fallout
34702         * NEWS: Document the incompatible change, and its effect on cfg.mk.
34703         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
34704
34705 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
34706
34707         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
34708         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
34709         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
34710         (sc_cast_of_x_alloc_return_value): Likewise.
34711         (sc_cast_of_alloca_return_value): Likewise.
34712         (sc_space_tab): Likewise.
34713         (sc_prohibit_atoi_atof): Likewise.
34714         (sc_prohibit_magic_number_exit): Likewise.
34715         (sc_error_exit_success): Likewise.
34716         (sc_file_system): Likewise.
34717         (sc_prohibit_have_config_h): Likewise.
34718         (sc_require_config_h): Likewise.
34719         (sc_prohibit_HAVE_MBRTOWC): Likewise.
34720         (sc_obsolete_symbols): Likewise.
34721         (sc_changelog): Likewise.
34722         (sc_program_name): Likewise.
34723         (sc_the_the): Likewise.
34724         (sc_trailing_blank): Likewise.
34725         (sc_two_space_separator_in_usage): Likewise.
34726         (sc_useless_cpp_parens): Likewise.
34727         (sc_GPL_version): Likewise.
34728         (sc_GFDL_version): Likewise.
34729         (sc_texinfo_acronym): Likewise.
34730         (sc_prohibit_cvs_keyword): Likewise.
34731         (sc_prohibit_stat_st_blocks): Likewise.
34732         (sc_prohibit_S_IS_definition): Likewise.
34733         (sc_redundant_const): Likewise.
34734         (sc_makefile_TAB_only_indentation): Likewise.
34735         (sc_m4_quote_check): Likewise.
34736         (sc_makefile_path_separator_check): Likewise.
34737         (sc_copyright_check): Likewise.
34738         (sc_Wundef_boolean): Likewise.
34739         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
34740
34741         maint.mk: match 0 or more whitespace-before-function-call '('
34742         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
34743         that have zero or two-and-more spaces between the function name
34744         and the open parenthesis.
34745         (sc_error_message_warn_fatal): Likewise.
34746         (sc_error_message_uppercase): Likewise.
34747         (sc_error_message_period): Likewise.
34748
34749 2010-03-31  Eric Blake  <eblake@redhat.com>
34750
34751         maint.mk: check for [ as well as test
34752         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
34753         Based on a libvirt report by Matthias Bolte.
34754
34755         gnumakefile: don't squelch _version output
34756         * top/GNUmakefile (_version): Create one-shot dependency rather
34757         than using $(shell) when version must be regenerated.
34758         (_autoreconf): Run verbosely, by default.
34759
34760         sys_time: avoid compiler warnings
34761         * lib/sys_time.in.h (includes): Ensure gcc pragma is
34762         unconditional, fixing regression from 2010-03-29.
34763         Reported by Simon Josefsson.
34764
34765 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
34766
34767         maint.mk: s/_header_without_use/_sc_header_without_use/
34768         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
34769         (sc_prohibit_assert_without_use): Use the new name.
34770         (sc_prohibit_close_stream_without_use): Likewise.
34771         (sc_prohibit_getopt_without_use): Likewise.
34772         (sc_prohibit_quotearg_without_use): Likewise.
34773         (sc_prohibit_quote_without_use): Likewise.
34774         (sc_prohibit_long_options_without_use): Likewise.
34775         (sc_prohibit_inttostr_without_use): Likewise.
34776         (sc_prohibit_ignore_value_without_use): Likewise.
34777         (sc_prohibit_error_without_use): Likewise.
34778         (sc_prohibit_xalloc_without_use): Likewise.
34779         (sc_prohibit_hash_without_use): Likewise.
34780         (sc_prohibit_hash_pjw_without_use): Likewise.
34781         (sc_prohibit_safe_read_without_use): Likewise.
34782         (sc_prohibit_argmatch_without_use): Likewise.
34783         (sc_prohibit_canonicalize_without_use): Likewise.
34784         (sc_prohibit_root_dev_ino_without_use): Likewise.
34785         (sc_prohibit_openat_without_use): Likewise.
34786         (sc_prohibit_c_ctype_without_use): Likewise.
34787         (sc_prohibit_signal_without_use): Likewise.
34788         (sc_prohibit_intprops_without_use): Likewise.
34789
34790 2010-03-30  Eric Blake  <eblake@redhat.com>
34791
34792         maint: improve module indicators
34793         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
34794         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
34795         columns, and avoid extra macro expansion.
34796
34797         fdopendir: work around FreeBSD bug
34798         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
34799         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
34800         * modules/dirent (Makefile.am): Substitute it.
34801         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
34802         declaration.
34803         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
34804         fix.
34805         Reported by Christian Weisgerber <naddy@mips.inka.de>.
34806
34807 2010-03-29  Bruno Haible  <bruno@clisp.org>
34808
34809         Emit #pragma system_header after the inclusion guard, not before.
34810         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
34811         guard that spans the entire file, not before. This enables an
34812         optimization in GCC's preprocessor.
34813         * lib/ctype.in.h: Likewise.
34814         * lib/dirent.in.h: Likewise.
34815         * lib/errno.in.h: Likewise.
34816         * lib/float.in.h: Likewise.
34817         * lib/getopt.in.h: Likewise.
34818         * lib/iconv.in.h: Likewise.
34819         * lib/langinfo.in.h: Likewise.
34820         * lib/locale.in.h: Likewise.
34821         * lib/math.in.h: Likewise.
34822         * lib/netdb.in.h: Likewise.
34823         * lib/netinet_in.in.h: Likewise.
34824         * lib/pty.in.h: Likewise.
34825         * lib/sched.in.h: Likewise.
34826         * lib/se-selinux.in.h: Likewise.
34827         * lib/search.in.h: Likewise.
34828         * lib/spawn.in.h: Likewise.
34829         * lib/stdarg.in.h: Likewise.
34830         * lib/stdint.in.h: Likewise.
34831         * lib/string.in.h: Likewise.
34832         * lib/strings.in.h: Likewise.
34833         * lib/sys_file.in.h: Likewise.
34834         * lib/sys_ioctl.in.h: Likewise.
34835         * lib/sys_time.in.h: Likewise.
34836         * lib/sys_times.in.h: Likewise.
34837         * lib/sys_utsname.in.h: Likewise.
34838         * lib/sys_wait.in.h: Likewise.
34839         * lib/sysexits.in.h: Likewise.
34840         * lib/wctype.in.h: Likewise.
34841
34842 2010-03-28  James Youngman  <jay@gnu.org>
34843
34844         save-cwd: don't leak a file descriptor when the caller execs.
34845         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
34846         saved file descriptor.
34847         * modules/save-cwd (Depends-on): Depend on cloexec.
34848
34849 2010-03-29  Bruno Haible  <bruno@clisp.org>
34850
34851         Remove vestiges of fts-lgpl module.
34852         * lib/fts_.h: Assume GNULIB_FTS is 1.
34853         * lib/fts.c: Likewise.
34854         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
34855
34856 2010-03-28  Bruno Haible  <bruno@clisp.org>
34857
34858         Fix definition of tests witness macro.
34859         * gnulib-tool (func_import): Fix definition of witness macro.
34860
34861 2010-03-28  Bruno Haible  <bruno@clisp.org>
34862
34863         Fix ioctl's protoype on glibc systems.
34864         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
34865         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
34866         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
34867         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
34868         signature. If not, arrange to replace the ioctl function.
34869         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
34870         REPLACE_IOCTL.
34871         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
34872         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
34873         Reported by Ludovic Courtès <ludo@gnu.org>.
34874
34875 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
34876
34877         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
34878         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
34879         made it so grep -r --include=GLOB* ... did not work.
34880
34881 2010-03-26  Jim Meyering  <meyering@redhat.com>
34882             Eric Blake  <eblake@redhat.com>
34883
34884         maint.mk: prohibit use of test's -o and -a operators
34885         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
34886
34887 2010-03-28  Bruno Haible  <bruno@clisp.org>
34888
34889         Remove unused GNULIB_XYZ macro definitions.
34890         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
34891         invocation.
34892
34893 2010-03-28  Bruno Haible  <bruno@clisp.org>
34894
34895         Mark privileged tests modules.
34896         * modules/idpriv-drop-tests (Status): New section.
34897         * modules/idpriv-droptemp-tests (Status): New section.
34898
34899 2010-03-28  Bruno Haible  <bruno@clisp.org>
34900
34901         Split C++ tests into separate tests modules.
34902         * modules/dirent-c++-tests: New file, extracted from
34903         modules/dirent-tests.
34904         * modules/dirent-tests: Depend on it.
34905         * modules/fcntl-h-c++-tests: New file, extracted from
34906         modules/fcntl-h-tests.
34907         * modules/fcntl-h-tests: Depend on it.
34908         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
34909         * modules/glob-tests: Depend on it.
34910         * modules/iconv-h-c++-tests: New file, extracted from
34911         modules/iconv-h-tests.
34912         * modules/iconv-h-tests: Depend on it.
34913         * modules/langinfo-c++-tests: New file, extracted from
34914         modules/langinfo-tests.
34915         * modules/langinfo-tests: Depend on it.
34916         * modules/locale-c++-tests: New file, extracted from
34917         modules/locale-tests.
34918         * modules/locale-tests: Depend on it.
34919         * modules/math-c++-tests: New file, extracted from modules/math-tests.
34920         * modules/math-tests: Depend on it.
34921         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
34922         * modules/pty-tests: Depend on it.
34923         * modules/search-c++-tests: New file, extracted from
34924         modules/search-tests.
34925         * modules/search-tests: Depend on it.
34926         * modules/signal-c++-tests: New file, extracted from
34927         modules/signal-tests.
34928         * modules/signal-tests: Depend on it.
34929         * modules/spawn-c++-tests: New file, extracted from
34930         modules/spawn-tests.
34931         * modules/spawn-tests: Depend on it.
34932         * modules/stdio-c++-tests: New file, extracted from
34933         modules/stdio-tests.
34934         * modules/stdio-tests: Depend on it.
34935         * modules/stdlib-c++-tests: New file, extracted from
34936         modules/stdlib-tests.
34937         * modules/stdlib-tests: Depend on it.
34938         * modules/string-c++-tests: New file, extracted from
34939         modules/string-tests.
34940         * modules/string-tests: Depend on it.
34941         * modules/sys_ioctl-c++-tests: New file, extracted from
34942         modules/sys_ioctl-tests.
34943         * modules/sys_ioctl-tests: Depend on it.
34944         * modules/sys_select-c++-tests: New file, extracted from
34945         modules/sys_select-tests.
34946         * modules/sys_select-tests: Depend on it.
34947         * modules/sys_socket-c++-tests: New file, extracted from
34948         modules/sys_socket-tests.
34949         * modules/sys_socket-tests: Depend on it.
34950         * modules/sys_stat-c++-tests: New file, extracted from
34951         modules/sys_stat-tests.
34952         * modules/sys_stat-tests: Depend on it.
34953         * modules/sys_time-c++-tests: New file, extracted from
34954         modules/sys_time-tests.
34955         * modules/sys_time-tests: Depend on it.
34956         * modules/time-c++-tests: New file, extracted from modules/time-tests.
34957         * modules/time-tests: Depend on it.
34958         * modules/unistd-c++-tests: New file, extracted from
34959         modules/unistd-tests.
34960         * modules/unistd-tests: Depend on it.
34961         * modules/wchar-c++-tests: New file, extracted from
34962         modules/wchar-tests.
34963         * modules/wchar-tests: Depend on it.
34964         * modules/wctype-c++-tests: New file, extracted from
34965         modules/wctype-tests.
34966         * modules/wctype-tests: Depend on it.
34967         Reported by Simon Josefsson.
34968
34969 2010-03-28  Bruno Haible  <bruno@clisp.org>
34970
34971         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
34972         * gnulib-tool (func_exists_module): New function, extracted from
34973         func_verify_module.
34974         (func_verify_module): Use it.
34975         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
34976         'foo' only if 'foo' exists.
34977         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
34978         module.
34979
34980 2010-03-28  Bruno Haible  <bruno@clisp.org>
34981
34982         gnulib-tool: Add support for special categories of tests.
34983         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
34984         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
34985         (func_usage): Document them.
34986         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
34987         inc_unportable_tests, inc_all_tests): New variables.
34988         (func_acceptable): Consider these variables.
34989         (func_modules_transitive_closure): Make it work when the 'Status' field
34990         consists of multiple words.
34991         (func_import): Store and restore the values of inc_cxx_tests,
34992         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
34993         inc_all_tests in gnulib-comp.m4.
34994         (func_create_testdir): Set inc_all_tests to true.
34995         * doc/gnulib.texi (Extra tests modules): New section.
34996         Suggested by Jim Meyering.
34997
34998 2010-03-28  Bruno Haible  <bruno@clisp.org>
34999
35000         ansi-c++-opt: Allow turning off the C++ build by default.
35001         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
35002         gl_CXX_CHOICE_DEFAULT_NO is defined.
35003         Requested by Eric Blake.
35004
35005 2010-03-28  Bruno Haible  <bruno@clisp.org>
35006
35007         unistd: Avoid #define replacements in C++ mode.
35008         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
35009         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
35010         setsockopt, shutdown, select): In C++, attach a warning to the function
35011         if possible, rather than #defining the symbol to a dysfunctional alias.
35012         Reported by John W. Eaton <jwe@gnu.org>.
35013
35014 2010-03-28  Bruno Haible  <bruno@clisp.org>
35015
35016         Fix link errors on mingw.
35017         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
35018         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
35019         $(LIBSOCKET).
35020         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
35021         $(LIBSOCKET).
35022
35023 2010-03-28  Bruno Haible  <bruno@clisp.org>
35024             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35025
35026         lib-ignore: Determine different options for different compilers.
35027         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
35028         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
35029         Add comments.
35030         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
35031         * NEWS: Mention the change.
35032
35033 2010-03-27  Bruno Haible  <bruno@clisp.org>
35034
35035         Remove unused GNULIB_XYZ macro definitions.
35036         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
35037         * modules/fseek (configure.ac): Likewise.
35038         * modules/ioctl (configure.ac): Likewise.
35039         * modules/open (configure.ac): Likewise.
35040         * modules/stdlib-safer (configure.ac): Likewise.
35041
35042 2010-03-27  Bruno Haible  <bruno@clisp.org>
35043
35044         Add a remark about certain modules.
35045         * modules/malloc (Comment): New section.
35046         * modules/realloc (Comment): Likewise.
35047         * modules/sigpipe (Comment): Likewise.
35048
35049 2010-03-27  Bruno Haible  <bruno@clisp.org>
35050
35051         Resolve conflict between the two kinds of module indicators.
35052         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
35053         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
35054         * modules/canonicalize (configure.ac): Invoke
35055         gl_MODULE_INDICATOR_FOR_TESTS.
35056         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
35057         GNULIB_XYZ.
35058         * tests/test-dirent-c++.cc: Likewise.
35059         * tests/test-dirent-safer.c: Likewise.
35060         * tests/test-dup2.c: Likewise.
35061         * tests/test-fchdir.c: Likewise.
35062         * tests/test-fcntl-h-c++.cc: Likewise.
35063         * tests/test-getopt.c: Likewise.
35064         * tests/test-getopt.h: Likewise.
35065         * tests/test-langinfo-c++.cc: Likewise.
35066         * tests/test-locale-c++.cc: Likewise.
35067         * tests/test-math-c++.cc: Likewise.
35068         * tests/test-pty-c++.cc: Likewise.
35069         * tests/test-search-c++.cc: Likewise.
35070         * tests/test-signal-c++.cc: Likewise.
35071         * tests/test-spawn-c++.cc: Likewise.
35072         * tests/test-stdio-c++.cc: Likewise.
35073         * tests/test-stdlib-c++.cc: Likewise.
35074         * tests/test-string-c++.cc: Likewise.
35075         * tests/test-sys_ioctl-c++.cc: Likewise.
35076         * tests/test-sys_select-c++.cc: Likewise.
35077         * tests/test-sys_socket-c++.cc: Likewise.
35078         * tests/test-sys_stat-c++.cc: Likewise.
35079         * tests/test-sys_time-c++.cc: Likewise.
35080         * tests/test-time-c++.cc: Likewise.
35081         * tests/test-unistd-c++.cc: Likewise.
35082         * tests/test-wchar-c++.cc: Likewise.
35083         * tests/uninorm/test-u8-nfc.c: Likewise.
35084         * tests/uninorm/test-u8-nfd.c: Likewise.
35085         * tests/uninorm/test-u8-nfkc.c: Likewise.
35086         * tests/uninorm/test-u8-nfkd.c: Likewise.
35087         * tests/uninorm/test-u16-nfc.c: Likewise.
35088         * tests/uninorm/test-u16-nfd.c: Likewise.
35089         * tests/uninorm/test-u16-nfkc.c: Likewise.
35090         * tests/uninorm/test-u16-nfkd.c: Likewise.
35091         * tests/uninorm/test-u32-nfc.c: Likewise.
35092         * tests/uninorm/test-u32-nfc-big.c: Likewise.
35093         * tests/uninorm/test-u32-nfd.c: Likewise.
35094         * tests/uninorm/test-u32-nfd-big.c: Likewise.
35095         * tests/uninorm/test-u32-nfkc.c: Likewise.
35096         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
35097         * tests/uninorm/test-u32-nfkd.c: Likewise.
35098         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
35099         * tests/uninorm/test-u32-normalize-big.c: Likewise.
35100
35101 2010-03-27  Bruno Haible  <bruno@clisp.org>
35102
35103         Distinguish two kinds of module indicators.
35104         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
35105         gl_MODULE_INDICATOR.
35106         (gl_MODULE_INDICATOR): New macro.
35107         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
35108         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
35109         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
35110         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
35111         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
35112         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
35113         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
35114         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
35115         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
35116         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
35117         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
35118         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
35119         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
35120         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
35121         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
35122         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
35123         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
35124         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
35125         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
35126         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
35127         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
35128         * modules/cloexec (configure.ac): Likewise.
35129         * modules/getopt-gnu (configure.ac): Likewise.
35130         * modules/uninorm/u8-normalize (configure.ac): Likewise.
35131         * modules/uninorm/u16-normalize (configure.ac): Likewise.
35132         * modules/uninorm/u32-normalize (configure.ac): Likewise.
35133         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
35134
35135 2010-03-27  Bruno Haible  <bruno@clisp.org>
35136
35137         New module description field 'Comment'.
35138         * gnulib-tool: New option --extract-comment.
35139         (func_usage): Document it.
35140         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
35141         (func_get_comment): New function.
35142         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
35143
35144 2010-03-27  Bruno Haible  <bruno@clisp.org>
35145
35146         Addendum to 2010-02-07 commit.
35147         * gnulib-tool (func_usage): Document --extract-applicability option.
35148
35149 2010-03-27  Bruno Haible  <bruno@clisp.org>
35150
35151         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
35152         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
35153         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
35154         rather than link errors.
35155
35156 2010-03-27  Bruno Haible  <bruno@clisp.org>
35157
35158         Avoid side effects from tests-related modules on the compilation of lib.
35159         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
35160         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
35161         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
35162         parameter. Emit into AM_CPPFLAGS a definition of the designated C
35163         macro.
35164         (func_import): Define a witness macro. Assign it a value that depends
35165         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
35166         tests-related modules.
35167         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
35168         Reported by Jim Meyering.
35169
35170 2010-03-27  Bruno Haible  <bruno@clisp.org>
35171
35172         Factorize common .m4 code.
35173         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
35174         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
35175         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
35176         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
35177         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
35178         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
35179         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
35180         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
35181         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
35182         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
35183         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
35184         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
35185         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
35186         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
35187         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
35188         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
35189         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
35190         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
35191         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
35192         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
35193         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
35194         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
35195         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
35196         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
35197         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
35198         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
35199         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
35200         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
35201         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
35202         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
35203         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
35204         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
35205
35206 2010-03-27  Bruno Haible  <bruno@clisp.org>
35207
35208         Fix a compilation error on Cygwin with g++ >= 4.3.
35209         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
35210         if it is undefined or if we alias it to chmod.
35211         (lstat): Don't warn about the use of this function if it is undefined
35212         or if we alias it to stat.
35213         Reported by Simon Josefsson.
35214
35215 2010-03-27  Bruno Haible  <bruno@clisp.org>
35216
35217         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
35218         * modules/getlogin (configure.ac): Update.
35219
35220         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
35221         * modules/getlogin_r (configure.ac): Update.
35222
35223         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
35224         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
35225         * modules/inet_ntop (configure.ac): Update.
35226
35227         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
35228         * modules/inet_pton (configure.ac): Update.
35229
35230         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
35231         * modules/mbslen (configure.ac): Update.
35232
35233         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
35234         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
35235         * modules/forkpty (configure.ac): Update.
35236         * modules/openpty (configure.ac): Update.
35237
35238 2010-03-26  Simon Josefsson  <simon@josefsson.org>
35239
35240         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
35241         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
35242
35243 2010-03-25  Eric Blake  <eblake@redhat.com>
35244
35245         maint: use pragma consistently across replacement headers
35246         * lib/ctype.in.h (system_header): Hoist for consistent placement.
35247         * lib/dirent.in.h (system_header): Likewise.
35248         * lib/errno.in.h (system_header): Likewise.
35249         * lib/float.in.h (system_header): Likewise.
35250         * lib/getopt.in.h (system_header): Likewise.
35251         * lib/iconv.in.h (system_header): Likewise.
35252         * lib/inttypes.in.h (system_header): Likewise.
35253         * lib/langinfo.in.h (system_header): Likewise.
35254         * lib/locale.in.h (system_header): Likewise.
35255         * lib/math.in.h (system_header): Likewise.
35256         * lib/netdb.in.h (system_header): Likewise.
35257         * lib/netinet_in.in.h (system_header): Likewise.
35258         * lib/pty.in.h (system_header): Likewise.
35259         * lib/sched.in.h (system_header): Likewise.
35260         * lib/se-selinux.in.h (system_header): Likewise.
35261         * lib/search.in.h (system_header): Likewise.
35262         * lib/spawn.in.h (system_header): Likewise.
35263         * lib/stdarg.in.h (system_header): Likewise.
35264         * lib/stdint.in.h (system_header): Likewise.
35265         * lib/string.in.h (system_header): Likewise.
35266         * lib/strings.in.h (system_header): Likewise.
35267         * lib/sys_file.in.h (system_header): Likewise.
35268         * lib/sys_ioctl.in.h (system_header): Likewise.
35269         * lib/sys_socket.in.h (system_header): Likewise.
35270         * lib/sys_times.in.h (system_header): Likewise.
35271         * lib/sys_utsname.in.h (system_header): Likewise.
35272         * lib/sys_wait.in.h (system_header): Likewise.
35273         * lib/sysexits.in.h (system_header): Likewise.
35274         * lib/unistd.in.h (system_header): Likewise.
35275         * lib/wctype.in.h (system_header): Likewise.
35276
35277         arpa/inet: fix mingw compilation warning
35278         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
35279         Reported by Matthew Bolte.
35280
35281 2010-03-25  Bruno Haible  <bruno@clisp.org>
35282
35283         Avoid collision between gnulib wrapper and libintl wrapper.
35284         * lib/printf.c (printf): Don't define if a printf wrapper is already
35285         defined in intl/printf.c.
35286         Reported by Michel Boaventura <michel@michelboaventura.com>.
35287
35288 2010-03-25  Bruno Haible  <bruno@clisp.org>
35289
35290         Use ANSI C.
35291         * lib/readutmp.h (getutent): Provide ANSI C prototype.
35292
35293 2010-03-25  Bruno Haible  <bruno@clisp.org>
35294
35295         Minor formatting changes.
35296         * lib/acosl.c: Insert space before function argument list.
35297         * lib/argz.c: Likewise.
35298         * lib/asinl.c: Likewise.
35299         * lib/expl.c: Likewise.
35300         * lib/gen-uni-tables.c: Likewise.
35301         * lib/gettext.h: Likewise.
35302         * lib/glthread/lock.h: Likewise.
35303         * lib/tanl.c: Likewise.
35304         * lib/uniname/uniname.c: Likewise.
35305         * tests/test-idpriv-drop.c: Likewise.
35306         * tests/test-idpriv-droptemp.c: Likewise.
35307         * tests/test-lock.c: Likewise.
35308         * tests/test-tls.c: Likewise.
35309         * lib/argp-help.c: Insert space before function-like macro argument
35310         list.
35311         * lib/memcmp.c: Likewise.
35312         * tests/test-base64.c: Likewise.
35313         * lib/localename.c: Insert space before sizeof's argument list.
35314         * lib/safe-alloc.h: Likewise.
35315         * lib/file-set.h: Insert space before macro argument list.
35316         * tests/test-argp.c: Likewise.
35317         * lib/argp-namefrob.h: Insert space before function parameter list.
35318         * lib/getaddrinfo.c: Likewise.
35319         * lib/netdb.in.h: Likewise.
35320         * lib/parse-duration.h: Likewise.
35321         * lib/parse-duration.c: Likewise.
35322         * lib/poll.c: Likewise.
35323         * lib/select.c: Likewise.
35324         * lib/trim.h: Likewise.
35325         * tests/test-usleep.c: Likewise.
35326         * lib/ldexpl.c: Insert space before function parameter list and before
35327         function argument list.
35328         * lib/logl.c: Likewise.
35329         * lib/sqrtl.c: Likewise.
35330         * lib/trim.c: Likewise.
35331         * lib/cosl.c: Use GNU style indentation. Insert space before function
35332         argument list.
35333         * lib/sinl.c: Likewise.
35334         * lib/tsearch.c: Insert space after 'for'.
35335         Reported by Jim Meyering.
35336
35337 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
35338
35339         * maint.mk (sc_Wundef_boolean): Check for the presence of the
35340         config header before grepping, as it's not present before
35341         autoreconf/configure are run.  Reported by Simon Josefsson.
35342
35343 2010-03-23  Bruno Haible  <bruno@clisp.org>
35344
35345         pt_chown: Make it work with automake < 1.11.
35346         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
35347         Reported by Simon Josefsson.
35348
35349 2010-03-23  Bruno Haible  <bruno@clisp.org>
35350
35351         pt_chown: Don't depend on GPLed modules.
35352         * lib/pt_chown.c: Don't include idpriv.h.
35353         (main): Don't drop privileges.
35354         * modules/pt_chown (Depends-on): Remove idpriv-drop.
35355         Reported by Simon Josefsson.
35356
35357 2010-03-24  Simon Josefsson  <simon@josefsson.org>
35358
35359         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
35360         suggestions from karl@freefriends.org (Karl Berry).
35361
35362 2010-03-22  Eric Blake  <eblake@redhat.com>
35363
35364         gethostname: further tweaks
35365         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
35366         are overriding gethostname.
35367         Suggested by Bruno Haible.
35368
35369 2010-03-21  Bruno Haible  <bruno@clisp.org>
35370
35371         Fix comments.
35372         * lib/forkpty.c (rpl_forkpty): Fix comment.
35373         * lib/openpty.c (rpl_openpty): Likewise.
35374         Reported by Eric Blake.
35375
35376 2010-03-22  Eric Blake  <eblake@redhat.com>
35377
35378         gethostname: fix build on mingw
35379         * lib/unistd.in.h (includes): Work around fact that mingw
35380         <winsock2.h> re-includes <unistd.h>, by avoiding any
35381         redeclarations if we are being included by <winsock2.h>.
35382         Reported by Matthias Bolte.
35383
35384 2010-03-21  Bruno Haible  <bruno@clisp.org>
35385
35386         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
35387         * lib/forkpty.c (forkpty): New replacement function, from glibc with
35388         modifications.
35389         * lib/pty.in.h (forkpty): Update declaration. Add comments.
35390         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
35391         provide the replacement.
35392         * modules/forkpty (Depends-on): Add openpty, login_tty.
35393         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
35394         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
35395         * doc/glibc-functions/forkpty.texi: More supported platforms.
35396         * config/srclist.txt: Add forkpty.c (commented).
35397
35398 2010-03-21  Bruno Haible  <bruno@clisp.org>
35399
35400         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
35401         (Makefile.am): Verify that PTY_LIB is defined.
35402
35403         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
35404
35405 2010-03-21  Bruno Haible  <bruno@clisp.org>
35406
35407         Tests for module 'login_tty'.
35408         * modules/login_tty-tests: New file.
35409         * tests/test-login_tty.c: New file.
35410
35411         New module 'login_tty'.
35412         * lib/login_tty.c: New file.
35413         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
35414         * modules/login_tty: New file.
35415         * doc/glibc-functions/login_tty.texi: Mention the new module.
35416
35417 2010-03-21  Bruno Haible  <bruno@clisp.org>
35418
35419         login_tty: Documentation.
35420         * doc/glibc-functions/login_tty.texi: New file.
35421         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
35422
35423 2010-03-21  Bruno Haible  <bruno@clisp.org>
35424
35425         pty: Consistent macro naming.
35426         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
35427         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
35428         * modules/pty (configure.ac): Update.
35429
35430 2010-03-21  Bruno Haible  <bruno@clisp.org>
35431
35432         Tests for openpty: Make stricter.
35433         * tests/test-openpty.c (main): Add test of canonical processing and
35434         erase.
35435         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
35436
35437         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
35438         * lib/openpty.c (openpty): New replacement function.
35439         * lib/pty.in.h: Include <termios.h>.
35440         (openpty): Update declaration. Add comments.
35441         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
35442         is not declared, arrange to provide the replacement. Check for _getpty
35443         and posix_openpt.
35444         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
35445         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
35446         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
35447         * modules/pty-tests (test_pty_c___LDADD): New variable.
35448         * doc/glibc-functions/openpty.texi: More supported platforms.
35449
35450 2010-03-21  Bruno Haible  <bruno@clisp.org>
35451
35452         setenv: Tweaks.
35453         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
35454         the test program.
35455         * doc/posix-functions/setenv.texi: Update platforms list.
35456
35457 2010-03-21  Bruno Haible  <bruno@clisp.org>
35458
35459         New module 'unlockpt'.
35460         * lib/unlockpt.c: New file, from glibc with modifications.
35461         * m4/unlockpt.m4: New file.
35462         * modules/unlockpt: New file.
35463         * lib/stdlib.in.h (unlockpt): New declaration.
35464         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
35465         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
35466         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
35467         HAVE_UNLOCKPT.
35468         * doc/posix-functions/unlockpt.texi: Mention the new module.
35469         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
35470         * config/srclist.txt: Add unlockpt.c (commented).
35471
35472 2010-03-21  Jim Meyering  <meyering@redhat.com>
35473
35474         maint.mk: prohibit inclusion of "intprops.h" without use
35475         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
35476
35477 2010-03-21  Bruno Haible  <bruno@clisp.org>
35478
35479         New module 'grantpt'.
35480         * lib/grantpt.c: New file, from glibc with modifications.
35481         * m4/grantpt.m4: New file.
35482         * modules/grantpt: New file.
35483         * lib/stdlib.in.h (grantpt): New declaration.
35484         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
35485         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
35486         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
35487         HAVE_GRANTPT.
35488         * doc/posix-functions/grantpt.texi: Mention the new module.
35489         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
35490         * config/srclist.txt: Add grantpt.c (commented).
35491
35492 2010-03-21  Bruno Haible  <bruno@clisp.org>
35493
35494         New module 'pt_chown'.
35495         * lib/pt_chown.c: New file, from glibc with modifications.
35496         * lib/pty-private.h: New file, from glibc with modifications.
35497         * modules/pt_chown: New file.
35498         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
35499
35500 2010-03-21  Bruno Haible  <bruno@clisp.org>
35501
35502         Tests for module 'ptsname'.
35503         * modules/ptsname-tests: New file.
35504         * tests/test-ptsname.c: New file.
35505
35506         New module 'ptsname'.
35507         * lib/ptsname.c: New file, from glibc with modifications.
35508         * m4/ptsname.m4: New file.
35509         * modules/ptsname: New file.
35510         * lib/stdlib.in.h (ptsname): New declaration.
35511         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
35512         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
35513         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
35514         HAVE_PTSNAME.
35515         * doc/posix-functions/ptsname.texi: Mention the new module.
35516         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
35517         * config/srclist.txt: Add ptsname.c (commented).
35518
35519 2010-03-21  Bruno Haible  <bruno@clisp.org>
35520
35521         Tests for module 'ttyname_r'.
35522         * modules/ttyname_r-tests: New file.
35523         * tests/test-ttyname_r.c: New file.
35524
35525         New module 'ttyname_r'.
35526         * lib/ttyname_r.c: New file.
35527         * m4/ttyname_r.m4: New file.
35528         * modules/ttyname_r: New file.
35529         * lib/unistd.in.h (ttyname_r): New declaration.
35530         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
35531         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
35532         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
35533         HAVE_TTYNAME_R.
35534         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
35535         * doc/posix-functions/ttyname_r.texi: Mention the new module.
35536
35537 2010-03-20  Bruno Haible  <bruno@clisp.org>
35538
35539         signal: Undefine macro definitions in C++ mode.
35540         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
35541         sigfillset): Undefine macro definitions from the system header in C++
35542         mode.
35543         Reported by John W. Eaton <jwe@gnu.org>.
35544
35545 2010-03-20  Bruno Haible  <bruno@clisp.org>
35546
35547         Ensure no #include statements inside extern "C" { ... }.
35548         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
35549         contain #include statements.
35550         * lib/time.in.h: Likewise.
35551
35552 2010-03-20  Bruno Haible  <bruno@clisp.org>
35553
35554         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
35555         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
35556         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
35557         Reported by John W. Eaton <jwe@gnu.org>.
35558
35559 2010-03-20  Bruno Haible  <bruno@clisp.org>
35560
35561         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
35562         Reported by Jim Meyering.
35563
35564 2010-03-20  Bruno Haible  <bruno@clisp.org>
35565
35566         pipe: Set errno upon failure.
35567         * lib/pipe.h: Specify that when -1 is returned, errno is set.
35568         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
35569         errno value in error message.
35570
35571 2010-03-20  Bruno Haible  <bruno@clisp.org>
35572             Jim Meyering  <meyering@redhat.com>
35573
35574         lchown: Avoid "unused variable" warning.
35575         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
35576
35577 2010-03-20  Bruno Haible  <bruno@clisp.org>
35578
35579         Work around unlink() bug on MacOS X 10.5.6.
35580         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
35581         attempting to unlink a parent directory.
35582         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
35583         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
35584         activate for the replacement function.
35585         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
35586
35587 2010-03-20  Bruno Haible  <bruno@clisp.org>
35588
35589         Fix link errors on Solaris 8.
35590         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
35591         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
35592
35593 2010-03-19  Jim Meyering  <meyering@redhat.com>
35594
35595         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
35596         The _LIBC implementation of build_range_exp correctly honors the
35597         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
35598         However, the non-_LIBC implementation would ignore that syntax-bit
35599         flag and return REG_ERANGE unconditionally.
35600         This change makes it honor that flag.
35601         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
35602         Make two pointer parameters "const".
35603         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
35604         (parse_bracket_exp): Update caller.
35605
35606         regex.m4: correct the reversed range endpoint ([b-a]) test
35607         * m4/regex.m4: When requiring that [b-a] evoke failure,
35608         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
35609         test pass once again for x86-based systems.
35610
35611 2010-03-19  Bruno Haible  <bruno@clisp.org>
35612
35613         scandir: Fix link error on Solaris 8.
35614         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
35615         macros.
35616
35617 2010-03-19  Bruno Haible  <bruno@clisp.org>
35618
35619         getusershell: Fix documentation.
35620         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
35621         module.
35622         * doc/glibc-functions/setusershell.texi: Likewise.
35623
35624         getusershell: Provide declaration, missing on Solaris 9.
35625         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
35626         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
35627         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
35628         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
35629         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
35630         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
35631         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
35632         HAVE_GETUSERSHELL.
35633         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
35634
35635 2010-03-19  Bruno Haible  <bruno@clisp.org>
35636
35637         wctype: Provide iswblank function.
35638         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
35639         exists and is fine.
35640         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
35641         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
35642         * tests/test-wctype.c (main): Re-enable the iswblank tests.
35643         * doc/posix-functions/iswblank.texi: Update.
35644
35645 2010-03-19  Bruno Haible  <bruno@clisp.org>
35646
35647         Tests of module 'pty' in C++ mode.
35648         * modules/pty-tests: New file.
35649         * tests/test-pty-c++.cc: New file.
35650         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
35651
35652 2010-03-19  Eric Blake  <eblake@redhat.com>
35653
35654         logb: fix documentation
35655         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
35656         1.5 declaration bug.
35657
35658         forkpty, openpty: prefer glibc's const-safe prototype
35659         * lib/forkpty.c (rpl_forkpty): New file.
35660         * lib/openpty.c (rpl_openpty): Likewise.
35661         * modules/forkpty (Files): Distribute it.
35662         * modules/openpty (Files): Likewise.
35663         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
35664         check...
35665         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
35666         replacement for for non-const BSD signature.
35667         * modules/pty (Makefile.am): Substitute witnesses.
35668         * lib/pty.in.h (forkpty, openpty): Declare replacements.
35669         * tests/test-forkpty.c: Update signature check.
35670         * tests/test-openpty.c: Likewise.
35671         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
35672         * doc/glibc-functions/openpty.texi (openpty): Likewise.
35673
35674         forkpty, openpty: split functions into new modules
35675         * modules/pty (Makefile.am): Substitute new witnesses.
35676         (Libraries): Move library detection...
35677         * modules/forkpty: ...into new module.
35678         * modules/openpty: Another new module.
35679         * modules/pty-tests: Rename and split...
35680         * modules/forkpty-tests: ...to this...
35681         * modules/openpty-tests: ...and this.
35682         * tests/test-pty.c: Rename and split...
35683         * tests/test-forkpty.c: ...to this...
35684         * tests/test-openpty.c: ...and this.
35685         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
35686         (gl_PTY): Split library searching...
35687         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
35688         (gl_FORKPTY, gl_OPENPTY): New macros.
35689         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
35690         * NEWS: Mention the split.
35691         * MODULES.html.sh (Misc): Document the modules.
35692         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
35693         * doc/glibc-functions/openpty.texi (openpty): Likewise.
35694
35695         pty: improve replacement header
35696         * lib/pty.in.h: New file.
35697         * modules/pty (Files): Ship it.
35698         (Makefile.am): Always build replacement.
35699         * m4/pty.m4: Rename...
35700         * m4/pty_h.m4: ...to this.
35701         (gl_PTY): Modernize setting of witness macros; update check of
35702         forkpty to take proper advantage of cache.
35703         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
35704
35705         getopt: avoid compiler warning
35706         * lib/getopt.c (attribute_hidden): Remove unused macro.
35707
35708 2010-03-18  Bruno Haible  <bruno@clisp.org>
35709
35710         Fix link errors on Solaris 8.
35711         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
35712         * modules/search-tests (test_search_c___LDADD): Likewise.
35713         * modules/signal-tests (test_signal_c___LDADD): Likewise.
35714         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
35715         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
35716         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
35717         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
35718         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
35719         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
35720
35721 2010-03-18  Bruno Haible  <bruno@clisp.org>
35722
35723         Fix bug introduced on 2010-03-14.
35724         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
35725         (gl_SPAWN_H): Require it.
35726         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
35727         Reported by Simon Josefsson.
35728
35729 2010-03-18  Bruno Haible  <bruno@clisp.org>
35730
35731         Fix typo introduced on 2009-12-31.
35732         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
35733         posix_spawn_file_actions_adddup2.
35734
35735 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
35736         and Eric Blake  <eblake@redhat.com>
35737
35738         test-vc-list-files-git: make more robust
35739         * tests/test-vc-list-files-git.sh: Unset problematic environment
35740         variables.  Chain commands together.
35741
35742 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
35743
35744         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
35745         `AC_CHECK_DECL' invocation.
35746
35747 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
35748
35749         * lib/inttostr.c (inttostr): Make sure the invocation of verify
35750         appears before executable statements. Suggested by Petr Sumbera
35751         <Petr.Sumbera@Sun.COM>.
35752
35753 2010-03-14  Bruno Haible  <bruno@clisp.org>
35754
35755         * tests/test-flock.c (test_exclusive): Comment out a test that causes
35756         portability problems. Instead use a simpler test.
35757         (main): Check that invalid arguments are rejected only on Linux.
35758
35759 2010-03-14  Bruno Haible  <bruno@clisp.org>
35760
35761         Fix bug introduced on 2009-12-31.
35762         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
35763         gl_PREREQ_SYS_H_WINSOCK2 always.
35764         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
35765         SYS_SOCKET_H variable.
35766         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
35767         Update comments.
35768         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
35769         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
35770         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
35771         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
35772         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
35773
35774 2010-03-14  Bruno Haible  <bruno@clisp.org>
35775
35776         Fix values returned by sinl, cosl.
35777         * lib/trigl.h: Add specification comments.
35778         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
35779         that combines the values from the precomputed table with the values of
35780         the Chebyshev polynomials.
35781
35782 2010-03-14  Bruno Haible  <bruno@clisp.org>
35783
35784         Fix compilation error when modules 'posix_spawn[p]' are not used.
35785         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
35786         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
35787
35788 2010-03-14  Bruno Haible  <bruno@clisp.org>
35789
35790         Fix compilation error on mingw when module 'time_r' is not used.
35791         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
35792         is 1.
35793         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
35794         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
35795         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
35796         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
35797
35798 2010-03-14  Bruno Haible  <bruno@clisp.org>
35799
35800         Fix compilation error with Sun C.
35801         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
35802         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
35803         instead of GCC specific ULONG_LONG_MAX.
35804         * lib/xstrtoll.c: Likewise.
35805         * lib/xstrtoull.c: Likewise.
35806
35807 2010-03-13  Bruno Haible  <bruno@clisp.org>
35808
35809         Allow the user to disable C++ code and tests.
35810         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
35811         (gl_PROG_ANSI_CXX): Require it.
35812
35813 2010-03-13  Bruno Haible  <bruno@clisp.org>
35814
35815         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
35816         cases.
35817
35818 2010-03-13  Bruno Haible  <bruno@clisp.org>
35819
35820         Test that gnulib does not break the standard C++ headers.
35821         * tests/test-locale-c++2.cc: New file.
35822         * modules/locale-tests (Files): Add it.
35823         (Makefile.am): Compile it for test-locale-c++.
35824         * tests/test-math-c++2.cc: New file.
35825         * modules/math-tests (Files): Add it.
35826         (Makefile.am): Compile it for test-math-c++.
35827         * tests/test-signal-c++2.cc: New file.
35828         * modules/signal-tests (Files): Add it.
35829         (Makefile.am): Compile it for test-signal-c++.
35830         * tests/test-stdio-c++2.cc: New file.
35831         * modules/stdio-tests (Files): Add it.
35832         (Makefile.am): Compile it for test-stdio-c++.
35833         * tests/test-stdlib-c++2.cc: New file.
35834         * modules/stdlib-tests (Files): Add it.
35835         (Makefile.am): Compile it for test-stdlib-c++.
35836         * tests/test-string-c++2.cc: New file.
35837         * modules/string-tests (Files): Add it.
35838         (Makefile.am): Compile it for test-string-c++.
35839         * tests/test-time-c++2.cc: New file.
35840         * modules/time-tests (Files): Add it.
35841         (Makefile.am): Compile it for test-time-c++.
35842         Reported by John W. Eaton <jwe@gnu.org>.
35843
35844 2010-03-13  Bruno Haible  <bruno@clisp.org>
35845
35846         * gnulib-tool (func_usage): Clarify which options are available for
35847         --create-testdir and --create-megatestdir.
35848
35849 2010-03-13  Bruno Haible  <bruno@clisp.org>
35850
35851         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
35852         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
35853         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
35854         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
35855         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
35856         when appropriate.
35857         Reported by Jim Meyering.
35858
35859 2010-03-12  Simon Josefsson  <simon@josefsson.org>
35860
35861         * gnulib-tool (func_import): Explain origin of code.
35862
35863 2010-03-12  Bruno Haible  <bruno@clisp.org>
35864
35865         Fix problem with automake's definition of CXXLINK.
35866         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
35867         Reported by Simon Josefsson and Ludovic Courtès.
35868
35869 2010-03-12  Bruno Haible  <bruno@clisp.org>
35870
35871         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
35872         stable releases.
35873
35874 2010-03-11  Bruno Haible  <bruno@clisp.org>
35875
35876         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
35877         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
35878         whether the system provides one variant or multiple variants of the
35879         function.
35880         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
35881         C++ compilers.
35882         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
35883         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
35884         Reported by Jim Meyering.
35885
35886 2010-03-09  Simon Josefsson  <simon@josefsson.org>
35887
35888         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
35889
35890 2010-03-08  Bruno Haible  <bruno@clisp.org>
35891
35892         gnulib-tool: Add support for --libtool in --create-testdir.
35893         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
35894         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
35895
35896 2010-03-08  Eric Blake  <eblake@redhat.com>
35897
35898         gnulib-tool.texi: mention possibility of git submodule
35899         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
35900         submodules.
35901         * doc/.gitignore: Ignore another generated file.
35902
35903 2010-03-08  Karl Berry  <karl@gnu.org>
35904
35905         * doc/gnulib-tool.texi (VCS Issues): Mention third option
35906         of committing gnulib files while skipping others.
35907
35908 2010-03-07  Bruno Haible  <bruno@clisp.org>
35909
35910         Tests of module 'wctype' in C++ mode.
35911         * tests/test-wctype-c++.cc: New file.
35912         * modules/wctype-tests (Files): Add it and tests/signature.h.
35913         (Depends-on): Add ansi-c++-opt.
35914         (Makefile.am): Arrange to compile and run test-wctype-c++.
35915
35916         Tests of module 'wchar' in C++ mode.
35917         * tests/test-wchar-c++.cc: New file.
35918         * modules/wchar-tests (Files): Add it and tests/signature.h.
35919         (Depends-on): Add ansi-c++-opt.
35920         (Makefile.am): Arrange to compile and run test-wchar-c++.
35921         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
35922         gl_MODULE_INDICATOR.
35923
35924         Tests of module 'unistd' in C++ mode.
35925         * tests/test-unistd-c++.cc: New file.
35926         * modules/unistd-tests (Files): Add it and tests/signature.h.
35927         (Depends-on): Add ansi-c++-opt.
35928         (Makefile.am): Arrange to compile and run test-unistd-c++.
35929         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
35930         gl_MODULE_INDICATOR.
35931
35932         Tests of module 'time' in C++ mode.
35933         * tests/test-time-c++.cc: New file.
35934         * modules/time-tests (Files): Add it and tests/signature.h.
35935         (Depends-on): Add ansi-c++-opt.
35936         (Makefile.am): Arrange to compile and run test-time-c++.
35937         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
35938
35939         Tests of module 'sys_time' in C++ mode.
35940         * tests/test-sys_time-c++.cc: New file.
35941         * modules/sys_time-tests (Files): Add it and tests/signature.h.
35942         (Depends-on): Add ansi-c++-opt.
35943         (Makefile.am): Arrange to compile and run test-sys_time-c++.
35944         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
35945         gl_MODULE_INDICATOR.
35946
35947         Tests of module 'sys_stat' in C++ mode.
35948         * tests/test-sys_stat-c++.cc: New file.
35949         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
35950         (Depends-on): Add ansi-c++-opt.
35951         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
35952         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
35953         gl_MODULE_INDICATOR.
35954
35955         Tests of module 'sys_socket' in C++ mode.
35956         * tests/test-sys_socket-c++.cc: New file.
35957         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
35958         (Depends-on): Add ansi-c++-opt.
35959         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
35960         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
35961         gl_MODULE_INDICATOR.
35962
35963         Tests of module 'sys_select' in C++ mode.
35964         * tests/test-sys_select-c++.cc: New file.
35965         * modules/sys_select-tests (Files): Add it and tests/signature.h.
35966         (Depends-on): Add ansi-c++-opt.
35967         (Makefile.am): Arrange to compile and run test-sys_select-c++.
35968         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
35969         gl_MODULE_INDICATOR.
35970
35971         Tests of module 'sys_ioctl' in C++ mode.
35972         * tests/test-sys_ioctl-c++.cc: New file.
35973         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
35974         (Depends-on): Add ansi-c++-opt.
35975         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
35976         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
35977         gl_MODULE_INDICATOR.
35978
35979         Tests of module 'string' in C++ mode.
35980         * tests/test-string-c++.cc: New file.
35981         * modules/string-tests (Files): Add it and tests/signature.h.
35982         (Depends-on): Add ansi-c++-opt.
35983         (Makefile.am): Arrange to compile and run test-string-c++.
35984         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
35985         gl_MODULE_INDICATOR.
35986
35987         Tests of module 'stdlib' in C++ mode.
35988         * tests/test-stdlib-c++.cc: New file.
35989         * modules/stdlib-tests (Files): Add it and tests/signature.h.
35990         (Depends-on): Add ansi-c++-opt.
35991         (Makefile.am): Arrange to compile and run test-stdlib-c++.
35992         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
35993         gl_MODULE_INDICATOR.
35994
35995         Tests of module 'stdio' in C++ mode.
35996         * tests/test-stdio-c++.cc: New file.
35997         * modules/stdio-tests (Files): Add it and tests/signature.h.
35998         (Depends-on): Add ansi-c++-opt.
35999         (Makefile.am): Arrange to compile and run test-stdio-c++.
36000         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
36001         gl_MODULE_INDICATOR.
36002
36003         Tests of module 'spawn' in C++ mode.
36004         * tests/test-spawn-c++.cc: New file.
36005         * modules/spawn-tests (Files): Add it and tests/signature.h.
36006         (Depends-on): Add ansi-c++-opt.
36007         (Makefile.am): Arrange to compile and run test-spawn-c++.
36008         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
36009         gl_MODULE_INDICATOR.
36010
36011         Tests of module 'signal' in C++ mode.
36012         * tests/test-signal-c++.cc: New file.
36013         * modules/signal-tests (Files): Add it and tests/signature.h.
36014         (Depends-on): Add ansi-c++-opt.
36015         (Makefile.am): Arrange to compile and run test-signal-c++.
36016         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
36017         gl_MODULE_INDICATOR.
36018
36019         Tests of module 'search' in C++ mode.
36020         * tests/test-search-c++.cc: New file.
36021         * modules/search-tests (Files): Add it and tests/signature.h.
36022         (Depends-on): Add ansi-c++-opt.
36023         (Makefile.am): Arrange to compile and run test-search-c++.
36024         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
36025         gl_MODULE_INDICATOR.
36026
36027         Tests of module 'math' in C++ mode.
36028         * tests/test-math-c++.cc: New file.
36029         * modules/math-tests (Files): Add it and tests/signature.h.
36030         (Depends-on): Add ansi-c++-opt.
36031         (Makefile.am): Arrange to compile and run test-math-c++.
36032         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
36033
36034         Tests of module 'locale' in C++ mode.
36035         * tests/test-locale-c++.cc: New file.
36036         * modules/locale-tests (Files): Add it and tests/signature.h.
36037         (Depends-on): Add ansi-c++-opt.
36038         (Makefile.am): Arrange to compile and run test-locale-c++.
36039         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
36040         gl_MODULE_INDICATOR.
36041
36042         Tests of module 'langinfo' in C++ mode.
36043         * tests/test-langinfo-c++.cc: New file.
36044         * modules/langinfo-tests (Files): Add it and tests/signature.h.
36045         (Depends-on): Add ansi-c++-opt.
36046         (Makefile.am): Arrange to compile and run test-langinfo-c++.
36047         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
36048         gl_MODULE_INDICATOR.
36049
36050         Tests of module 'iconv-h' in C++ mode.
36051         * tests/test-iconv-h-c++.cc: New file.
36052         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
36053         (Depends-on): Add ansi-c++-opt.
36054         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
36055
36056         Tests of module 'glob' in C++ mode.
36057         * tests/test-glob-c++.cc: New file.
36058         * modules/glob-tests (Files): Add it.
36059         (Depends-on): Add ansi-c++-opt.
36060         (Makefile.am): Arrange to compile and run test-glob-c++.
36061
36062         Tests of module 'fcntl-h' in C++ mode.
36063         * tests/test-fcntl-h-c++.cc: New file.
36064         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
36065         (Depends-on): Add ansi-c++-opt.
36066         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
36067         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
36068         gl_MODULE_INDICATOR.
36069
36070         Tests of module 'dirent' in C++ mode.
36071         * tests/test-dirent-c++.cc: New file.
36072         * modules/dirent-tests (Files): Add it and tests/signature.h.
36073         (Depends-on): Add ansi-c++-opt.
36074         (Makefile.am): Arrange to compile and run test-dirent-c++.
36075         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
36076         gl_MODULE_INDICATOR.
36077
36078         New module 'ansi-c++-opt'.
36079         * modules/ansi-c++-opt: New file.
36080         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
36081
36082         Document C++ namespace mode.
36083         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
36084
36085         wctype: Avoid #define replacements in C++ mode.
36086         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
36087         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
36088         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
36089         In C++, define a namespaced alias symbol.
36090         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
36091         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
36092         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
36093         rule.
36094
36095         wchar: Avoid #define replacements in C++ mode.
36096         * lib/wchar.in.h: Include c++defs.h.
36097         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
36098         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
36099         symbol.
36100         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
36101         * modules/wchar (Depends-on): Add c++defs.
36102         (Makefile.am): Update wchar.h rule.
36103
36104         unistd: Avoid #define replacements in C++ mode.
36105         * lib/unistd.in.h: Include c++defs.h.
36106         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
36107         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
36108         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
36109         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
36110         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
36111         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
36112         symbol.
36113         (environ): Update.
36114         * modules/unistd (Depends-on): Add c++defs.
36115         (Makefile.am): Update unistd.h rule.
36116
36117         time: Avoid #define replacements in C++ mode.
36118         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
36119         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
36120         define a namespaced alias symbol.
36121         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
36122         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
36123         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
36124         * modules/time (Depends-on): Add c++defs, warn-on-use.
36125         (Makefile.am): Update time.h rule.
36126         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
36127         * modules/nanosleep (configure.ac): Likewise.
36128         * modules/strptime (configure.ac): Likewise.
36129         * modules/timegm (configure.ac): Likewise.
36130
36131         sys_time: Avoid #define replacements in C++ mode.
36132         * lib/sys_time.in.h: Include c++defs.h.
36133         (gettimeofday): In C++, define a namespaced alias symbol.
36134         * modules/sys_time (Depends-on): Add c++defs.
36135         (Makefile.am): Update sys/time.h rule.
36136
36137         sys_stat: Avoid #define replacements in C++ mode.
36138         * lib/sys_stat.in.h: Include c++defs.h.
36139         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
36140         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
36141         namespaced alias symbol.
36142         In C++, define a namespaced alias symbol.
36143         * modules/sys_stat (Depends-on): Add c++defs.
36144         (Makefile.am): Update sys/stat.h rule.
36145
36146         sys_socket: Avoid #define replacements in C++ mode.
36147         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
36148         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
36149         definitions also when the system has a <sys/socket.h>.
36150         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
36151         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
36152         In C++, define a namespaced alias symbol.
36153         * modules/sys_socket (Depends-on): Add c++defs.
36154         (Makefile.am): Update sys/socket.h rule.
36155
36156         sys_select: Avoid #define replacements in C++ mode.
36157         * lib/sys_select.in.h: Include c++defs.h. Enable the function
36158         definitions also when the system has a <sys/select.h>.
36159         (select): In C++, define a namespaced alias symbol.
36160         * modules/sys_select (Depends-on): Add c++defs.
36161         (Makefile.am): Update sys/select.h rule.
36162
36163         sys_ioctl: Avoid #define replacements in C++ mode.
36164         * lib/sys_ioctl.in.h: Include c++defs.h.
36165         (ioctl): In C++, define a namespaced alias symbol.
36166         * modules/sys_ioctl (Depends-on): Add c++defs.
36167         (Makefile.am): Update sys/ioctl.h rule.
36168
36169         string: Avoid #define replacements in C++ mode.
36170         * lib/string.in.h: Include c++defs.h.
36171         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
36172         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
36173         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
36174         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
36175         strsignal, strverscmp): In C++, define a namespaced alias symbol.
36176         * modules/string (Depends-on): Add c++defs.
36177         (Makefile.am): Update string.h rule.
36178
36179         stdlib: Avoid #define replacements in C++ mode.
36180         * lib/stdlib.in.h: Include c++defs.h.
36181         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
36182         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
36183         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
36184         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
36185         symbol.
36186         * modules/stdlib (Depends-on): Add c++defs.
36187         (Makefile.am): Update stdlib.h rule.
36188
36189         stdio: Avoid #define replacements in C++ mode.
36190         * lib/stdio.in.h: Include c++defs.h.
36191         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
36192         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
36193         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
36194         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
36195         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
36196         namespaced alias symbol.
36197         * modules/stdio (Depends-on): Add c++defs.
36198         (Makefile.am): Update stdio.h rule.
36199
36200         spawn: Avoid #define replacements in C++ mode.
36201         * lib/spawn.in.h: Include c++defs.h.
36202         (posix_spawn, posix_spawnp, posix_spawnattr_init,
36203         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
36204         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
36205         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
36206         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
36207         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
36208         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
36209         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
36210         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
36211         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
36212         In C++, define a namespaced alias symbol.
36213         * modules/spawn (Depends-on): Add c++defs.
36214         (Makefile.am): Update spawn.h rule.
36215
36216         signal: Avoid #define replacements in C++ mode.
36217         * lib/signal.in.h: Include c++defs.h.
36218         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
36219         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
36220         namespaced alias symbol.
36221         * modules/signal (Depends-on): Add c++defs.
36222         (Makefile.am): Update signal.h rule.
36223
36224         search: Avoid #define replacements in C++ mode.
36225         * lib/search.in.h: Include c++defs.h.
36226         (_gl_search_compar_fn, _gl_search_action_fn): New types.
36227         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
36228         symbol.
36229         * modules/search (Depends-on): Add c++defs.
36230         (Makefile.am): Update search.h rule.
36231
36232         math: Avoid #define replacements in C++ mode.
36233         * lib/math.in.h: Include c++defs.h.
36234         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
36235         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
36236         trunc, truncl): In C++, define a namespaced alias symbol.
36237         * modules/math (Depends-on): Add c++defs.
36238         (Makefile.am): Update math.h rule.
36239
36240         locale: Avoid #define replacements in C++ mode.
36241         * lib/locale.in.h: Include c++defs.h.
36242         (duplocale): In C++, define a namespaced alias symbol.
36243         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
36244         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
36245         * modules/locale (Depends-on): Add c++defs.
36246         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
36247
36248         langinfo: Avoid #define replacements in C++ mode.
36249         * lib/langinfo.in.h: Include c++defs.h.
36250         (nl_langinfo): In C++, define a namespaced alias symbol.
36251         * modules/langinfo (Depends-on): Add c++defs.
36252         (Makefile.am): Update langinfo.h rule.
36253
36254         iconv-h: Avoid #define replacements in C++ mode.
36255         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
36256         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
36257         symbol.
36258         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
36259         whenever iconv is present.
36260         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
36261         (Makefile.am): Update iconv.h rule.
36262
36263         glob: Avoid #define replacements in C++ mode.
36264         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
36265         (_gl_glob_errfunc_fn): New type.
36266         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
36267         symbol.
36268         * modules/glob (Depends-on): Add c++defs, warn-on-use.
36269         (Makefile.am): Update glob.h rule.
36270
36271         fcntl-h: Avoid #define replacements in C++ mode.
36272         * lib/fcntl.in.h: Include c++defs.h.
36273         (fcntl, open, openat): In C++, define a namespaced alias symbol.
36274         * modules/fcntl-h (Depends-on): Add c++defs.
36275         (Makefile.am): Update fcntl.h rule.
36276
36277         dirent: Avoid #define replacements in C++ mode.
36278         * lib/dirent.in.h: Include c++defs.h.
36279         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
36280         namespaced alias symbol.
36281         (dirfd): Update declaration.
36282         * modules/dirent (Depends-on): Add c++defs.
36283         (Makefile.am): Update dirent.h rule.
36284
36285         ctype: Make it usable in C++ code.
36286         * lib/ctype.in.h: Include c++defs.h.
36287         (isblank): Declare as extern "C".
36288         * modules/ctype (Depends-on): Add c++defs.
36289         (Makefile.am): Update ctype.h rule.
36290
36291         New module 'c++defs'.
36292         * modules/c++defs: New file.
36293         * build-aux/c++defs.h: New file.
36294         Reported by John W. Eaton <jwe@gnu.org>.
36295
36296 2010-03-07  Bruno Haible  <bruno@clisp.org>
36297
36298         logb: Provide missing declaration for Cygwin.
36299         * lib/math.in.h (logb): New declaration.
36300         * m4/logb.m4: New file.
36301         * modules/logb (Files): Add m4/logb.m4.
36302         (Depends-on): Add math.
36303         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
36304         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
36305         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
36306         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
36307         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
36308
36309 2010-03-07  Bruno Haible  <bruno@clisp.org>
36310
36311         Fix test-cond link error.
36312         * tests/test-cond.c: Include <stdio.h>.
36313
36314 2010-03-07  Bruno Haible  <bruno@clisp.org>
36315
36316         Fix test-dirent-safer link error.
36317         * modules/dirent-safer-tests (Makefile.am): Define
36318         test_dirent_safer_LDADD.
36319
36320 2010-03-07  Bruno Haible  <bruno@clisp.org>
36321
36322         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
36323         among default module list.
36324
36325 2010-03-07  Bruno Haible  <bruno@clisp.org>
36326
36327         Fix link error on platforms with GNU libiconv.
36328         * modules/unistr/u8-strcoll-tests (Makefile): Define
36329         test_u8_strcoll_LDADD.
36330         * modules/unistr/u16-strcoll-tests (Makefile): Define
36331         test_u16_strcoll_LDADD.
36332         * modules/unistr/u32-strcoll-tests (Makefile): Define
36333         test_u32_strcoll_LDADD.
36334
36335 2010-03-07  Bruno Haible  <bruno@clisp.org>
36336
36337         Use POSIX declarations for socket functions.
36338         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
36339         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
36340         rpl_sendto): Change declaration to match POSIX.
36341         * lib/connect.c (rpl_connect): Likewise.
36342         * lib/accept.c (rpl_accept): Likewise.
36343         * lib/bind.c (rpl_bind): Likewise.
36344         * lib/getpeername.c (rpl_getpeername): Likewise.
36345         * lib/getsockname.c (rpl_getsockname): Likewise.
36346         * lib/recv.c (rpl_recv): Likewise.
36347         * lib/send.c (rpl_send): Likewise.
36348         * lib/recvfrom.c (rpl_recvfrom): Likewise.
36349         * lib/sendto.c (rpl_sendto): Likewise.
36350
36351 2010-03-06  Bruno Haible  <bruno@clisp.org>
36352
36353         Clarify access, euidaccess, faccessat.
36354         * doc/posix-functions/faccessat.texi: Mention security problem under
36355         "Other problems", not "Portability problems".
36356         * doc/posix-functions/access.texi: Likewise. Mention a related security
36357         problem.
36358         * doc/glibc-functions/euidaccess.texi: Mention security problems.
36359         * lib/euidaccess.c: Add comments about platforms.
36360         * lib/unistd.in.h (access, euidaccess): Add warnings.
36361
36362 2010-03-07  Bruno Haible  <bruno@clisp.org>
36363
36364         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
36365         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
36366         (POSIX_SPAWN_SETSCHEDULER): Likewise.
36367         (POSIX_SPAWN_USEVFORK): Define in a way that works when
36368         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
36369         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
36370         declare when POSIX_SPAWN_SETSCHEDULER is zero.
36371         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
36372         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
36373         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
36374         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
36375         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
36376         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
36377         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
36378         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
36379         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
36380         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
36381         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
36382         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
36383         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
36384         Likewise.
36385         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
36386         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
36387         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
36388         Likewise.
36389         * tests/test-spawn.c (main): Make it work when
36390         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
36391
36392 2010-03-07  Bruno Haible  <bruno@clisp.org>
36393
36394         Fix incorrect Makefile.am generation in German locale.
36395         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
36396         Execute sed command with character range in C locale.
36397
36398 2010-03-06  Bruno Haible  <bruno@clisp.org>
36399
36400         Tests for module 'iconv-h'.
36401         * modules/iconv-h-tests: New file.
36402         * tests/test-iconv-h.c: New file.
36403
36404         New module 'iconv-h'.
36405         * modules/iconv-h: New file.
36406         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
36407         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
36408         (configure.ac): Remove gl_ICONV_H.
36409         (Makefile.am): Remove rule for iconv.h.
36410
36411 2010-03-06  Bruno Haible  <bruno@clisp.org>
36412
36413         More consistent naming of *.m4 files.
36414         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
36415         * modules/wctype (Files): Update.
36416
36417         More consistent naming of *.m4 files.
36418         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
36419         * modules/wchar (Files): Update.
36420
36421 2010-03-06  Jim Meyering  <meyering@redhat.com>
36422
36423         euidaccess: relax license to LGPLv2+
36424         * modules/euidaccess (License): Relax to LGPLv2+.
36425
36426 2010-03-06  Bruno Haible  <bruno@clisp.org>
36427
36428         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
36429         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
36430         (Makefile.am): Augment lib_SOURCES instead.
36431
36432 2010-03-04  Jim Meyering  <meyering@redhat.com>
36433
36434         utime: remove obsolete module
36435         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
36436         unnecessary for years, and has been marked as obsolete for 10 months.
36437         * modules/utime: Remove file.
36438         * lib/utime.c: Remove file.
36439         * m4/utime.m4: Remove file.
36440         * m4/utimes-null.m4: Remove file.
36441         * doc/posix-functions/utime.texi (utime): Remove reference to
36442         the module.  Move the sole "fixed by gnulib" item into the
36443         "problems not fixed by Gnulib" list.
36444         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
36445
36446 2010-03-05  Simon Josefsson  <simon@josefsson.org>
36447
36448         * modules/exit (License): Relax license to LGPLv2+.
36449         (Status): Mark as obsolete.
36450         * NEWS: Mention deprecated 'exit' module.
36451         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
36452         of now obsolete 'exit'.
36453
36454 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36455
36456         fts-lgpl: remove unused module
36457         * modules/fts-lgpl: Remove.
36458         * MODULES.html.sh (func_all_modules): Adjust.
36459         * check-module (find_included_lib_files): Adjust.
36460         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
36461
36462 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
36463
36464         copy-acl: enhance Solaris ACL error handling
36465         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
36466         * lib/set-mode-acl.c (qset_acl): Likewise.
36467
36468 2010-03-02  Bruno Haible  <bruno@clisp.org>
36469
36470         spawn: Don't override the system defined values on FreeBSD 8.
36471         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
36472         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
36473         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
36474         if HAVE_POSIX_SPAWN is 1.
36475         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
36476
36477 2010-03-01  Bruno Haible  <bruno@clisp.org>
36478
36479         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
36480         regarding Automake.
36481
36482 2010-02-25  Bruno Haible  <bruno@clisp.org>
36483
36484         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
36485         * gnulib-tool: Define 'echo' as a function only before the ksh alias
36486         setting, not afterwards.
36487         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
36488
36489 2010-02-24  Eric Blake  <eblake@redhat.com>
36490
36491         bootstrap, git-version-gen: use timestamp
36492         * build-aux/git-version-gen (scriptversion): Force UTC.
36493         * build-aux/bootstrap (scriptversion): New variable.
36494
36495         bootstrap: allow older git
36496         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
36497         older than 1.6.4.  Requested by the libvirt project.
36498
36499 2010-02-23  Eric Blake  <eblake@redhat.com>
36500
36501         warn-on-use: work with old autoconf
36502         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
36503         AS_VAR semantics of autoconf 2.60.
36504         Reported by Bruno Haible.
36505
36506         bootstrap: improve some comments
36507         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
36508         clarification comments.
36509
36510         gettimeofday: provide correct function
36511         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
36512         when replacement is declared, otherwise provide gettimeofday.
36513         Reported by Michael Goffioul.
36514
36515 2010-02-23  Jim Meyering  <meyering@redhat.com>
36516
36517         lib-ignore: relax license to "unlimited", not LGPLv2+
36518         * modules/lib-ignore (License): Relax to "unlimited".
36519
36520 2010-02-23  Jim Meyering  <meyering@redhat.com>
36521
36522         lib-ignore: relax license to LGPLv2+
36523         * modules/lib-ignore (License): Relax to LGPLv2+.
36524
36525 2010-02-22  Eric Blake  <eblake@redhat.com>
36526
36527         lseek: avoid bash 3.2 broken pipe bug
36528         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
36529         warning from bash 3.2.
36530         Reported by Ben Pfaff, with analysis from Bruno Haible.
36531
36532         bootstrap: support non-FSF copyright holder
36533         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
36534         bootstrap.conf override of COPYRIGHT_HOLDER.
36535         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
36536
36537         bootstrap: interoperate with gettext 0.14.1
36538         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
36539
36540         bootstrap: allow for alternate submodule location
36541         * build-aux/bootstrap (gnulib_path): New variable; use instead of
36542         hardcoding submodule location.
36543         (gnulib_mk): Allow direct use of Makefile.am.
36544
36545         bootstrap: use GNULIB_SRCDIR to reduce disk usage
36546         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
36547         rather than reconfiguring where the submodule points.
36548
36549         gettimeofday: restore support for platforms that lack function
36550         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
36551         replacement if function is missing.
36552         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
36553         * modules/sys_time (Makefile.am): Substitute it.
36554         * lib/sys_time.in.h (gettimeofday): Check it.
36555         Reported by Michael Goffioul.
36556
36557 2010-02-21  Bruno Haible  <bruno@clisp.org>
36558
36559         * lib/stdio.in.h (obstack_printf): Fix typo.
36560
36561 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
36562
36563         vc-list-files: use bzr ls's -R option
36564         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
36565         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
36566
36567 2010-02-21  Jim Meyering  <meyering@redhat.com>
36568
36569         init.sh: fix EXEEXT shims to work also for names like test-prog
36570         * tests/init.sh: Re-exec a better shell, when needed.
36571         If the current shell lacks support for posix $(...), an init.sh-using
36572         test will now try to find a shell that supports that.  If EXEEXT is
36573         nonempty, we also require support for hyphen-in-alias-name and shell
36574         substitutions like ${var#glob}.  Failure to find such a shell results
36575         in a skipped test.
36576
36577 2010-02-21  Bruno Haible  <bruno@clisp.org>
36578
36579         Really work around around "broken pipe" error message from bash 3.2.
36580         * gnulib-tool (func_reset_sigpipe): Remove function.
36581         (echo): In bash 3.2, define to a function that uses printf.
36582         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
36583
36584 2010-02-20  Bruno Haible  <bruno@clisp.org>
36585
36586         Restore support for automake 1.9.6 with autoconf 2.61.
36587         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
36588         Reported by James Youngman <jay@gnu.org>.
36589
36590 2010-02-20  Bruno Haible  <bruno@clisp.org>
36591
36592         Improve *printf warning condition.
36593         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
36594         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
36595         and the function is overridden due to SIGPIPE emulation.
36596
36597 2010-02-20  Bruno Haible  <bruno@clisp.org>
36598
36599         * lib/stdio.in.h: Tweak comments.
36600
36601 2010-02-19  Bruno Haible  <bruno@clisp.org>
36602
36603         Make it easier to find modules. New gnulib-tool option '--find'.
36604         * gnulib-tool: New option --find.
36605         (func_usage): Document it.
36606         (func_sanitize_modulelist): New function, extracted from
36607         func_all_modules.
36608         (func_all_modules): Invoke it.
36609         * doc/gnulib-tool.texi (Which modules?): New node.
36610
36611 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
36612
36613         * lib/sys_select.in.h: Provide select replacement even if
36614         sys/select.h exists on a system, for Interix.
36615
36616 2010-02-18  Jim Meyering  <meyering@redhat.com>
36617
36618         init.sh: don't use $(...) just yet
36619         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
36620         to accommodate e.g., Solaris' /bin/sh.
36621
36622 2010-02-17  Bruno Haible  <bruno@clisp.org>
36623
36624         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
36625         Reported by Ludovic Courtès <ludo@gnu.org>.
36626
36627 2010-02-16  Simon Josefsson  <simon@josefsson.org>
36628
36629         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
36630         linking with -lintl.
36631
36632 2010-02-17  Simon Josefsson  <simon@josefsson.org>
36633
36634         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
36635         if not provided by the system's netdb.h.  Reported by
36636         ludo@gnu.org (Ludovic Courtès).
36637
36638 2010-02-15  Jim Meyering  <meyering@redhat.com>
36639
36640         init.sh: improve portability and efficiency
36641         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
36642         "dummy" in a for loop.
36643         Use '!', not '^' to select the complement of a character set used
36644         in a "case" statement.
36645         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
36646         Suggestions from Eric Blake.
36647
36648         init.sh: automatically accommodate programs with the .exe suffix
36649         Automatically arrange for an invocation of "prog" to execute the
36650         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
36651         may use the simpler "prog", yet still work when built on a system
36652         that requires specifying the added suffix.
36653         Do this by constructing a function named "prog" that invokes
36654         "prog.exe" for each .exe file in selected directories.
36655         * tests/init.sh (find_exe_basenames_): New function.
36656         (create_exe_shim_functions_): New function.
36657         (path_prepend_): Use it.
36658
36659         maint.mk: mark syntax-check sc_*.m rules as .PHONY
36660         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
36661         "make -t syntax-check" doesn't create a ton of sc_*.m files.
36662
36663 2010-02-14  Jim Meyering  <meyering@redhat.com>
36664
36665         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
36666         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
36667         (sc_prohibit_hash_pjw_without_use): New rule.
36668
36669         maint.mk: allow the default upload destination dir to be overridden
36670         * top/maint.mk (upload_dest_dir_): Define with a default that
36671         preserves the status quo.
36672         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
36673         Reported by Peter Simons.
36674
36675         maint.mk: prohibit inclusion of "hash.h" without_use
36676         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
36677
36678 2010-02-10  Jim Meyering  <meyering@redhat.com>
36679
36680         maint.mk: prohibit inclusion of "ignore-value.h" without_use
36681         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
36682
36683 2010-02-09  Eric Blake  <ebb9@byu.net>
36684         and Bruno Haible  <bruno@clisp.org>
36685
36686         obstack-printf-posix: ensure declaration
36687         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
36688         extracted from gl_FUNC_OBSTACK_PRINTF.
36689         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
36690         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
36691         Likewise.
36692         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
36693         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
36694         0.
36695
36696 2010-02-08  Bruno Haible  <bruno@clisp.org>
36697
36698         gnulib-tool: Fix typo in 2010-02-07 commit.
36699         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
36700         Reported by Eric Blake.
36701
36702 2010-02-07  Bruno Haible  <bruno@clisp.org>
36703
36704         gnulib-tool: Fix up caching patches.
36705         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
36706         option --no-cache. Use associative arrays when supported by the shell.
36707         (sed_comments): New variable.
36708         (modcache): Renamed from do_cache.
36709         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
36710         abbreviate unnecessarily.
36711         (have_associative): New variable.
36712         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
36713         way also for ksh and zsh.
36714         (func_init_sed_convert_to_cache_statements): New function, extracted
36715         from func_cache_lookup_module. Add support for associative arrays.
36716         Don't set the c_MODULE_cached variable here. Ignore all lines before
36717         the first field header. Remove only the final newline, not all trailing
36718         newlines. Support empty fields correctly. Limit the use of 'eval' to
36719         assignments.
36720         (func_get_description, func_get_status, func_get_notice,
36721         func_get_applicability, func_get_filelist, func_get_dependencies,
36722         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
36723         func_get_automake_snippet, func_get_include_directive,
36724         func_get_link_directive, func_get_license, func_get_maintainer):
36725         Update documentation. List the unoptimized code first. Add support for
36726         associative arrays. Limit the use of 'eval' to assignments.
36727         (func_get_applicability): Undo stylistic pessimisations.
36728         (func_get_automake_snippet, func_get_include_directive): Reduce code
36729         duplication.
36730         (func_modules_transitive_closure, func_modules_add_dummy,
36731         func_modules_notice, func_modules_to_filelist, func_add_file,
36732         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
36733         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
36734         func_create_testdir, func_create_megatestdir): Update documentation.
36735
36736 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36737
36738         * gnulib-tool (func_cache_lookup_module): Store the module name
36739         belonging to the cache variable; error out if two different
36740         module names map to the same cache variable name.
36741
36742 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36743
36744         gnulib-tool: Make caching optional.
36745         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
36746         Update matching short versions of --no-changelog.
36747         (func_usage): Update.
36748         (sed_extract_cache_prog): Renamed from ...
36749         (sed_extract_prog): ... this; revert to old extraction script.
36750         (func_get_description, func_get_status)
36751         (func_get_notice, func_get_applicability, func_get_filelist)
36752         (func_get_dependencies, func_get_autoconf_early_snippet)
36753         (func_get_autoconf_snippet, func_get_automake_snippet)
36754         (func_get_include_directive, func_get_link_directive)
36755         (func_get_license, func_get_maintainer): If $do_cache is false,
36756         use old, non-caching extraction scripts.
36757         Suggestion by Bruno Haible.
36758
36759 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36760
36761         gnulib-tool: cache module metainformation.
36762         * gnulib-tool (sed_extract_prog): Match newline before each
36763         header, and rewrite header to a shell variable suffix.
36764         (func_cache_var, func_cache_lookup_module): New functions,
36765         to turn a module name into a cache variable prefix, and to
36766         look up and cache module metainformation.
36767         (func_get_description, func_get_status)
36768         (func_get_notice, func_get_applicability, func_get_filelist)
36769         (func_get_dependencies, func_get_autoconf_early_snippet)
36770         (func_get_autoconf_snippet, func_get_automake_snippet)
36771         (func_get_include_directive, func_get_link_directive)
36772         (func_get_license, func_get_maintainer): Use
36773         func_cache_lookup_module.
36774
36775 2010-02-07  Bruno Haible  <bruno@clisp.org>
36776
36777         fnctl: Fix missing dependency.
36778         * modules/fcntl (Depends-on): Add getdtablesize.
36779         Reported by John W. Eaton <jwe@gnu.org>.
36780
36781 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
36782
36783         Argp: fix recognition of short alias options.
36784
36785         * lib/argp-parse.c (convert_options): Fix improper use of
36786         `|' between character values.
36787         * tests/test-argp.c (group1_option): New alias option
36788         --read (-r).
36789         (group1_parser): Special handling for 'r'.
36790         (test15): New test case.
36791         (test_fun): Add test15.
36792         * tests/test-argp-2.sh: Update expected --help and --usage
36793         outputs.
36794
36795 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
36796
36797         * tests/test-argp.c: Fix indentation.
36798
36799 2010-02-04  Eric Blake  <ebb9@byu.net>
36800
36801         gettimeofday: expose type of second argument
36802         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
36803         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
36804         * tests/test-gettimeofday.c: Use it to silence warning.
36805         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
36806         the issue.
36807
36808 2010-02-03  Jim Meyering  <meyering@redhat.com>
36809
36810         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
36811         * lib/regcomp.c (TYPE_SIGNED): Define.
36812         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
36813
36814         regcomp.c: avoid a new -Wshadow warning
36815         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
36816
36817 2010-02-01  Jim Meyering  <meyering@redhat.com>
36818
36819         removing useless parentheses in cpp #define directives
36820         For motivation, see commit c0221df4, "define STREQ(a,b)
36821         consistently, removing useless parentheses"
36822         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
36823         * lib/mountlist.c (MNT_IGNORE): Likewise.
36824         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
36825
36826 2010-02-01  Eric Blake  <ebb9@byu.net>
36827
36828         sys_time: use link-warning
36829         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
36830         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
36831         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
36832         * modules/sys_time (Depends-on): Add warn-on-use.
36833         (Makefile.am): Always build replacement.
36834         (configure.ac): Update substitutions.
36835         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
36836         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
36837         bother with SYS_TIME_H.
36838         * modules/gettimeofday (configure.ac): Declare indicator.
36839         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
36840         in use.
36841
36842         closein-tests: silence compiler warning
36843         * tests/test-closein.c (main): Ignore fread result.
36844         * modules/closein-tests (Depends-on): Add ignore-value.
36845
36846         tests: silence warning about system return
36847         * tests/test-areadlink-with-size.c (main): Ignore system result.
36848         * tests/test-areadlink.c (main): Likewise.
36849         * tests/test-areadlinkat-with-size.c (main): Likewise.
36850         * tests/test-areadlinkat.c (main): Likewise.
36851         * tests/test-canonicalize-lgpl.c (main): Likewise.
36852         * tests/test-canonicalize.c (main): Likewise.
36853         * tests/test-chown.c (main): Likewise.
36854         * tests/test-fchownat.c (main): Likewise.
36855         * tests/test-fdutimensat.c (main): Likewise.
36856         * tests/test-fstatat.c (main): Likewise.
36857         * tests/test-futimens.c (main): Likewise.
36858         * tests/test-lchown.c (main): Likewise.
36859         * tests/test-link.c (main): Likewise.
36860         * tests/test-linkat.c (main): Likewise.
36861         * tests/test-lstat.c (main): Likewise.
36862         * tests/test-mkdir.c (main): Likewise.
36863         * tests/test-mkdirat.c (main): Likewise.
36864         * tests/test-mkfifo.c (main): Likewise.
36865         * tests/test-mkfifoat.c (main): Likewise.
36866         * tests/test-mknod.c (main): Likewise.
36867         * tests/test-readlink.c (main): Likewise.
36868         * tests/test-remove.c (main): Likewise.
36869         * tests/test-rename.c (main): Likewise.
36870         * tests/test-renameat.c (main): Likewise.
36871         * tests/test-rmdir.c (main): Likewise.
36872         * tests/test-symlink.c (main): Likewise.
36873         * tests/test-symlinkat.c (main): Likewise.
36874         * tests/test-unlink.c (main): Likewise.
36875         * tests/test-unlinkat.c (main): Likewise.
36876         * tests/test-utimens.c (main): Likewise.
36877         * tests/test-utimensat.c (main): Likewise.
36878         * modules/areadlink-tests (Depends-on): Add ignore-value.
36879         * modules/areadlink-with-size-tests (Depends-on): Likewise.
36880         * modules/areadlinkat-tests (Depends-on): Likewise.
36881         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
36882         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
36883         * modules/canonicalize-tests (Depends-on): Likewise.
36884         * modules/chown-tests (Depends-on): Likewise.
36885         * modules/fdutimensat-tests (Depends-on): Likewise.
36886         * modules/futimens-tests (Depends-on): Likewise.
36887         * modules/lchown-tests (Depends-on): Likewise.
36888         * modules/link-tests (Depends-on): Likewise.
36889         * modules/linkat-tests (Depends-on): Likewise.
36890         * modules/lstat-tests (Depends-on): Likewise.
36891         * modules/mkdir-tests (Depends-on): Likewise.
36892         * modules/mkfifo-tests (Depends-on): Likewise.
36893         * modules/mkfifoat-tests (Depends-on): Likewise.
36894         * modules/mknod-tests (Depends-on): Likewise.
36895         * modules/openat-tests (Depends-on): Likewise.
36896         * modules/readlink-tests (Depends-on): Likewise.
36897         * modules/remove-tests (Depends-on): Likewise.
36898         * modules/rename-tests (Depends-on): Likewise.
36899         * modules/renameat-tests (Depends-on): Likewise.
36900         * modules/rmdir-tests (Depends-on): Likewise.
36901         * modules/symlink-tests (Depends-on): Likewise.
36902         * modules/symlinkat-tests (Depends-on): Likewise.
36903         * modules/unlink-tests (Depends-on): Likewise.
36904         * modules/utimens-tests (Depends-on): Likewise.
36905         * modules/utimensat-tests (Depends-on): Likewise.
36906
36907 2010-01-31  Bruno Haible  <bruno@clisp.org>
36908
36909         Perform the same test for many <math.h> functions.
36910         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
36911         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
36912         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
36913         of gl_MATHFUNC.
36914         * modules/acos (configure.ac): Likewise.
36915         * modules/asin (configure.ac): Likewise.
36916         * modules/atan (configure.ac): Likewise.
36917         * modules/atan2 (configure.ac): Likewise.
36918         * modules/cbrt (configure.ac): Likewise.
36919         * modules/copysign (configure.ac): Likewise.
36920         * modules/cos (configure.ac): Likewise.
36921         * modules/cosh (configure.ac): Likewise.
36922         * modules/erf (configure.ac): Likewise.
36923         * modules/erfc (configure.ac): Likewise.
36924         * modules/exp (configure.ac): Likewise.
36925         * modules/fmod (configure.ac): Likewise.
36926         * modules/hypot (configure.ac): Likewise.
36927         * modules/j0 (configure.ac): Likewise.
36928         * modules/j1 (configure.ac): Likewise.
36929         * modules/jn (configure.ac): Likewise.
36930         * modules/lgamma (configure.ac): Likewise.
36931         * modules/log (configure.ac): Likewise.
36932         * modules/log10 (configure.ac): Likewise.
36933         * modules/log1p (configure.ac): Likewise.
36934         * modules/pow (configure.ac): Likewise.
36935         * modules/remainder (configure.ac): Likewise.
36936         * modules/sin (configure.ac): Likewise.
36937         * modules/sinh (configure.ac): Likewise.
36938         * modules/tan (configure.ac): Likewise.
36939         * modules/tanh (configure.ac): Likewise.
36940         * modules/y0 (configure.ac): Likewise.
36941         * modules/y1 (configure.ac): Likewise.
36942         * modules/yn (configure.ac): Likewise.
36943         Suggested by Paolo Bonzini.
36944
36945 2010-01-31  Bruno Haible  <bruno@clisp.org>
36946
36947         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
36948
36949 2010-01-31  Bruno Haible  <bruno@clisp.org>
36950
36951         Work around getdelim() bug on FreeBSD 8.0.
36952         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
36953         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
36954         not work.
36955         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
36956         is 1.
36957         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
36958         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
36959         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
36960         a non-zero size.
36961         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
36962
36963 2010-01-31  Bruno Haible  <bruno@clisp.org>
36964
36965         Work around getline() bug on FreeBSD 8.0.
36966         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
36967         and a non-zero size.
36968         * tests/test-getline.c (main): Likewise.
36969         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
36970         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
36971
36972 2010-01-28  Eric Blake  <ebb9@byu.net>
36973
36974         regex: fix build failure
36975         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
36976         platforms.
36977
36978 2010-01-28  Jim Meyering  <meyering@redhat.com>
36979
36980         regex: do not ignore memory allocation failure
36981         * lib/regex_internal.c (create_cd_newstate): Detect
36982         re_node_set_init_copy failure.   Extracted from glibc commit
36983         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
36984
36985         regex: sync more white-space changes from libc
36986         * lib/regex_internal.c: White-space only changes.
36987         * lib/regexec.c: Likewise.
36988
36989         regex: add many uses of __attribute_warn_unused_result__
36990         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
36991         * lib/regexec.c: Likewise.
36992         Extracted from a messy glibc commit.
36993
36994         regcomp.c: spelling and merge-artifact from glibc
36995         * lib/regcomp.c: Merge remainder of glibc's
36996         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
36997
36998         regcomp.c: sync white-space changes from glibc
36999         * lib/regcomp.c: Merge to accommodate white space
37000         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
37001
37002         regcomp.c: do not ignore internal return values
37003         * lib/regcomp.c: Do not ignore internal return values.
37004         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
37005         but without its white-space changes and spelling fixes.
37006
37007         regex_internal.h: define __attribute_warn_unused_result__
37008         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
37009
37010         maint: add a syntax-check rule to check for vulnerable Makefile.in
37011         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
37012
37013 2010-01-27  Jim Meyering  <meyering@redhat.com>
37014
37015         ncftpput-ftp: clean up spaces
37016         * build-aux/ncftpput-ftp: Make Copyright line consistent.
37017         Remove trailing blanks.
37018
37019 2010-01-27  Simon Josefsson  <simon@josefsson.org>
37020
37021         * build-aux/git-version-gen: Fix copyright statement.
37022         * build-aux/gnupload: Likewise.
37023         * tests/test-arcfour.c: Likewise.
37024         * tests/test-arctwo.c: Likewise.
37025         * tests/test-count-one-bits.c: Likewise.
37026         * tests/test-crc.c: Likewise.
37027         * tests/test-des.c: Likewise.
37028         * tests/test-gc-arcfour.c: Likewise.
37029         * tests/test-gc-arctwo.c: Likewise.
37030         * tests/test-gc-des.c: Likewise.
37031         * tests/test-gc-hmac-md5.c: Likewise.
37032         * tests/test-gc-hmac-sha1.c: Likewise.
37033         * tests/test-gc-md2.c: Likewise.
37034         * tests/test-gc-md4.c: Likewise.
37035         * tests/test-gc-md5.c: Likewise.
37036         * tests/test-gc-pbkdf2-sha1.c: Likewise.
37037         * tests/test-gc-rijndael.c: Likewise.
37038         * tests/test-gc-sha1.c: Likewise.
37039         * tests/test-gc.c: Likewise.
37040         * tests/test-gethostname.c: Likewise.
37041         * tests/test-gettimeofday.c: Likewise.
37042         * tests/test-hash.c: Likewise.
37043         * tests/test-hmac-md5.c: Likewise.
37044         * tests/test-hmac-sha1.c: Likewise.
37045         * tests/test-md2.c: Likewise.
37046         * tests/test-md4.c: Likewise.
37047         * tests/test-md5.c: Likewise.
37048         * tests/test-memchr.c: Likewise.
37049         * tests/test-memchr2.c: Likewise.
37050         * tests/test-memcmp.c: Likewise.
37051         * tests/test-memmem.c: Likewise.
37052         * tests/test-memrchr.c: Likewise.
37053         * tests/test-rawmemchr.c: Likewise.
37054         * tests/test-read-file.c: Likewise.
37055         * tests/test-rijndael.c: Likewise.
37056         * tests/test-sockets.c: Likewise.
37057         * tests/test-strchrnul.c: Likewise.
37058         * tests/test-strstr.c: Likewise.
37059         * tests/test-strtod.c: Likewise.
37060         * build-aux/ncftpput-ftp: Likewise.
37061
37062 2010-01-26  Eric Blake  <ebb9@byu.net>
37063
37064         ignore-value: update recommended header name
37065         * modules/ignore-value (Include): Only use <> for headers that
37066         exist in glibc.
37067
37068 2010-01-26  Jim Meyering  <meyering@redhat.com>
37069
37070         test-userspec.c: avoid compiler warnings
37071         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
37072         and "initialization discards qualifiers..." warnings.
37073         Put the first "uid" in its own scope, and make char* members "const".
37074
37075 2010-01-25  Bruno Haible  <bruno@clisp.org>
37076
37077         gnulib-tool: Make warning diagnostics consistent.
37078         * gnulib-tool (func_warning): New function.
37079         Use it everywhere where gnulib-tool produces output to stderr and it is
37080         not a fatal error.
37081
37082 2010-01-25  Bruno Haible  <bruno@clisp.org>
37083
37084         Fix test dependencies.
37085         * modules/xstrtol-tests (Depends-on): Add inttypes.
37086         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
37087
37088 2010-01-25 Pádraig Brady <P@draigBrady.com>
37089
37090         syntax-check: detect incorrect boolean macro values in config.h
37091         * modules/maintainer-makefile (configure.ac): Parameterize the location
37092         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
37093         The logic is from Eric Blake and the location indicated by Jim Meyering.
37094         Note the more natural CONFIG_HEADER name is prohibited by automake
37095         for backwards compatibility reasons.
37096         * top/maint.mk (sc_Wundef_boolean): New rule.
37097
37098 2010-01-25  Jim Meyering  <meyering@redhat.com>
37099
37100         bootstrap: detect MacOS 10.6's shasum, too
37101         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
37102         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
37103
37104 2010-01-23  Jim Meyering  <meyering@redhat.com>
37105
37106         xstrtoll: new module
37107         * modules/xstrtoll: New file.
37108         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
37109         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
37110         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
37111         ./configure fails if you use this module and lack "long long".
37112         * modules/xstrtoll-tests: New module.
37113         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
37114         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
37115         new init.sh-based test framework.
37116
37117 2010-01-24  Bruno Haible  <bruno@clisp.org>
37118
37119         Tests for module 'yn'.
37120         * modules/yn-tests: New file.
37121         * tests/test-yn.c: New file.
37122
37123         Tests for module 'y1'.
37124         * modules/y1-tests: New file.
37125         * tests/test-y1.c: New file.
37126
37127         Tests for module 'y0'.
37128         * modules/y0-tests: New file.
37129         * tests/test-y0.c: New file.
37130
37131         Tests for module 'tanh'.
37132         * modules/tanh-tests: New file.
37133         * tests/test-tanh.c: New file.
37134
37135         Tests for module 'tan'.
37136         * modules/tan-tests: New file.
37137         * tests/test-tan.c: New file.
37138
37139         Tests for module 'sqrt'.
37140         * modules/sqrt-tests: New file.
37141         * tests/test-sqrt.c: New file.
37142
37143         Tests for module 'sinh'.
37144         * modules/sinh-tests: New file.
37145         * tests/test-sinh.c: New file.
37146
37147         Tests for module 'sin'.
37148         * modules/sin-tests: New file.
37149         * tests/test-sin.c: New file.
37150
37151         Tests for module 'rint'.
37152         * modules/rint-tests: New file.
37153         * tests/test-rint.c: New file.
37154
37155         Tests for module 'remainder'.
37156         * modules/remainder-tests: New file.
37157         * tests/test-remainder.c: New file.
37158
37159         Tests for module 'pow'.
37160         * modules/pow-tests: New file.
37161         * tests/test-pow.c: New file.
37162
37163         Tests for module 'nextafter'.
37164         * modules/nextafter-tests: New file.
37165         * tests/test-nextafter.c: New file.
37166
37167         Tests for module 'modf'.
37168         * modules/modf-tests: New file.
37169         * tests/test-modf.c: New file.
37170
37171         Tests for module 'logb'.
37172         * modules/logb-tests: New file.
37173         * tests/test-logb.c: New file.
37174
37175         Tests for module 'log1p'.
37176         * modules/log1p-tests: New file.
37177         * tests/test-log1p.c: New file.
37178
37179         Tests for module 'log10'.
37180         * modules/log10-tests: New file.
37181         * tests/test-log10.c: New file.
37182
37183         Tests for module 'log'.
37184         * modules/log-tests: New file.
37185         * tests/test-log.c: New file.
37186
37187         Tests for module 'lgamma'.
37188         * modules/lgamma-tests: New file.
37189         * tests/test-lgamma.c: New file.
37190
37191         Tests for module 'ldexp'.
37192         * modules/ldexp-tests: New file.
37193         * tests/test-ldexp.c: New file.
37194
37195         Tests for module 'jn'.
37196         * modules/jn-tests: New file.
37197         * tests/test-jn.c: New file.
37198
37199         Tests for module 'j1'.
37200         * modules/j1-tests: New file.
37201         * tests/test-j1.c: New file.
37202
37203         Tests for module 'j0'.
37204         * modules/j0-tests: New file.
37205         * tests/test-j0.c: New file.
37206
37207         Tests for module 'hypot'.
37208         * modules/hypot-tests: New file.
37209         * tests/test-hypot.c: New file.
37210
37211         Tests for module 'fmod'.
37212         * modules/fmod-tests: New file.
37213         * tests/test-fmod.c: New file.
37214
37215         Tests for module 'fabs'.
37216         * modules/fabs-tests: New file.
37217         * tests/test-fabs.c: New file.
37218
37219         Tests for module 'exp'.
37220         * modules/exp-tests: New file.
37221         * tests/test-exp.c: New file.
37222
37223         Tests for module 'erfc'.
37224         * modules/erfc-tests: New file.
37225         * tests/test-erfc.c: New file.
37226
37227         Tests for module 'erf'.
37228         * modules/erf-tests: New file.
37229         * tests/test-erf.c: New file.
37230
37231         Tests for module 'cosh'.
37232         * modules/cosh-tests: New file.
37233         * tests/test-cosh.c: New file.
37234
37235         Tests for module 'cos'.
37236         * modules/cos-tests: New file.
37237         * tests/test-cos.c: New file.
37238
37239         Tests for module 'copysign'.
37240         * modules/copysign-tests: New file.
37241         * tests/test-copysign.c: New file.
37242
37243         Tests for module 'cbrt'.
37244         * modules/cbrt-tests: New file.
37245         * tests/test-cbrt.c: New file.
37246
37247         Tests for module 'atan2'.
37248         * modules/atan2-tests: New file.
37249         * tests/test-atan2.c: New file.
37250
37251         Tests for module 'atan'.
37252         * modules/atan-tests: New file.
37253         * tests/test-atan.c: New file.
37254
37255         Tests for module 'asin'.
37256         * modules/asin-tests: New file.
37257         * tests/test-asin.c: New file.
37258
37259         Tests for module 'acos'.
37260         * modules/acos-tests: New file.
37261         * tests/test-acos.c: New file.
37262
37263 2010-01-24  Bruno Haible  <bruno@clisp.org>
37264
37265         Fix tests for common <math.h> functions.
37266         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
37267         code snippet that references the function pointer, rather than merely
37268         calling the function. Substitute the FUNC_LIBM variable.
37269         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
37270         * modules/acos (configure.ac): Likewise.
37271         * modules/asin (configure.ac): Likewise.
37272         * modules/atan (configure.ac): Likewise.
37273         * modules/atan2 (configure.ac): Likewise.
37274         * modules/cbrt (configure.ac): Likewise.
37275         * modules/copysign (configure.ac): Likewise.
37276         * modules/cos (configure.ac): Likewise.
37277         * modules/cosh (configure.ac): Likewise.
37278         * modules/erf (configure.ac): Likewise.
37279         * modules/erfc (configure.ac): Likewise.
37280         * modules/exp (configure.ac): Likewise.
37281         * modules/fabs (configure.ac): Likewise.
37282         * modules/fmod (configure.ac): Likewise.
37283         * modules/hypot (configure.ac): Likewise.
37284         * modules/j0 (configure.ac): Likewise.
37285         * modules/j1 (configure.ac): Likewise.
37286         * modules/jn (configure.ac): Likewise.
37287         * modules/ldexp (configure.ac): Likewise.
37288         * modules/lgamma (configure.ac): Likewise.
37289         * modules/log (configure.ac): Likewise.
37290         * modules/log10 (configure.ac): Likewise.
37291         * modules/log1p (configure.ac): Likewise.
37292         * modules/logb (configure.ac): Likewise.
37293         * modules/modf (configure.ac): Likewise.
37294         * modules/nextafter (configure.ac): Likewise.
37295         * modules/pow (configure.ac): Likewise.
37296         * modules/remainder (configure.ac): Likewise.
37297         * modules/rint (configure.ac): Likewise.
37298         * modules/sin (configure.ac): Likewise.
37299         * modules/sinh (configure.ac): Likewise.
37300         * modules/tan (configure.ac): Likewise.
37301         * modules/tanh (configure.ac): Likewise.
37302         * modules/y0 (configure.ac): Likewise.
37303         * modules/y1 (configure.ac): Likewise.
37304         * modules/yn (configure.ac): Likewise.
37305
37306 2010-01-24  Bruno Haible  <bruno@clisp.org>
37307
37308         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
37309         * tests/test-acosl.c (x): New variable.
37310         (main): Store argument in x and fetch it from x.
37311         * tests/test-asinl.c (x): New variable.
37312         (main): Store argument in x and fetch it from x.
37313         * tests/test-atanl.c (x): New variable.
37314         (main): Store argument in x and fetch it from x.
37315         * tests/test-cosl.c (x): New variable.
37316         (main): Store argument in x and fetch it from x.
37317         * tests/test-expl.c (x): New variable.
37318         (main): Store argument in x and fetch it from x.
37319         * tests/test-logl.c (x): New variable.
37320         (main): Store argument in x and fetch it from x.
37321         * tests/test-sinl.c (x): New variable.
37322         (main): Store argument in x and fetch it from x.
37323         * tests/test-sqrtl.c (x): New variable.
37324         (main): Store argument in x and fetch it from x.
37325         * tests/test-tanl.c (x): New variable.
37326         (main): Store argument in x and fetch it from x.
37327
37328 2010-01-24  Bruno Haible  <bruno@clisp.org>
37329
37330         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
37331         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
37332         assignments to the initial TESTS_ENVIRONMENT.
37333         * doc/gnulib.texi (Unit test modules): Document it.
37334         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
37335         TESTS_ENVIRONMENT.
37336         * modules/btowc-tests (Makefile.am): Likewise.
37337         * modules/c-stack-tests (Makefile.am): Likewise.
37338         * modules/c-strcase-tests (Makefile.am): Likewise.
37339         * modules/copy-file-tests (Makefile.am): Likewise.
37340         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
37341         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
37342         * modules/mbrtowc-tests (Makefile.am): Likewise.
37343         * modules/mbscasecmp-tests (Makefile.am): Likewise.
37344         * modules/mbscasestr-tests (Makefile.am): Likewise.
37345         * modules/mbschr-tests (Makefile.am): Likewise.
37346         * modules/mbscspn-tests (Makefile.am): Likewise.
37347         * modules/mbsinit-tests (Makefile.am): Likewise.
37348         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
37349         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
37350         * modules/mbspbrk-tests (Makefile.am): Likewise.
37351         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
37352         * modules/mbsrchr-tests (Makefile.am): Likewise.
37353         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
37354         * modules/mbsspn-tests (Makefile.am): Likewise.
37355         * modules/mbsstr-tests (Makefile.am): Likewise.
37356         * modules/nl_langinfo-tests (Makefile.am): Likewise.
37357         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
37358         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
37359         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
37360         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
37361         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
37362         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
37363         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
37364         * modules/wcrtomb-tests (Makefile.am): Likewise.
37365         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
37366         * modules/wcsrtombs-tests (Makefile.am): Likewise.
37367         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
37368         assignments from TESTS_ENVIRONMENT.
37369         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
37370         augmentation.
37371         * modules/argp-version-etc-tests (Makefile.am): Likewise.
37372         * modules/atexit-tests (Makefile.am): Likewise.
37373         * modules/binary-io-tests (Makefile.am): Likewise.
37374         * modules/closein-tests (Makefile.am): Likewise.
37375         * modules/dprintf-posix-tests (Makefile.am): Likewise.
37376         * modules/exclude-tests (Makefile.am): Likewise.
37377         * modules/fflush-tests (Makefile.am): Likewise.
37378         * modules/fpending-tests (Makefile.am): Likewise.
37379         * modules/fprintf-posix-tests (Makefile.am): Likewise.
37380         * modules/freadahead-tests (Makefile.am): Likewise.
37381         * modules/freadptr-tests (Makefile.am): Likewise.
37382         * modules/freadseek-tests (Makefile.am): Likewise.
37383         * modules/fseek-tests (Makefile.am): Likewise.
37384         * modules/fseeko-tests (Makefile.am): Likewise.
37385         * modules/ftell-tests (Makefile.am): Likewise.
37386         * modules/ftello-tests (Makefile.am): Likewise.
37387         * modules/idpriv-drop-tests (Makefile.am): Likewise.
37388         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
37389         * modules/lseek-tests (Makefile.am): Likewise.
37390         * modules/parse-duration-tests (Makefile.am): Likewise.
37391         * modules/perror-tests (Makefile.am): Likewise.
37392         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
37393         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
37394         * modules/pipe-tests (Makefile.am): Likewise.
37395         * modules/pread-tests (Makefile.am): Likewise.
37396         * modules/printf-posix-tests (Makefile.am): Likewise.
37397         * modules/select-tests (Makefile.am): Likewise.
37398         * modules/sigpipe-tests (Makefile.am): Likewise.
37399         * modules/tsearch-tests (Makefile.am): Likewise.
37400         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
37401         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
37402         * modules/uniname/uniname-tests (Makefile.am): Likewise.
37403         * modules/uniwidth/width-tests (Makefile.am): Likewise.
37404         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
37405         * modules/version-etc-tests (Makefile.am): Likewise.
37406         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
37407         * modules/vprintf-posix-tests (Makefile.am): Likewise.
37408         * modules/xalloc-die-tests (Makefile.am): Likewise.
37409         * modules/xprintf-posix-tests (Makefile.am): Likewise.
37410         * modules/xstrtoimax-tests (Makefile.am): Likewise.
37411         * modules/xstrtol-tests (Makefile.am): Likewise.
37412         * modules/xstrtoumax-tests (Makefile.am): Likewise.
37413         * modules/yesno-tests (Makefile.am): Likewise.
37414         Suggested by Jim Meyering.
37415
37416 2010-01-24  Bruno Haible  <bruno@clisp.org>
37417
37418         More documentation.
37419         * doc/gnulib.texi (Writing modules): New chapter.
37420         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
37421         the new chapter.
37422
37423 2010-01-24  Jim Meyering  <meyering@redhat.com>
37424
37425         maint.mk: do not prepend "./" after filtering
37426         * top/maint.mk (_prepend_srcdir_prefix): New variable
37427         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
37428         "./" when $(srcdir) is ".".
37429
37430         define STREQ(a,b) consistently, removing useless parentheses
37431         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
37432         since the only risk is that "a" or "b" contains an unparenthesized
37433         comma, but if either did that, STREQ would have 3 or more arguments.
37434         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
37435         * lib/fts.c (STREQ): Remove unnecessary parentheses.
37436         * lib/hash-triple.c (STREQ): Likewise.
37437         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
37438         * lib/getugroups.c (STREQ): Likewise.
37439
37440 2010-01-23  Jim Meyering  <meyering@redhat.com>
37441
37442         maint.mk: fix syntax-check in a non-srcdir build directory
37443         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
37444         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
37445
37446 2010-01-22  Jim Meyering  <meyering@redhat.com>
37447
37448         userspec: add unit tests
37449         * tests/test-userspec.c: New file.
37450         * modules/userspec-tests: Likewise.
37451
37452 2010-01-21  Jim Meyering  <meyering@redhat.com>
37453
37454         maint.mk: handle source file names containing "." robustly
37455         * top/maint.mk (_dot_escaped_srcdir): Define.
37456         (VC_LIST): Use it in LHS of sed substitution.
37457
37458 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
37459
37460         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
37461         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
37462         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
37463         from a non-srcdir build.
37464
37465 2010-01-20  Eric Blake  <ebb9@byu.net>
37466
37467         warn-on-use: use instead of link-warning
37468         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
37469         * modules/unistd (Depends-on, Makefile.am): Likewise.
37470         * modules/arpa_inet (Depends-on): Replace link-warning with
37471         warn-on-use.
37472         (Makefile.am): Update rules accordingly.
37473         * modules/ctype (Depends-on, Makefile.am): Likewise.
37474         * modules/dirent (Depends-on, Makefile.am): Likewise.
37475         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
37476         * modules/inttypes (Depends-on, Makefile.am): Likewise.
37477         * modules/langinfo (Depends-on, Makefile.am): Likewise.
37478         * modules/locale (Depends-on, Makefile.am): Likewise.
37479         * modules/math (Depends-on, Makefile.am): Likewise.
37480         * modules/search (Depends-on, Makefile.am): Likewise.
37481         * modules/signal (Depends-on, Makefile.am): Likewise.
37482         * modules/spawn (Depends-on, Makefile.am): Likewise.
37483         * modules/stdlib (Depends-on, Makefile.am): Likewise.
37484         * modules/string (Depends-on, Makefile.am): Likewise.
37485         * modules/strings (Depends-on, Makefile.am): Likewise.
37486         * modules/sys_file (Depends-on, Makefile.am): Likewise.
37487         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
37488         * modules/sys_select (Depends-on, Makefile.am): Likewise.
37489         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
37490         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
37491         * modules/sys_times (Depends-on, Makefile.am): Likewise.
37492         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
37493         * modules/wchar (Depends-on, Makefile.am): Likewise.
37494         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
37495         should be poisoned.
37496         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
37497         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
37498         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
37499         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
37500         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
37501         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
37502         * m4/math_h.m4 (gl_MATH_H): Likewise.
37503         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
37504         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
37505         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
37506         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
37507         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
37508         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
37509         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
37510         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
37511         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
37512         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
37513         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
37514         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
37515         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
37516         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
37517         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
37518         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
37519         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
37520         GL_LINK_WARNING.
37521         * lib/ctype.in.h: Likewise.
37522         * lib/dirent.in.h: Likewise.
37523         * lib/fcntl.in.h: Likewise.
37524         * lib/inttypes.in.h: Likewise.
37525         * lib/langinfo.in.h: Likewise.
37526         * lib/locale.in.h: Likewise.
37527         * lib/math.in.h: Likewise.
37528         * lib/search.in.h: Likewise.
37529         * lib/signal.in.h: Likewise.
37530         * lib/spawn.in.h: Likewise.
37531         * lib/stdio.in.h: Likewise.
37532         * lib/stdlib.in.h: Likewise.
37533         * lib/string.in.h: Likewise.
37534         * lib/strings.in.h: Likewise.
37535         * lib/sys_file.in.h: Likewise.
37536         * lib/sys_ioctl.in.h: Likewise.
37537         * lib/sys_select.in.h: Likewise.
37538         * lib/sys_socket.in.h: Likewise.
37539         * lib/sys_stat.in.h: Likewise.
37540         * lib/sys_times.in.h: Likewise.
37541         * lib/sys_utsname.in.h: Likewise.
37542         * lib/unistd.in.h: Likewise.
37543         * lib/wchar.in.h: Likewise.
37544
37545 2010-01-20  Bruno Haible  <bruno@clisp.org>
37546
37547         Avoid duplicate -lm.
37548         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
37549         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
37550         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
37551         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
37552         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
37553         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
37554         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
37555         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
37556         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
37557         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
37558         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
37559         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
37560         Reported by Paolo Bonzini.
37561
37562 2010-01-19  Bruno Haible  <bruno@clisp.org>
37563
37564         langinfo, nl_langinfo: Relicense under LGPLv2+.
37565         * modules/langinfo (License): Change to LGPLv2+.
37566         * modules/nl_langinfo (License): Likewise.
37567         Patch by David Lutterkort <lutter@redhat.com>.
37568
37569 2010-01-19  Bruno Haible  <bruno@clisp.org>
37570
37571         Avoid compilation error with cc on OSF/1 5.1.
37572         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
37573         statement, not before.
37574         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
37575
37576 2010-01-18  Bruno Haible  <bruno@clisp.org>
37577
37578         Avoid a link error due to the __printf__ symbol.
37579         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
37580         and 2.6.x.
37581         (__format__, __printf__): Remove definitions.
37582         * lib/argp-fmtstream.h: Likewise.
37583         * lib/argp.h: Likewise.
37584         * lib/error.h: Likewise.
37585         * lib/vasnprintf.h: Likewise.
37586         * lib/xprintf.h: Likewise.
37587         * lib/xvasprintf.h: Likewise.
37588         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
37589
37590 2010-01-18  Bruno Haible  <bruno@clisp.org>
37591
37592         Tests for module 'tanl'.
37593         * modules/tanl-tests: New file.
37594         * tests/test-tanl.c: New file.
37595
37596         Tests for module 'sqrtl'.
37597         * modules/sqrtl-tests: New file.
37598         * tests/test-sqrtl.c: New file.
37599
37600         Tests for module 'sinl'.
37601         * modules/sinl-tests: New file.
37602         * tests/test-sinl.c: New file.
37603
37604         Tests for module 'logl'.
37605         * modules/logl-tests: New file.
37606         * tests/test-logl.c: New file.
37607
37608         Tests for module 'expl'.
37609         * modules/expl-tests: New file.
37610         * tests/test-expl.c: New file.
37611
37612         Tests for module 'cosl'.
37613         * modules/cosl-tests: New file.
37614         * tests/test-cosl.c: New file.
37615
37616         Tests for module 'atanl'.
37617         * modules/atanl-tests: New file.
37618         * tests/test-atanl.c: New file.
37619
37620         Tests for module 'asinl'.
37621         * modules/asinl-tests: New file.
37622         * tests/test-asinl.c: New file.
37623
37624         Tests for module 'acosl'.
37625         * modules/acosl-tests: New file.
37626         * tests/test-acosl.c: New file.
37627
37628         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
37629         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
37630         tanl): Use the standard gnulib idiom.
37631         * lib/cosl.c: Don't include trigl.c and sincosl.c.
37632         * lib/sinl.c: Likewise.
37633         * lib/tanl.c: Don't include trigl.c.
37634         (kernel_tanl): Make static.
37635         * lib/sincosl.c: Include trigl.h first.
37636         * lib/trigl.c: Likewise.
37637         * m4/acosl.m4: New file.
37638         * m4/asinl.m4: New file.
37639         * m4/atanl.m4: New file.
37640         * m4/cosl.m4: New file.
37641         * m4/expl.m4: New file.
37642         * m4/logl.m4: New file.
37643         * m4/sinl.m4: New file.
37644         * m4/sqrtl.m4: New file.
37645         * m4/tanl.m4: New file.
37646         * m4/mathl.m4: Remove file.
37647         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
37648         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
37649         Don't initialize GNULIB_MATHL.
37650         * modules/acosl: New file.
37651         * modules/asinl: New file.
37652         * modules/atanl: New file.
37653         * modules/cosl: New file.
37654         * modules/expl: New file.
37655         * modules/logl: New file.
37656         * modules/sinl: New file.
37657         * modules/sqrtl: New file.
37658         * modules/tanl: New file.
37659         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
37660         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
37661         substitute GNULIB_MATHL.
37662         * modules/mathl: Rewritten.
37663         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
37664         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
37665         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
37666         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
37667         * doc/posix-functions/expl.texi: Mention the 'expl' module.
37668         * doc/posix-functions/logl.texi: Mention the 'logl' module.
37669         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
37670         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
37671         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
37672
37673 2010-01-18  Bruno Haible  <bruno@clisp.org>
37674
37675         sqrt: Make gl_FUNC_SQRT requirable.
37676         * m4/sqrt.m4: New file.
37677         * modules/sqrt (Files): Add it.
37678         (configure.ac): Invoke gl_FUNC_SQRT.
37679
37680 2010-01-18  Bruno Haible  <bruno@clisp.org>
37681
37682         New modules for common <math.h> functions.
37683         * m4/mathfunc.m4: New file.
37684         * modules/acos: New file.
37685         * modules/asin: New file.
37686         * modules/atan: New file.
37687         * modules/atan2: New file.
37688         * modules/cbrt: New file.
37689         * modules/copysign: New file.
37690         * modules/cos: New file.
37691         * modules/cosh: New file.
37692         * modules/erf: New file.
37693         * modules/erfc: New file.
37694         * modules/exp: New file.
37695         * modules/fabs: New file.
37696         * modules/fmod: New file.
37697         * modules/hypot: New file.
37698         * modules/j0: New file.
37699         * modules/j1: New file.
37700         * modules/jn: New file.
37701         * modules/ldexp: New file.
37702         * modules/lgamma: New file.
37703         * modules/log: New file.
37704         * modules/log10: New file.
37705         * modules/log1p: New file.
37706         * modules/logb: New file.
37707         * modules/modf: New file.
37708         * modules/nextafter: New file.
37709         * modules/pow: New file.
37710         * modules/remainder: New file.
37711         * modules/rint: New file.
37712         * modules/sin: New file.
37713         * modules/sinh: New file.
37714         * modules/sqrt: New file.
37715         * modules/tan: New file.
37716         * modules/tanh: New file.
37717         * modules/y0: New file.
37718         * modules/y1: New file.
37719         * modules/yn: New file.
37720         * doc/posix-functions/acos.texi: Mention the 'acos' module.
37721         * doc/posix-functions/asin.texi: Mention the 'asin' module.
37722         * doc/posix-functions/atan.texi: Mention the 'atan' module.
37723         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
37724         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
37725         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
37726         * doc/posix-functions/cos.texi: Mention the 'cos' module.
37727         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
37728         * doc/posix-functions/erf.texi: Mention the 'erf' module.
37729         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
37730         * doc/posix-functions/exp.texi: Mention the 'exp' module.
37731         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
37732         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
37733         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
37734         * doc/posix-functions/j0.texi: Mention the 'j0' module.
37735         * doc/posix-functions/j1.texi: Mention the 'j1' module.
37736         * doc/posix-functions/jn.texi: Mention the 'jn' module.
37737         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
37738         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
37739         * doc/posix-functions/log.texi: Mention the 'log' module.
37740         * doc/posix-functions/log10.texi: Mention the 'log10' module.
37741         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
37742         * doc/posix-functions/logb.texi: Mention the 'logb' module.
37743         * doc/posix-functions/modf.texi: Mention the 'modf' module.
37744         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
37745         * doc/posix-functions/pow.texi: Mention the 'pow' module.
37746         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
37747         * doc/posix-functions/rint.texi: Mention the 'rint' module.
37748         * doc/posix-functions/sin.texi: Mention the 'sin' module.
37749         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
37750         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
37751         * doc/posix-functions/tan.texi: Mention the 'tan' module.
37752         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
37753         * doc/posix-functions/y0.texi: Mention the 'y0' module.
37754         * doc/posix-functions/y1.texi: Mention the 'y1' module.
37755         * doc/posix-functions/yn.texi: Mention the 'yn' module.
37756
37757 2010-01-18  Jim Meyering  <meyering@redhat.com>
37758
37759         ignore-value: relax license to LGPLv2+
37760         * modules/ignore-value (License): Relax to LGPLv2+.
37761
37762         getdate: don't leak when TZ contains two or more '"'s
37763         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
37764         double quote in TZ after the first one.
37765
37766         readtokens: do not leak internal token_lengths buffer
37767         * lib/readtokens.c (readtokens): Free the local, lengths,
37768         when the supplied "token_lengths" parameter is NULL.
37769
37770 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37771
37772         Fix a couple of missing LIBTHREAD link failures on AIX.
37773         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
37774         $(LIBTHREAD).
37775         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
37776
37777         Link test-poll against INET_PTON_LIB.
37778         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
37779         for inet_pton on Solaris 10.
37780
37781 2010-01-17  Bruno Haible  <bruno@clisp.org>
37782
37783         unistdio/*-sprintf: Fix typo in module description.
37784         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
37785         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
37786         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
37787         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
37788         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
37789         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
37790         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
37791         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
37792
37793 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37794
37795         gnulib-tool: fix filelist for AIX, HP-UX ksh.
37796         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
37797         variables in shell case patterns, for AIX and HP-UX ksh.
37798
37799         Split large sed scripts, for HP-UX sed.
37800         * modules/stdio: Split sed scripts around 50 sed commands,
37801         to avoid HP-UX limit of 99 commands, in the near future.
37802         * modules/string: Likewise.
37803         * modules/unistd: Likewise.
37804
37805         gnulib-tool: avoid writing in the current directory.
37806         * gnulib-tool (func_emit_lib_Makefile_am)
37807         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
37808         not in the current directory, so concurrent gnulib-tool
37809         instances do not interfere.
37810
37811 2010-01-16  Jim Meyering  <meyering@redhat.com>
37812
37813         doc: update users.txt
37814         * users.txt: Add grep.
37815         (diffutils, gzip): Update URLs.
37816
37817 2010-01-12  Bruno Haible  <bruno@clisp.org>
37818
37819         posix_spawn: Avoid test failure on Cygwin.
37820         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
37821         characters.
37822         Reported by Simon Josefsson.
37823
37824 2010-01-12  Bruno Haible  <bruno@clisp.org>
37825
37826         * tests/test-cond.c (main): When skipping the test, show the reason.
37827
37828 2010-01-12  Simon Josefsson  <simon@josefsson.org>
37829
37830         * lib/striconv.c (str_cd_iconv): Avoid if before free.
37831
37832 2010-01-12  Simon Josefsson  <simon@josefsson.org>
37833
37834         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
37835         VC_LIST_ALWAYS_EXCLUDE_REGEX.
37836
37837 2010-01-12  Eric Blake  <ebb9@byu.net>
37838
37839         build: guarantee AS_VAR_IF
37840         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
37841         (gl_AS_VAR_IF): Move...
37842         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
37843         Reported by Simon Josefsson.
37844
37845 2010-01-12  Simon Josefsson  <simon@josefsson.org>
37846
37847         * lib/stdio.in.h: Fix typo.
37848
37849 2010-01-12  Simon Josefsson  <simon@josefsson.org>
37850
37851         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
37852         libgpg-error.
37853
37854 2010-01-12  Simon Josefsson  <simon@josefsson.org>
37855
37856         * tests/test-xalloc-die.sh: Use $EXEEXT.
37857
37858 2010-01-12  Simon Josefsson  <simon@josefsson.org>
37859             Bruno Haible  <bruno@clisp.org>
37860
37861         getlogin, getlogin_r: Avoid test failure.
37862         * tests/test-getlogin.c: Include <stdio.h>.
37863         (main): Skip the test when the function fails because stdin is not a
37864         tty.
37865         * tests/test-getlogin_r.c: Include <stdio.h>.
37866         (main): Skip the test when the function fails because stdin is not a
37867         tty.
37868
37869 2010-01-11  Eric Blake  <ebb9@byu.net>
37870
37871         tests: avoid more large file warnings
37872         * tests/test-fflush.c: Avoid warning about ftell use.
37873         * tests/test-fseek.c: Avoid warning about fseek use.
37874
37875 2010-01-10  Bruno Haible  <bruno@clisp.org>
37876
37877         nproc: Work better on Linux when /proc and /sys are not mounted.
37878         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
37879         as lower bound when, on glibc/Linux systems,
37880         sysconf (_SC_NPROCESSORS_CONF) returns 1.
37881         Suggested by Pádraig Brady <P@draigbrady.com>.
37882         Reported by Dmitry V. Levin <ldv@altlinux.org>.
37883
37884         nproc: Refactor.
37885         * lib/nproc.c (num_processors_via_affinity_mask): New function,
37886         extracted from num_processors.
37887         (num_processors): Call it.
37888
37889 2010-01-11  Jim Meyering  <meyering@redhat.com>
37890
37891         utimecmp: avoid new warning from upcoming gcc-4.5.0
37892         * lib/utimecmp.c (BILLION): Define using #define rather than an
37893         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
37894
37895 2010-01-11  Eric Blake  <ebb9@byu.net>
37896
37897         math: add portability warnings for classification macros
37898         * modules/math (Depends-on): Add warn-on-use.
37899         (Makefile.am): Provide new substitutions.
37900         * m4/math_h.m4 (gl_MATH_H): Require inline.
37901         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
37902         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
37903         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
37904         implement warnings.
37905
37906         unistd: warn on use of environ without module
37907         * modules/unistd (Depends-on): Add warn-on-use.
37908         (Makefile.am): Provide new substitutions.
37909         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
37910         * lib/unistd.in.h (environ): Wrap with a warning helper function.
37911
37912         stdio: warn on suspicious uses
37913         * modules/stdio (Depends-on): Add warn-on-use.
37914         (Makefile.am): Provide new substitutions.
37915         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
37916         fseeko.
37917         * lib/stdio.in.h (gets): Always warn on use.
37918         (fseek, ftell): Adjust when warnings are issued, and honor
37919         _GL_NO_LARGE_FILES as a way to silence the warning.
37920         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
37921         any warning about large file offsets.
37922         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
37923         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
37924         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
37925         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
37926         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
37927         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
37928         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
37929         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
37930
37931         warn-on-use: new module
37932         * modules/warn-on-use: New file.
37933         * build-aux/warn-on-use.h: Likewise.
37934         * m4/warn-on-use.m4: Likewise.
37935         * MODULES.html.sh (Support for building): Mention it.
37936
37937 2010-01-10  Bruno Haible  <bruno@clisp.org>
37938
37939         Tests for module 'unistr/u32-strdup'.
37940         * modules/unistr/u32-strdup-tests: New file.
37941         * tests/unistr/test-u32-strdup.c: New file.
37942
37943         Tests for module 'unistr/u16-strdup'.
37944         * modules/unistr/u16-strdup-tests: New file.
37945         * tests/unistr/test-u16-strdup.c: New file.
37946
37947         Tests for module 'unistr/u8-strdup'.
37948         * modules/unistr/u8-strdup-tests: New file.
37949         * tests/unistr/test-u8-strdup.c: New file.
37950         * tests/unistr/test-strdup.h: New file.
37951
37952         Tests for module 'unistr/u32-strncmp'.
37953         * modules/unistr/u32-strncmp-tests: New file.
37954         * tests/unistr/test-u32-strncmp.c: New file.
37955
37956         Tests for module 'unistr/u16-strncmp'.
37957         * modules/unistr/u16-strncmp-tests: New file.
37958         * tests/unistr/test-u16-strncmp.c: New file.
37959
37960         Tests for module 'unistr/u8-strncmp'.
37961         * modules/unistr/u8-strncmp-tests: New file.
37962         * tests/unistr/test-u8-strncmp.c: New file.
37963         * tests/unistr/test-strncmp.h: New file.
37964
37965         Tests for module 'unistr/u32-strcoll'.
37966         * modules/unistr/u32-strcoll-tests: New file.
37967         * tests/unistr/test-u32-strcoll.c: New file.
37968
37969         Tests for module 'unistr/u16-strcoll'.
37970         * modules/unistr/u16-strcoll-tests: New file.
37971         * tests/unistr/test-u16-strcoll.c: New file.
37972
37973         Tests for module 'unistr/u8-strcoll'.
37974         * modules/unistr/u8-strcoll-tests: New file.
37975         * tests/unistr/test-u8-strcoll.c: New file.
37976
37977         Tests for module 'unistr/u32-strcmp'.
37978         * modules/unistr/u32-strcmp-tests: New file.
37979         * tests/unistr/test-u32-strcmp.c: New file.
37980         * tests/unistr/test-u32-strcmp.h: New file.
37981
37982         Tests for module 'unistr/u16-strcmp'.
37983         * modules/unistr/u16-strcmp-tests: New file.
37984         * tests/unistr/test-u16-strcmp.c: New file.
37985         * tests/unistr/test-u16-strcmp.h: New file.
37986
37987         Tests for module 'unistr/u8-strcmp'.
37988         * modules/unistr/u8-strcmp-tests: New file.
37989         * tests/unistr/test-u8-strcmp.c: New file.
37990         * tests/unistr/test-u8-strcmp.h: New file.
37991         * tests/unistr/test-strcmp.h: New file.
37992
37993         Tests for module 'unistr/u32-strncat'.
37994         * modules/unistr/u32-strncat-tests: New file.
37995         * tests/unistr/test-u32-strncat.c: New file.
37996
37997         Tests for module 'unistr/u16-strncat'.
37998         * modules/unistr/u16-strncat-tests: New file.
37999         * tests/unistr/test-u16-strncat.c: New file.
38000
38001         Tests for module 'unistr/u8-strncat'.
38002         * modules/unistr/u8-strncat-tests: New file.
38003         * tests/unistr/test-u8-strncat.c: New file.
38004         * tests/unistr/test-strncat.h: New file.
38005
38006         Tests for module 'unistr/u32-strcat'.
38007         * modules/unistr/u32-strcat-tests: New file.
38008         * tests/unistr/test-u32-strcat.c: New file.
38009
38010         Tests for module 'unistr/u16-strcat'.
38011         * modules/unistr/u16-strcat-tests: New file.
38012         * tests/unistr/test-u16-strcat.c: New file.
38013
38014         Tests for module 'unistr/u8-strcat'.
38015         * modules/unistr/u8-strcat-tests: New file.
38016         * tests/unistr/test-u8-strcat.c: New file.
38017         * tests/unistr/test-strcat.h: New file.
38018
38019         Tests for module 'unistr/u32-stpncpy'.
38020         * modules/unistr/u32-stpncpy-tests: New file.
38021         * tests/unistr/test-u32-stpncpy.c: New file.
38022
38023         Tests for module 'unistr/u16-stpncpy'.
38024         * modules/unistr/u16-stpncpy-tests: New file.
38025         * tests/unistr/test-u16-stpncpy.c: New file.
38026
38027         Tests for module 'unistr/u8-stpncpy'.
38028         * modules/unistr/u8-stpncpy-tests: New file.
38029         * tests/unistr/test-u8-stpncpy.c: New file.
38030         * tests/unistr/test-stpncpy.h: New file.
38031
38032         Tests for module 'unistr/u32-strncpy'.
38033         * modules/unistr/u32-strncpy-tests: New file.
38034         * tests/unistr/test-u32-strncpy.c: New file.
38035
38036         Tests for module 'unistr/u16-strncpy'.
38037         * modules/unistr/u16-strncpy-tests: New file.
38038         * tests/unistr/test-u16-strncpy.c: New file.
38039
38040         Tests for module 'unistr/u8-strncpy'.
38041         * modules/unistr/u8-strncpy-tests: New file.
38042         * tests/unistr/test-u8-strncpy.c: New file.
38043         * tests/unistr/test-strncpy.h: New file.
38044
38045         Tests for module 'unistr/u32-stpcpy'.
38046         * modules/unistr/u32-stpcpy-tests: New file.
38047         * tests/unistr/test-u32-stpcpy.c: New file.
38048
38049         Tests for module 'unistr/u16-stpcpy'.
38050         * modules/unistr/u16-stpcpy-tests: New file.
38051         * tests/unistr/test-u16-stpcpy.c: New file.
38052
38053         Tests for module 'unistr/u8-stpcpy'.
38054         * modules/unistr/u8-stpcpy-tests: New file.
38055         * tests/unistr/test-u8-stpcpy.c: New file.
38056         * tests/unistr/test-stpcpy.h: New file.
38057
38058         Tests for module 'unistr/u32-strcpy'.
38059         * modules/unistr/u32-strcpy-tests: New file.
38060         * tests/unistr/test-u32-strcpy.c: New file.
38061
38062         Tests for module 'unistr/u16-strcpy'.
38063         * modules/unistr/u16-strcpy-tests: New file.
38064         * tests/unistr/test-u16-strcpy.c: New file.
38065
38066         Tests for module 'unistr/u8-strcpy'.
38067         * modules/unistr/u8-strcpy-tests: New file.
38068         * tests/unistr/test-u8-strcpy.c: New file.
38069         * tests/unistr/test-strcpy.h: New file.
38070
38071         Tests for module 'unistr/u32-strnlen'.
38072         * modules/unistr/u32-strnlen-tests: New file.
38073         * tests/unistr/test-u32-strnlen.c: New file.
38074
38075         Tests for module 'unistr/u16-strnlen'.
38076         * modules/unistr/u16-strnlen-tests: New file.
38077         * tests/unistr/test-u16-strnlen.c: New file.
38078
38079         Tests for module 'unistr/u8-strnlen'.
38080         * modules/unistr/u8-strnlen-tests: New file.
38081         * tests/unistr/test-u8-strnlen.c: New file.
38082         * tests/unistr/test-strnlen.h: New file.
38083
38084         Tests for module 'unistr/u32-strlen'.
38085         * modules/unistr/u32-strlen-tests: New file.
38086         * tests/unistr/test-u32-strlen.c: New file.
38087
38088         Tests for module 'unistr/u16-strlen'.
38089         * modules/unistr/u16-strlen-tests: New file.
38090         * tests/unistr/test-u16-strlen.c: New file.
38091
38092         Tests for module 'unistr/u8-strlen'.
38093         * modules/unistr/u8-strlen-tests: New file.
38094         * tests/unistr/test-u8-strlen.c: New file.
38095
38096         Tests for module 'unistr/u32-prev'.
38097         * modules/unistr/u32-prev-tests: New file.
38098         * tests/unistr/test-u32-prev.c: New file.
38099
38100         Tests for module 'unistr/u16-prev'.
38101         * modules/unistr/u16-prev-tests: New file.
38102         * tests/unistr/test-u16-prev.c: New file.
38103
38104         Tests for module 'unistr/u8-prev'.
38105         * modules/unistr/u8-prev-tests: New file.
38106         * tests/unistr/test-u8-prev.c: New file.
38107
38108         Tests for module 'unistr/u32-next'.
38109         * modules/unistr/u32-next-tests: New file.
38110         * tests/unistr/test-u32-next.c: New file.
38111
38112         Tests for module 'unistr/u16-next'.
38113         * modules/unistr/u16-next-tests: New file.
38114         * tests/unistr/test-u16-next.c: New file.
38115
38116         Tests for module 'unistr/u8-next'.
38117         * modules/unistr/u8-next-tests: New file.
38118         * tests/unistr/test-u8-next.c: New file.
38119
38120         Tests for module 'unistr/u32-strmbtouc'.
38121         * modules/unistr/u32-strmbtouc-tests: New file.
38122         * tests/unistr/test-u32-strmbtouc.c: New file.
38123
38124         Tests for module 'unistr/u16-strmbtouc'.
38125         * modules/unistr/u16-strmbtouc-tests: New file.
38126         * tests/unistr/test-u16-strmbtouc.c: New file.
38127
38128         Tests for module 'unistr/u8-strmbtouc'.
38129         * modules/unistr/u8-strmbtouc-tests: New file.
38130         * tests/unistr/test-u8-strmbtouc.c: New file.
38131
38132         Tests for module 'unistr/u32-strmblen'.
38133         * modules/unistr/u32-strmblen-tests: New file.
38134         * tests/unistr/test-u32-strmblen.c: New file.
38135
38136         Tests for module 'unistr/u16-strmblen'.
38137         * modules/unistr/u16-strmblen-tests: New file.
38138         * tests/unistr/test-u16-strmblen.c: New file.
38139
38140         Tests for module 'unistr/u8-strmblen'.
38141         * modules/unistr/u8-strmblen-tests: New file.
38142         * tests/unistr/test-u8-strmblen.c: New file.
38143
38144         Tests for module 'unistr/u32-cpy-alloc'.
38145         * modules/unistr/u32-cpy-alloc-tests: New file.
38146         * tests/unistr/test-u32-cpy-alloc.c: New file.
38147
38148         Tests for module 'unistr/u16-cpy-alloc'.
38149         * modules/unistr/u16-cpy-alloc-tests: New file.
38150         * tests/unistr/test-u16-cpy-alloc.c: New file.
38151
38152         Tests for module 'unistr/u8-cpy-alloc'.
38153         * modules/unistr/u8-cpy-alloc-tests: New file.
38154         * tests/unistr/test-u8-cpy-alloc.c: New file.
38155         * tests/unistr/test-cpy-alloc.h: New file.
38156
38157         Tests for module 'unistr/u32-mbsnlen'.
38158         * modules/unistr/u32-mbsnlen-tests: New file.
38159         * tests/unistr/test-u32-mbsnlen.c: New file.
38160
38161         Tests for module 'unistr/u16-mbsnlen'.
38162         * modules/unistr/u16-mbsnlen-tests: New file.
38163         * tests/unistr/test-u16-mbsnlen.c: New file.
38164
38165         Tests for module 'unistr/u8-mbsnlen'.
38166         * modules/unistr/u8-mbsnlen-tests: New file.
38167         * tests/unistr/test-u8-mbsnlen.c: New file.
38168
38169         Tests for module 'unistr/u32-chr'.
38170         * modules/unistr/u32-chr-tests: New file.
38171         * tests/unistr/test-u32-chr.c: New file.
38172
38173         Tests for module 'unistr/u16-chr'.
38174         * modules/unistr/u16-chr-tests: New file.
38175         * tests/unistr/test-u16-chr.c: New file.
38176
38177         Tests for module 'unistr/u8-chr'.
38178         * modules/unistr/u8-chr-tests: New file.
38179         * tests/unistr/test-u8-chr.c: New file.
38180         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
38181
38182         Tests for module 'unistr/u32-cmp2'.
38183         * modules/unistr/u32-cmp2-tests: New file.
38184         * tests/unistr/test-u32-cmp2.c: New file.
38185
38186         Tests for module 'unistr/u16-cmp2'.
38187         * modules/unistr/u16-cmp2-tests: New file.
38188         * tests/unistr/test-u16-cmp2.c: New file.
38189
38190         Tests for module 'unistr/u8-cmp2'.
38191         * modules/unistr/u8-cmp2-tests: New file.
38192         * tests/unistr/test-u8-cmp2.c: New file.
38193         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
38194
38195         Tests for module 'unistr/u32-cmp'.
38196         * modules/unistr/u32-cmp-tests: New file.
38197         * tests/unistr/test-u32-cmp.c: New file.
38198
38199         Tests for module 'unistr/u16-cmp'.
38200         * modules/unistr/u16-cmp-tests: New file.
38201         * tests/unistr/test-u16-cmp.c: New file.
38202
38203         Tests for module 'unistr/u8-cmp'.
38204         * modules/unistr/u8-cmp-tests: New file.
38205         * tests/unistr/test-u8-cmp.c: New file.
38206         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
38207
38208         Tests for module 'unistr/u32-set'.
38209         * modules/unistr/u32-set-tests: New file.
38210         * tests/unistr/test-u32-set.c: New file.
38211
38212         Tests for module 'unistr/u16-set'.
38213         * modules/unistr/u16-set-tests: New file.
38214         * tests/unistr/test-u16-set.c: New file.
38215
38216         Tests for module 'unistr/u8-set'.
38217         * modules/unistr/u8-set-tests: New file.
38218         * tests/unistr/test-u8-set.c: New file.
38219         * tests/unistr/test-set.h: New file.
38220
38221         Tests for module 'unistr/u32-move'.
38222         * modules/unistr/u32-move-tests: New file.
38223         * tests/unistr/test-u32-move.c: New file.
38224
38225         Tests for module 'unistr/u16-move'.
38226         * modules/unistr/u16-move-tests: New file.
38227         * tests/unistr/test-u16-move.c: New file.
38228
38229         Tests for module 'unistr/u8-move'.
38230         * modules/unistr/u8-move-tests: New file.
38231         * tests/unistr/test-u8-move.c: New file.
38232         * tests/unistr/test-move.h: New file.
38233
38234         Tests for module 'unistr/u32-cpy'.
38235         * modules/unistr/u32-cpy-tests: New file.
38236         * tests/unistr/test-u32-cpy.c: New file.
38237
38238         Tests for module 'unistr/u16-cpy'.
38239         * modules/unistr/u16-cpy-tests: New file.
38240         * tests/unistr/test-u16-cpy.c: New file.
38241
38242         Tests for module 'unistr/u8-cpy'.
38243         * modules/unistr/u8-cpy-tests: New file.
38244         * tests/unistr/test-u8-cpy.c: New file.
38245         * tests/unistr/test-cpy.h: New file.
38246
38247 2010-01-09  Bruno Haible  <bruno@clisp.org>
38248
38249         Tests for module 'unistr/u32-uctomb'.
38250         * modules/unistr/u32-uctomb-tests: New file.
38251         * tests/unistr/test-u32-uctomb.c: New file.
38252
38253         Tests for module 'unistr/u16-uctomb'.
38254         * modules/unistr/u16-uctomb-tests: New file.
38255         * tests/unistr/test-u16-uctomb.c: New file.
38256
38257         Tests for module 'unistr/u8-uctomb'.
38258         * modules/unistr/u8-uctomb-tests: New file.
38259         * tests/unistr/test-u8-uctomb.c: New file.
38260
38261         Tests for module 'unistr/u32-mbtoucr'.
38262         * modules/unistr/u32-mbtoucr-tests: New file.
38263         * tests/unistr/test-u32-mbtoucr.c: New file.
38264
38265         Tests for module 'unistr/u16-mbtoucr'.
38266         * modules/unistr/u16-mbtoucr-tests: New file.
38267         * tests/unistr/test-u16-mbtoucr.c: New file.
38268
38269         Tests for module 'unistr/u8-mbtoucr'.
38270         * modules/unistr/u8-mbtoucr-tests: New file.
38271         * tests/unistr/test-u8-mbtoucr.c: New file.
38272
38273         Tests for module 'unistr/u32-mbtouc'.
38274         * modules/unistr/u32-mbtouc-tests: New file.
38275         * tests/unistr/test-u32-mbtouc.c: New file.
38276
38277         Tests for module 'unistr/u16-mbtouc'.
38278         * modules/unistr/u16-mbtouc-tests: New file.
38279         * tests/unistr/test-u16-mbtouc.c: New file.
38280
38281         Tests for module 'unistr/u8-mbtouc'.
38282         * modules/unistr/u8-mbtouc-tests: New file.
38283         * tests/unistr/test-u8-mbtouc.c: New file.
38284
38285         Tests for module 'unistr/u32-mbtouc-unsafe'.
38286         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
38287         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
38288         * tests/unistr/test-u32-mbtouc.h: New file.
38289
38290         Tests for module 'unistr/u16-mbtouc-unsafe'.
38291         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
38292         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
38293         * tests/unistr/test-u16-mbtouc.h: New file.
38294
38295         Tests for module 'unistr/u8-mbtouc-unsafe'.
38296         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
38297         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
38298         * tests/unistr/test-u8-mbtouc.h: New file.
38299
38300         Tests for module 'unistr/u32-mblen'.
38301         * modules/unistr/u32-mblen-tests: New file.
38302         * tests/unistr/test-u32-mblen.c: New file.
38303
38304         Tests for module 'unistr/u16-mblen'.
38305         * modules/unistr/u16-mblen-tests: New file.
38306         * tests/unistr/test-u16-mblen.c: New file.
38307
38308         Tests for module 'unistr/u8-mblen'.
38309         * modules/unistr/u8-mblen-tests: New file.
38310         * tests/unistr/test-u8-mblen.c: New file.
38311
38312         Tests for module 'unistr/u32-to-u16'.
38313         * modules/unistr/u32-to-u16-tests: New file.
38314         * tests/unistr/test-u32-to-u16.c: New file.
38315
38316         Tests for module 'unistr/u32-to-u8'.
38317         * modules/unistr/u32-to-u8-tests: New file.
38318         * tests/unistr/test-u32-to-u8.c: New file.
38319
38320         Tests for module 'unistr/u16-to-u32'.
38321         * modules/unistr/u16-to-u32-tests: New file.
38322         * tests/unistr/test-u16-to-u32.c: New file.
38323
38324         Tests for module 'unistr/u16-to-u8'.
38325         * modules/unistr/u16-to-u8-tests: New file.
38326         * tests/unistr/test-u16-to-u8.c: New file.
38327
38328         Tests for module 'unistr/u8-to-u32'.
38329         * modules/unistr/u8-to-u32-tests: New file.
38330         * tests/unistr/test-u8-to-u32.c: New file.
38331
38332         Tests for module 'unistr/u8-to-u16'.
38333         * modules/unistr/u8-to-u16-tests: New file.
38334         * tests/unistr/test-u8-to-u16.c: New file.
38335
38336         Tests for module 'unistr/u32-check'.
38337         * modules/unistr/u32-check-tests: New file.
38338         * tests/unistr/test-u32-check.c: New file.
38339
38340         Tests for module 'unistr/u16-check'.
38341         * modules/unistr/u16-check-tests: New file.
38342         * tests/unistr/test-u16-check.c: New file.
38343
38344         Tests for module 'unistr/u8-check'.
38345         * modules/unistr/u8-check-tests: New file.
38346         * tests/unistr/test-u8-check.c: New file.
38347
38348         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
38349         (category_equals): New function.
38350         (main): Add more tests.
38351         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
38352
38353         * tests/unictype/test-bidi_byname.c (main): Add more tests.
38354
38355 2010-01-10  Bruno Haible  <bruno@clisp.org>
38356
38357         unistr/u*-strcoll: Try harder to distinguish different strings.
38358         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
38359         compare s1 and s2 to see if they are different.
38360
38361 2010-01-10  Bruno Haible  <bruno@clisp.org>
38362
38363         unistr/u*-stpncpy: Fix the return value.
38364         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
38365         description of the return value consistent with stpncpy in glibc.
38366         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
38367         written non-NUL unit.
38368
38369 2010-01-10  Bruno Haible  <bruno@clisp.org>
38370
38371         unistr/u*-next: Add missing dependencies.
38372         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
38373         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
38374         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
38375
38376 2010-01-10  Bruno Haible  <bruno@clisp.org>
38377
38378         unistr/u8-mbsnlen: Fix return value for incomplete character.
38379         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
38380         u8_mblen.
38381         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
38382         Remove unistr/u8-mblen.
38383         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
38384         u16_mblen.
38385         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
38386         Remove unistr/u16-mblen.
38387
38388 2010-01-10  Bruno Haible  <bruno@clisp.org>
38389
38390         wchar: Fix compilation error when <wchar.h> is used from coreutils.
38391         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
38392         Reported by Brian Gough <bjg@gnu.org> and
38393         Chris Clayton <chris2553@googlemail.com> via
38394         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
38395
38396 2010-01-09  Bruno Haible  <bruno@clisp.org>
38397
38398         unistr/u16-to-u32: Reject invalid input.
38399         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
38400         u16_mbtouc.
38401         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
38402         Remove unistr/u16-mbtouc.
38403
38404         unistr/u16-to-u8: Reject invalid input.
38405         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
38406         u16_mbtouc.
38407         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
38408         Remove unistr/u16-mbtouc.
38409
38410         unistr/u8-to-u32: Reject invalid input.
38411         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
38412         u8_mbtouc.
38413         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
38414         Remove unistr/u8-mbtouc.
38415
38416         unistr/u8-to-u16: Reject invalid input.
38417         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
38418         u8_mbtouc.
38419         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
38420         Remove unistr/u8-mbtouc.
38421
38422 2010-01-09  Bruno Haible  <bruno@clisp.org>
38423
38424         Tests for module 'getlogin'.
38425         * modules/getlogin-tests: New file.
38426         * tests/test-getlogin.c: New file.
38427
38428         New module 'getlogin'.
38429         * lib/unistd.in.h (getlogin): New declaration.
38430         * lib/getlogin.c: New file.
38431         * m4/getlogin.m4: New file.
38432         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
38433         HAVE_GETLOGIN.
38434         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
38435         HAVE_GETLOGIN.
38436         * modules/getlogin: New file.
38437         * doc/posix-functions/getlogin.texi: Mention the new module.
38438         Reported by John W. Eaton <jwe@gnu.org>.
38439
38440 2010-01-09  Bruno Haible  <bruno@clisp.org>
38441
38442         getlogin_r: Support for native Windows.
38443         * lib/getlogin_r.c: Include <windows.h>
38444         (getlogin_r): Implement for native Windows.
38445         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
38446         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
38447         via John W. Eaton <jwe@gnu.org>.
38448
38449 2010-01-09  Bruno Haible  <bruno@clisp.org>
38450
38451         getlogin_r: Small fixes.
38452         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
38453         succeeds.
38454         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
38455         before testing whether getlogin_r is declared. No need to set
38456         HAVE_DECL_GETLOGIN_R to 1.
38457         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
38458
38459 2010-01-09  Bruno Haible  <bruno@clisp.org>
38460
38461         * lib/unistd.in.h (getlogin_r): Add comment.
38462
38463 2010-01-09  Bruno Haible  <bruno@clisp.org>
38464
38465         Tests for module 'getlogin_r'.
38466         * modules/getlogin_r-tests: New file.
38467         * tests/test-getlogin_r.c: New file.
38468
38469 2010-01-09  Jim Meyering  <meyering@redhat.com>
38470
38471         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
38472         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
38473         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
38474
38475 2010-01-08  Simon Josefsson  <simon@josefsson.org>
38476
38477         * lib/dup2.c (rpl_dup2): Improve comment.
38478
38479 2010-01-08  Eric Blake  <ebb9@byu.net>
38480
38481         maint.mk: allow packages to add makefile @@ exceptions
38482         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
38483         (sc_makefile_check): Rename...
38484         (sc_makefile_at_at_check): ...to this, and use hook.
38485
38486         dup2: work around mingw bug
38487         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
38488         Reported by Simon Josefsson.
38489
38490 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
38491
38492         glob: Fix C++ compilation.
38493         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
38494         C++.
38495
38496 2010-01-07  Bruno Haible  <bruno@clisp.org>
38497
38498         Fix indentation of wctype.in.h, broken since 2007-01-06.
38499         * lib/wctype.in.h: Fix indentation of preprocessor directives.
38500
38501 2010-01-07  Bruno Haible  <bruno@clisp.org>
38502
38503         mbslen: Avoid collision with system function.
38504         * lib/string.in.h [MirBSD]: Include <wchar.h>.
38505         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
38506         * m4/mbslen.m4: New file.
38507         * modules/mbslen (Files): Add it.
38508         (configure.ac): Invoke gl_MBSLEN.
38509         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
38510         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
38511         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
38512         via Ian Beckwith <ianb@erislabs.net>.
38513
38514 2010-01-07  Bruno Haible  <bruno@clisp.org>
38515
38516         dirent: Document the last fix.
38517         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
38518
38519 2010-01-07  Bruno Haible  <bruno@clisp.org>
38520
38521         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
38522         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
38523         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
38524         va_list are defined.
38525         * doc/posix-headers/stdio.texi: Document the bug of missing types.
38526         Reported by Eric Blake.
38527
38528 2010-01-07  Bruno Haible  <bruno@clisp.org>
38529
38530         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
38531         * modules/xlist (Depends-on): Add 'list',
38532         * modules/xoset (Depends-on): Add 'oset'.
38533         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
38534
38535 2010-01-07  Bruno Haible  <bruno@clisp.org>
38536
38537         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
38538         * doc/posix-functions/strncasecmp.texi: Likewise.
38539
38540 2010-01-07  Bruno Haible  <bruno@clisp.org>
38541
38542         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
38543
38544 2010-01-07  John W. Eaton  <jwe@octave.org>
38545
38546         wctype: allow C++ use
38547         * lib/wctype.in.h: Add extern "C" block for C++.
38548
38549 2010-01-06  Eric Blake  <ebb9@byu.net>
38550
38551         maint.mk: detect incorrect GFDL usage
38552         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
38553
38554 2010-01-06  Jim Meyering  <meyering@redhat.com>
38555         and Eric Blake  <ebb9@byu.net>
38556
38557         maint.mk: ignore multi-line copyright in NEWS
38558         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
38559
38560 2010-01-06  Eric Blake  <ebb9@byu.net>
38561
38562         select: add missing dependency
38563         * modules/select-tests (Depends-on): Move sockets dependency...
38564         * modules/select (Depends-on): ...here.
38565         Reported by Ian Beckwith.
38566
38567         doc: regenerate INSTALL
38568         * doc/INSTALL: Reflect recent autoconf update.
38569         * doc/INSTALL.ISO: Likewise.
38570         * doc/INSTALL.UTF-8: Likewise.
38571
38572         pread: fix compilation on glibc
38573         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
38574         Reported by Ralf Wildenhues.
38575
38576         dirent: fix test failure
38577         * lib/dirent.in.h (includes): Guarantee ino_t.
38578         Reported by Ralf Wildenhues.
38579
38580 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
38581
38582         linkat, renameat: avoid bad free
38583         * lib/at-func2.c (at_func2): Fix typo.
38584         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
38585
38586 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38587
38588         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
38589         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
38590         to avoid failure of symlink test later.
38591
38592 2010-01-06  Eric Blake  <ebb9@byu.net>
38593
38594         stdio, unistd: guarantee ssize_t
38595         * lib/unistd.in.h (includes): Ensure that types required by POSIX
38596         2008 are exposed when needed.
38597         * lib/stdio.in.h (includes): Likewise.
38598         Reported by Ralf Wildenhues.
38599
38600 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
38601
38602         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
38603         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
38604         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
38605
38606 2010-01-06  Jim Meyering  <meyering@redhat.com>
38607
38608         readtokens: this module *does* require xalloc.h
38609         It uses only functions that were omitted by the old syntax-check rule.
38610         * lib/readtokens.c: Include "xalloc.h" once again.
38611         * modules/readtokens (Depends-on): Add xalloc.
38612         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
38613
38614 2010-01-05  Eric Blake  <ebb9@byu.net>
38615
38616         maint: support 'make announcement' from a VPATH build
38617         * top/maint.mk (announcement): Look for correct NEWS file.
38618
38619 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
38620
38621         utimens (fdutimens): ignore a negative FD, per contract
38622         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
38623         when we have a valid file descriptor.  Otherwise, using a brand
38624         new glibc (with just-patched futimens that now fails with EBADF)
38625         would cause this function to fail with ENOSYS.
38626         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
38627         See also http://bugzilla.redhat.com/552320.
38628
38629 2010-01-05  Eric Blake  <ebb9@byu.net>
38630
38631         strcase: document what it provides
38632         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
38633         gnulib module.
38634         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
38635         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
38636
38637 2010-01-05  Jim Meyering  <meyering@redhat.com>
38638
38639         maint: remove useless inclusions of "xalloc.h"
38640         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
38641         * lib/readtokens.c: Likewise.
38642         * lib/same.c: Likewise.
38643         * modules/getloadavg (Depends-on): Remove xalloc.
38644         * modules/readtokens: Likewise.
38645         * modules/same: Likewise.
38646
38647         maint.mk: include 4 more function names in alloca.h-checking regexp
38648         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
38649         regexp.  Before, we would give a false-positive (saying alloca.h
38650         is included unnecessarily) when the only uses involved omitted symbols.
38651
38652         xalloc.h: use consistent formatting
38653         * lib/xalloc.h: Move declarations to start in the first column.
38654
38655 2010-01-05  Eric Blake  <ebb9@byu.net>
38656
38657         mkdir: avoid xalloc
38658         * lib/mkdir.c (includes): Drop unused header.
38659         Reported by John W. Eaton.
38660
38661 2010-01-04  Jim Meyering  <meyering@redhat.com>
38662
38663         nl_langinfo: avoid configure-time syntax error
38664         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
38665         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
38666         the empty string.  Don't let that provoke a shell syntax error.
38667
38668         regcomp, regexec, fnmatch: avoid array bounds read error
38669         * lib/regcomp.c (build_equiv_class): From glibc:
38670         Use only the low 24 bits of a findidx return value as an index
38671         into the weights array.  Patch by Ulrich Drepper:
38672         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
38673         * lib/regexec.c (check_node_accept_bytes): Likewise.
38674         * lib/fnmatch_loop.c (FCT): Likewise.
38675
38676         regcomp: skip collseq lookup when there are no rules
38677         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
38678         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
38679
38680         regcomp: recognize ill-formed { } expressions
38681         * lib/regcomp.c (parse_dup_op): From glibc:
38682         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
38683
38684         regcomp: fix typo in comment
38685         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
38686         s/satisfy/satisfies/.
38687
38688         regcomp: sync from glibc: remove dead store
38689         * lib/regcomp.c (duplicate_node_closure): Remove useless
38690         search_duplicated_node call and dead store.
38691
38692         regcomp: sync from glibc; always use nl_langinfo
38693         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
38694         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
38695         * modules/regex (Depends-on): Add nl_langinfo.
38696
38697 2010-01-04  Eric Blake  <ebb9@byu.net>
38698
38699         fdopendir: fix configure test
38700         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
38701
38702 2010-01-01  Bruno Haible  <bruno@clisp.org>
38703
38704         wchar: Remove unused configure check.
38705         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
38706
38707 2010-01-01  Eric Blake  <ebb9@byu.net>
38708
38709         headers: make check of system header explicit
38710         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
38711         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
38712         ourselves.
38713         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
38714         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
38715         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
38716         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
38717         internals.
38718         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
38719         missing.
38720         Suggested by Bruno Haible.
38721
38722 2010-01-01  Jim Meyering  <meyering@redhat.com>
38723
38724         ChangeLog: tweak to eliminate unnecessary copyright line
38725         * ChangeLog: Remove a copyright line that was mistakenly updated
38726         by today's update-copyright run.  Reported by Eric Blake.
38727
38728         test-update-copyright: don't let envvar setting cause test failure
38729         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
38730
38731 2010-01-01  Bruno Haible  <bruno@clisp.org>
38732
38733         localename: Avoid gcc warning.
38734         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
38735         function if it is not used.
38736
38737 2010-01-01  Jim Meyering  <meyering@redhat.com>
38738
38739         update nearly all FSF copyright year lists to include 2010
38740         Use the same procedure as for 2009, outlined in
38741         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
38742
38743         version-etc: set COPYRIGHT_YEAR to 2010
38744         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
38745
38746 2009-12-31  Eric Blake  <ebb9@byu.net>
38747
38748         doc: correct availability of cygwin 1.5.x getopt
38749         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
38750         variables.
38751         * doc/posix-functions/opterr.texi (opterr): Likewise.
38752         * doc/posix-functions/optind.texi (optind): Likewise.
38753         * doc/posix-functions/optopt.texi (optopt): Likewise.
38754         * doc/posix-functions/tzname.texi (tzname): Likewise.
38755
38756         openat: update maintainer
38757         * modules/openat (Maintainer): Add myself.
38758
38759         utimens: avoid shadowing warning
38760         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
38761         buffers into one, to avoid shadowing, as well as avoiding a
38762         redundant stat.
38763         Reported by Jim Meyering.
38764
38765         test-dup2: avoid compiler warning
38766         * tests/test-dup2.c (is_inheritable): Only define if used.
38767
38768 2010-01-01  Bruno Haible  <bruno@clisp.org>
38769
38770         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
38771         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
38772         defined, use wctomb instead of wcrtomb.
38773
38774 2010-01-01  Bruno Haible  <bruno@clisp.org>
38775
38776         iconv: Reject native Solaris iconv.
38777         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
38778         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
38779
38780 2009-12-31  Bruno Haible  <bruno@clisp.org>
38781
38782         * tests/test-signal.c (main): Remove test of 'SIG'.
38783
38784 2009-12-31  Bruno Haible  <bruno@clisp.org>
38785
38786         spawn: Fix incomplete fix.
38787         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
38788         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
38789         warnings for GNULIB_POSIXCHECK again.
38790         Reported by Eric Blake.
38791
38792 2009-12-31  Bruno Haible  <bruno@clisp.org>
38793
38794         Avoid namespace pollution on glibc systems.
38795         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
38796         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
38797         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
38798         glibc systems.
38799
38800 2009-12-31  Bruno Haible  <bruno@clisp.org>
38801
38802         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
38803         (gl_REPLACE_WCHAR_H): Turn into a no-op.
38804         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
38805         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
38806         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
38807         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
38808         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
38809
38810 2009-12-31  Bruno Haible  <bruno@clisp.org>
38811
38812         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
38813         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
38814         afterwards.
38815
38816 2009-12-31  Bruno Haible  <bruno@clisp.org>
38817
38818         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
38819         SYS_UTSNAME_H.
38820
38821 2009-12-31  Bruno Haible  <bruno@clisp.org>
38822
38823         spawn: Fix misapplied patch.
38824         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
38825         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
38826         warnings for GNULIB_POSIXCHECK.
38827
38828 2009-12-31  Bruno Haible  <bruno@clisp.org>
38829
38830         times: Update after sys_times changed.
38831         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
38832         * modules/times (Files): Add it.
38833         (configure.ac): Invoke gl_FUNC_TIMES.
38834
38835 2009-12-31  Bruno Haible  <bruno@clisp.org>
38836
38837         Use AC_C_INLINE where necessary.
38838         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
38839         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
38840         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
38841         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
38842         * m4/mbfile.m4 (gl_MBFILE): Likewise.
38843         * m4/mbiter.m4 (gl_MBITER): Likewise.
38844         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
38845         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
38846         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
38847         * modules/u64 (configure.ac): Likewise.
38848
38849 2009-12-31  Bruno Haible  <bruno@clisp.org>
38850
38851         Use AC_C_INLINE instead of module 'inline' where possible.
38852         * modules/inline (Description): Clarify purpose.
38853         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
38854         * modules/count-one-bits (Depends-on): Remove inline.
38855         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
38856         * modules/openat (Depends-on): Remove inline.
38857         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
38858         instead of depending on module 'inline'.
38859         * modules/filevercmp (Depends-on, configure.ac): Likewise.
38860         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
38861         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
38862         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
38863         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
38864         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
38865         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
38866         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
38867         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
38868         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
38869         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
38870         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
38871         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
38872         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
38873         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
38874         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
38875         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
38876         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
38877         Likewise.
38878         * modules/unictype/property-ascii-hex-digit (Depends-on,
38879         configure.ac): Likewise.
38880         * modules/unictype/property-bidi-arabic-digit (Depends-on,
38881         configure.ac): Likewise.
38882         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
38883         configure.ac): Likewise.
38884         * modules/unictype/property-bidi-block-separator (Depends-on,
38885         configure.ac): Likewise.
38886         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
38887         configure.ac): Likewise.
38888         * modules/unictype/property-bidi-common-separator (Depends-on,
38889         configure.ac): Likewise.
38890         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
38891         Likewise.
38892         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
38893         configure.ac): Likewise.
38894         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
38895         configure.ac): Likewise.
38896         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
38897         configure.ac): Likewise.
38898         * modules/unictype/property-bidi-european-digit (Depends-on,
38899         configure.ac): Likewise.
38900         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
38901         configure.ac): Likewise.
38902         * modules/unictype/property-bidi-left-to-right (Depends-on,
38903         configure.ac): Likewise.
38904         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
38905         configure.ac): Likewise.
38906         * modules/unictype/property-bidi-other-neutral (Depends-on,
38907         configure.ac): Likewise.
38908         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
38909         Likewise.
38910         * modules/unictype/property-bidi-segment-separator (Depends-on,
38911         configure.ac): Likewise.
38912         * modules/unictype/property-bidi-whitespace (Depends-on,
38913         configure.ac): Likewise.
38914         * modules/unictype/property-combining (Depends-on, configure.ac):
38915         Likewise.
38916         * modules/unictype/property-composite (Depends-on, configure.ac):
38917         Likewise.
38918         * modules/unictype/property-currency-symbol (Depends-on,
38919         configure.ac): Likewise.
38920         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
38921         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
38922         Likewise.
38923         * modules/unictype/property-default-ignorable-code-point (Depends-on,
38924         configure.ac): Likewise.
38925         * modules/unictype/property-deprecated (Depends-on, configure.ac):
38926         Likewise.
38927         * modules/unictype/property-diacritic (Depends-on, configure.ac):
38928         Likewise.
38929         * modules/unictype/property-extender (Depends-on, configure.ac):
38930         Likewise.
38931         * modules/unictype/property-format-control (Depends-on, configure.ac):
38932         Likewise.
38933         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
38934         Likewise.
38935         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
38936         Likewise.
38937         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
38938         Likewise.
38939         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
38940         Likewise.
38941         * modules/unictype/property-hyphen (Depends-on, configure.ac):
38942         Likewise.
38943         * modules/unictype/property-id-continue (Depends-on, configure.ac):
38944         Likewise.
38945         * modules/unictype/property-id-start (Depends-on, configure.ac):
38946         Likewise.
38947         * modules/unictype/property-ideographic (Depends-on, configure.ac):
38948         Likewise.
38949         * modules/unictype/property-ids-binary-operator (Depends-on,
38950         configure.ac): Likewise.
38951         * modules/unictype/property-ids-trinary-operator (Depends-on,
38952         configure.ac): Likewise.
38953         * modules/unictype/property-ignorable-control (Depends-on,
38954         configure.ac): Likewise.
38955         * modules/unictype/property-iso-control (Depends-on, configure.ac):
38956         Likewise.
38957         * modules/unictype/property-join-control (Depends-on, configure.ac):
38958         Likewise.
38959         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
38960         Likewise.
38961         * modules/unictype/property-line-separator (Depends-on, configure.ac):
38962         Likewise.
38963         * modules/unictype/property-logical-order-exception (Depends-on,
38964         configure.ac): Likewise.
38965         * modules/unictype/property-lowercase (Depends-on, configure.ac):
38966         Likewise.
38967         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
38968         * modules/unictype/property-non-break (Depends-on, configure.ac):
38969         Likewise.
38970         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
38971         Likewise.
38972         * modules/unictype/property-numeric (Depends-on, configure.ac):
38973         Likewise.
38974         * modules/unictype/property-other-alphabetic (Depends-on,
38975         configure.ac): Likewise.
38976         * modules/unictype/property-other-default-ignorable-code-point
38977         (Depends-on, configure.ac): Likewise.
38978         * modules/unictype/property-other-grapheme-extend (Depends-on,
38979         configure.ac): Likewise.
38980         * modules/unictype/property-other-id-continue (Depends-on,
38981         configure.ac): Likewise.
38982         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
38983         Likewise.
38984         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
38985         Likewise.
38986         * modules/unictype/property-other-math (Depends-on, configure.ac):
38987         Likewise.
38988         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
38989         Likewise.
38990         * modules/unictype/property-paired-punctuation (Depends-on,
38991         configure.ac): Likewise.
38992         * modules/unictype/property-paragraph-separator (Depends-on,
38993         configure.ac): Likewise.
38994         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
38995         Likewise.
38996         * modules/unictype/property-pattern-white-space (Depends-on,
38997         configure.ac): Likewise.
38998         * modules/unictype/property-private-use (Depends-on, configure.ac):
38999         Likewise.
39000         * modules/unictype/property-punctuation (Depends-on, configure.ac):
39001         Likewise.
39002         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
39003         Likewise.
39004         * modules/unictype/property-radical (Depends-on, configure.ac):
39005         Likewise.
39006         * modules/unictype/property-sentence-terminal (Depends-on,
39007         configure.ac): Likewise.
39008         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
39009         Likewise.
39010         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
39011         * modules/unictype/property-terminal-punctuation (Depends-on,
39012         configure.ac): Likewise.
39013         * modules/unictype/property-titlecase (Depends-on, configure.ac):
39014         Likewise.
39015         * modules/unictype/property-unassigned-code-value (Depends-on,
39016         configure.ac): Likewise.
39017         * modules/unictype/property-unified-ideograph (Depends-on,
39018         configure.ac): Likewise.
39019         * modules/unictype/property-uppercase (Depends-on, configure.ac):
39020         Likewise.
39021         * modules/unictype/property-variation-selector (Depends-on,
39022         configure.ac): Likewise.
39023         * modules/unictype/property-white-space (Depends-on, configure.ac):
39024         Likewise.
39025         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
39026         Likewise.
39027         * modules/unictype/property-xid-start (Depends-on, configure.ac):
39028         Likewise.
39029         * modules/unictype/property-zero-width (Depends-on, configure.ac):
39030         Likewise.
39031         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
39032         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
39033         Likewise.
39034
39035 2009-12-31  Bruno Haible  <bruno@clisp.org>
39036
39037         Remove unnecessary AC_C_INLINE invocation.
39038         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
39039         since 2009-08-21.
39040
39041 2009-12-31  Jim Meyering  <meyering@redhat.com>
39042
39043         maint.mk: don't require explicit gpg_key_ID in cfg.mk
39044         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
39045         With this change, we can all remove the gpg_key_ID = ... definition
39046         from our respective cfg.mk files.
39047
39048         maint.mk: create announcement template in ~/, not in /tmp
39049         * top/maint.mk (emit_upload_commands): Adjust.
39050         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
39051         Remove temporary file, .ci-msg.
39052
39053 2009-12-31  Eric Blake  <ebb9@byu.net>
39054
39055         link-warning: always build headers with link warnings
39056         * modules/arpa_inet (Makefile.am): Always build replacement
39057         header.
39058         * modules/ctype (Makefile.am): Likewise.
39059         * modules/dirent (Makefile.am): Likewise.
39060         * modules/inttypes (Makefile.am): Likewise.
39061         * modules/langinfo (Makefile.am): Likewise.
39062         * modules/locale (Makefile.am): Likewise.
39063         * modules/spawn (Makefile.am): Likewise.
39064         * modules/sys_file (Makefile.am): Likewise.
39065         * modules/sys_ioctl (Makefile.am): Likewise.
39066         * modules/sys_select (Makefile.am): Likewise.
39067         * modules/sys_socket (Makefile.am): Likewise.
39068         * modules/sys_times (Makefile.am): Likewise.
39069         * modules/sys_utsname (Makefile.am): Likewise.
39070         * modules/sys_wait (Makefile.am): Likewise.
39071         * modules/wchar (Makefile.am): Likewise.
39072         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
39073         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
39074         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
39075         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
39076         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
39077         Likewise.
39078         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
39079         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
39080         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
39081         Likewise.
39082         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
39083         Likewise.
39084         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
39085         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
39086         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
39087         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
39088         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
39089         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
39090         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
39091         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
39092         (gl_WCHAR_H_DEFAULTS): Likewise.
39093
39094 2009-12-31  Eric Blake  <ebb9@byu.net>
39095
39096         signal, spawn: use link warnings
39097         * lib/signal.in.h (sigset_t): Make unconditional.
39098         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
39099         (sigpending, sigprocmask, sigaction): Add link warnings.
39100         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
39101         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
39102         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
39103         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
39104         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
39105         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
39106         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
39107         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
39108         (posix_spawn_file_actions_destroy)
39109         (posix_spawn_file_actions_addopen)
39110         (posix_spawn_file_actions_addclose)
39111         (posix_spawn_file_actions_adddup2): Likewise.
39112         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
39113         * tests/test-signal.c (main): Enhance test.
39114
39115         spawn: improve wrapper support
39116         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
39117         (gl_SPAWN_H_DEFAULTS): New defaults.
39118         * modules/spawn (Makefile.am): Substitute them.
39119         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
39120         Only declare if missing or broken.
39121
39122         sys_times, sys_utsname: use include_next
39123         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
39124         header.
39125         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
39126         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
39127         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
39128         * modules/sys_times (Depends-on): Add include_next.
39129         (Makefile.am): Substitute additional values.
39130         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
39131         * lib/sys_times.in.h (includes): Include native header, if
39132         available.
39133         * lib/sys_utsname.in.h (includes): Likewise.
39134         * tests/test-sys_times.c (main): Enhance test.
39135
39136         fdutimensat: revert prior patch
39137         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
39138         utimens.h.
39139         Reported by Bruno Haible.
39140
39141 2009-12-30  Eric Blake  <ebb9@byu.net>
39142
39143         sys_wait: drop link-warning dependency
39144         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
39145         link-warning efforts.
39146         * lib/sys_wait.in.h: Likewise.
39147
39148         fdutimensat: remove bogus dependency
39149         * modules/fdutimensat (Depends-on): Drop inline.
39150
39151         unistd: fix typo
39152         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
39153
39154 2009-12-30  Bruno Haible  <bruno@clisp.org>
39155
39156         Fix compilation error with Solaris cc.
39157         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
39158         * lib/unicase/u16-is-invariant.c: Likewise.
39159         * lib/unicase/u32-is-invariant.c: Likewise.
39160         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
39161
39162 2009-12-30  Bruno Haible  <bruno@clisp.org>
39163
39164         Fix test crash.
39165         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
39166         locales.
39167         Reported by Simon Josefsson <simon@josefsson.org>.
39168
39169 2009-12-30  Bruno Haible  <bruno@clisp.org>
39170
39171         Fix compilation error on most platforms.
39172         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
39173         Reported by Simon Josefsson <simon@josefsson.org>
39174         and Nelson H. F. Beebe <beebe@math.utah.edu>.
39175
39176 2009-12-30  Eric Blake  <ebb9@byu.net>
39177
39178         futimens, utimensat: work around ntfs-3g bug
39179         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
39180         a ctime bug is present, and expand workaround to cover ntfs-3g.
39181         * lib/utimens.c (fdutimens, lutimens): Likewise.
39182         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
39183         (validate_timespec): Adjust return value.
39184         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
39185         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
39186         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
39187
39188 2009-12-29  Eric Blake  <ebb9@byu.net>
39189
39190         link-warning: make usage consistent
39191         * modules/ctype (Depends-on): Add link-warning.
39192         (Makefile.am): Update rules accordingly.
39193         * modules/langinfo (Depends-on, Makefile.am): Likewise.
39194         * modules/locale (Depends-on, Makefile.am): Likewise.
39195         * modules/sys_file (Makefile.am): Likewise.
39196         * modules/getopt-posix (Makefile.am): Delete unused link warning
39197         efforts.
39198         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
39199         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
39200         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
39201         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
39202
39203         stdio: remove unused variables
39204         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
39205         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
39206         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
39207
39208         tests: test more substitute headers
39209         * modules/ctype-tests: New file.
39210         * modules/dirent-tests: Likewise.
39211         * modules/spawn-tests: Likewise.
39212         * modules/sys_file-tests: Likewise.
39213         * modules/sys_ioctl-tests: Likewise.
39214         * modules/sys_wait-tests: Likewise.
39215         * tests/test-ctype.c: Likewise.
39216         * tests/test-dirent.c: Likewise.
39217         * tests/test-spawn.c: Likewise.
39218         * tests/test-sys_file.c: Likewise.
39219         * tests/test-sys_ioctl.c: Likewise.
39220         * tests/test-sys_wait.c: Likewise.
39221         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
39222         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
39223         whether or not flock is in use.
39224
39225         tests: remove License section from module
39226         * modules/arpa_inet-tests: Remove unneeded section.
39227         * modules/byteswap-tests: Likewise.
39228         * modules/ceilf-tests: Likewise.
39229         * modules/ceill-tests: Likewise.
39230         * modules/crypto/des-tests: Likewise.
39231         * modules/crypto/gc-arcfour-tests: Likewise.
39232         * modules/crypto/gc-arctwo-tests: Likewise.
39233         * modules/crypto/gc-des-tests: Likewise.
39234         * modules/crypto/gc-hmac-md5-tests: Likewise.
39235         * modules/crypto/gc-hmac-sha1-tests: Likewise.
39236         * modules/crypto/gc-md2-tests: Likewise.
39237         * modules/crypto/gc-md4-tests: Likewise.
39238         * modules/crypto/gc-md5-tests: Likewise.
39239         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
39240         * modules/crypto/gc-rijndael-tests: Likewise.
39241         * modules/crypto/gc-sha1-tests: Likewise.
39242         * modules/crypto/gc-tests: Likewise.
39243         * modules/crypto/md2-tests: Likewise.
39244         * modules/crypto/md4-tests: Likewise.
39245         * modules/fcntl-h-tests: Likewise.
39246         * modules/floorf-tests: Likewise.
39247         * modules/floorl-tests: Likewise.
39248         * modules/frexp-nolibm-tests: Likewise.
39249         * modules/frexp-tests: Likewise.
39250         * modules/frexpl-nolibm-tests: Likewise.
39251         * modules/frexpl-tests: Likewise.
39252         * modules/getaddrinfo-tests: Likewise.
39253         * modules/inttypes-tests: Likewise.
39254         * modules/isfinite-tests: Likewise.
39255         * modules/isinf-tests: Likewise.
39256         * modules/ldexpl-tests: Likewise.
39257         * modules/locale-tests: Likewise.
39258         * modules/math-tests: Likewise.
39259         * modules/netdb-tests: Likewise.
39260         * modules/netinet_in-tests: Likewise.
39261         * modules/printf-frexp-tests: Likewise.
39262         * modules/printf-frexpl-tests: Likewise.
39263         * modules/priv-set-tests: Likewise.
39264         * modules/random_r-tests: Likewise.
39265         * modules/round-tests: Likewise.
39266         * modules/roundf-tests: Likewise.
39267         * modules/roundl-tests: Likewise.
39268         * modules/search-tests: Likewise.
39269         * modules/select-tests: Likewise.
39270         * modules/signal-tests: Likewise.
39271         * modules/stdbool-tests: Likewise.
39272         * modules/stddef-tests: Likewise.
39273         * modules/stdint-tests: Likewise.
39274         * modules/stdio-tests: Likewise.
39275         * modules/stdlib-tests: Likewise.
39276         * modules/string-tests: Likewise.
39277         * modules/strings-tests: Likewise.
39278         * modules/sys_select-tests: Likewise.
39279         * modules/sys_socket-tests: Likewise.
39280         * modules/sys_stat-tests: Likewise.
39281         * modules/sys_time-tests: Likewise.
39282         * modules/sys_utsname-tests: Likewise.
39283         * modules/sysexits-tests: Likewise.
39284         * modules/time-tests: Likewise.
39285         * modules/trunc-tests: Likewise.
39286         * modules/truncf-tests: Likewise.
39287         * modules/truncl-tests: Likewise.
39288         * modules/tsearch-tests: Likewise.
39289         * modules/unistd-tests: Likewise.
39290         * modules/wchar-tests: Likewise.
39291         * modules/wctype-tests: Likewise.
39292
39293         tests: fix license on several tests
39294         * tests/test-des.c: Update to GPLv3+.
39295         * tests/test-flock.c: Likewise.
39296         * tests/test-fsync.c: Likewise.
39297         * tests/test-futimens.h: Likewise.
39298         * tests/test-gc-arcfour.c: Likewise.
39299         * tests/test-gc-arctwo.c: Likewise.
39300         * tests/test-gc-des.c: Likewise.
39301         * tests/test-gc-hmac-md5.c: Likewise.
39302         * tests/test-gc-hmac-sha1.c: Likewise.
39303         * tests/test-gc-md2.c: Likewise.
39304         * tests/test-gc-md4.c: Likewise.
39305         * tests/test-gc-md5.c: Likewise.
39306         * tests/test-gc-pbkdf2-sha1.c: Likewise.
39307         * tests/test-gc-rijndael.c: Likewise.
39308         * tests/test-gc-sha1.c: Likewise.
39309         * tests/test-gc.c: Likewise.
39310         * tests/test-getcwd.c: Likewise.
39311         * tests/test-link.c: Likewise.
39312         * tests/test-link.h: Likewise.
39313         * tests/test-lutimens.h: Likewise.
39314         * tests/test-md2.c: Likewise.
39315         * tests/test-md4.c: Likewise.
39316         * tests/test-mkdir.h: Likewise.
39317         * tests/test-rename.c: Likewise.
39318         * tests/test-rename.h: Likewise.
39319         * tests/test-safe-alloc.c: Likewise.
39320         * tests/test-utimens-common.h: Likewise.
39321         * tests/test-utimens.h: Likewise.
39322
39323         maint: sync license texts
39324         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
39325         * doc/gpl-3.0.texi: Revert copyright year update.
39326         * doc/lgpl-3.0.texi: Likewise.
39327
39328 2009-12-29  Jim Meyering  <meyering@redhat.com>
39329
39330         update nearly all FSF copyright year lists to include 2009
39331         The files named by the following are exempted:
39332             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
39333               test -f "$dst" && { echo "$dst"; continue; }
39334               test -d "$dst" || continue
39335               echo "$dst"/$(basename "$src")
39336             done > exempt
39337             git ls-files tests/unictype >> exempt
39338         In the remaining files, convert to all-interval notation if
39339         - there is already at least one year interval like 2000-2003
39340         - the file is maintained by me
39341         - the file is in lib/uni*/, where that style already prevails
39342         Otherwise, use update-copyright's default.
39343
39344 2009-12-29  Simon Josefsson  <simon@josefsson.org>
39345         and Eric Blake  <ebb9@byu.net>
39346
39347         tests: don't require debug system() to pass
39348         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
39349         * tests/test-rmdir.h (test_rmdir_func): Likewise.
39350         * tests/test-unlink.h (test_unlink_func): Likewise.
39351         * tests/test-fstatat.c (main): ...into callers.
39352         * tests/test-lstat.c (main): Likewise.
39353         * tests/test-rmdir.c (main): Likewise.
39354         * tests/test-unlink.c (main): Likewise.
39355         * tests/test-unlinkat.c (main): Likewise.
39356         * tests/test-areadlink-with-size.c (main): Don't require a
39357         debug-only system call to pass, aiding cross-testing to mingw.
39358         * tests/test-areadlink.c (main): Likewise.
39359         * tests/test-areadlinkat-with-size.c (main): Likewise.
39360         * tests/test-areadlinkat.c (main): Likewise.
39361         * tests/test-canonicalize-lgpl.c (main): Likewise.
39362         * tests/test-canonicalize.c (main): Likewise.
39363         * tests/test-chown.c (main): Likewise.
39364         * tests/test-fchownat.c (main): Likewise.
39365         * tests/test-lchown.c (main): Likewise.
39366         * tests/test-fdutimensat.c (main): Likewise.
39367         * tests/test-futimens.c (main): Likewise.
39368         * tests/test-link.c (main): Likewise.
39369         * tests/test-linkat.c (main): Likewise.
39370         * tests/test-mkdir.c (main): Likewise.
39371         * tests/test-mkdirat.c (main): Likewise.
39372         * tests/test-mkfifo.c (main): Likewise.
39373         * tests/test-mkfifoat.c (main): Likewise.
39374         * tests/test-mknod.c (main): Likewise.
39375         * tests/test-readlink.c (main): Likewise.
39376         * tests/test-remove.c (main): Likewise.
39377         * tests/test-rename.c (main): Likewise.
39378         * tests/test-renameat.c (main): Likewise.
39379         * tests/test-symlink.c (main): Likewise.
39380         * tests/test-symlinkat.c (main): Likewise.
39381         * tests/test-utimens.c (main): Likewise.
39382         * tests/test-utimensat.c (main): Likewise.
39383
39384 2009-12-29  Simon Josefsson  <simon@josefsson.org>
39385
39386         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
39387         on $(UNUSED_PARAMETER_H) to avoid build failure.
39388
39389 2009-12-28  Jim Meyering  <meyering@redhat.com>
39390
39391         update-copyright: you may specify a max. line length other than 72
39392         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
39393
39394         maint: use consistent FSF copyright line syntax
39395         * lib/posixtm.c: Add missing comma in FSF copyright line.
39396         * lib/posixtm.h: Likewise.
39397         * lib/getugroups.c: Add missing ", Inc.".
39398
39399         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
39400         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
39401         FSF copyright line.  Remove trailing blanks.
39402
39403 2009-12-28  Eric Blake  <ebb9@byu.net>
39404
39405         test-dup2: reduce dependencies
39406         * modules/cloexec (Configure.ac): Set witness.
39407         * modules/dup2-tests (Depends-on): Drop cloexec.
39408         * tests/test-dup2.c (main): Skip portion of test if cloexec module
39409         not present.
39410         Suggested by Bruno Haible.
39411
39412 2009-12-26  Bruno Haible  <bruno@clisp.org>
39413
39414         Remove an unneeded dependency.
39415         * modules/fseterr (Depends-on): Remove dup2.
39416
39417 2009-12-26  Eric Blake  <ebb9@byu.net>
39418
39419         tests: use macros.h in more places
39420         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
39421         (ASSERT_STREAM): Provide default of stderr.
39422         * tests/test-dirent-safer.c: Include macros.h, using alternate
39423         stream for assertions.
39424         * tests/test-dup-safer.c: Likewise.
39425         * tests/test-freopen-safer.c: Likewise.
39426         * tests/test-getopt.c: Likewise.
39427         * tests/test-openat-safer.c: Likewise.
39428         * tests/test-pipe.c: Likewise.
39429         * tests/test-popen-safer.c: Likewise.
39430         * modules/dirent-safer-tests (Files): Include macros.h.
39431         * modules/unistd-safer-tests (Files): Likewise.
39432         * modules/freopen-safer-tests (Files): Likewise.
39433         * modules/getopt-posix-tests (Files): Likewise.
39434         * modules/openat-safer-tests (Files): Likewise.
39435         * modules/pipe-tests (Files): Likewise.
39436
39437 2009-12-26  Bruno Haible  <bruno@clisp.org>
39438
39439         javacomp: Portability fix.
39440         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
39441         that it also works on Solaris.
39442
39443 2009-12-26  Bruno Haible  <bruno@clisp.org>
39444
39445         localename: Fix storage allocation of gl_locale_name_thread's result.
39446         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
39447         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
39448         all platforms that have 'uselocale'.
39449         (gl_locale_name_thread_unsafe): New function, extracted from
39450         gl_locale_name_thread.
39451         (gl_locale_name_thread): Call struniq on all platforms that have
39452         'uselocale'.
39453         * tests/test-localename.c (test_locale_name_thread): Check that the
39454         resulting strings are permanently allocated.
39455         * modules/localename-tests (Depends-on): Add strdup.
39456
39457 2009-12-26  Bruno Haible  <bruno@clisp.org>
39458
39459         * tests/test-localename.c (categories): Fill in the strings.
39460
39461 2009-12-26  Jim Meyering  <meyering@redhat.com>
39462
39463         isdir: complete the removal of m4/isdir.m4
39464         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
39465
39466         isdir: clean up, since at least grep still uses it
39467         * lib/isdir.c: Include "isdir.h".
39468         (S_ISDIR): Remove now-unneeded definition.
39469         * modules/isdir (Files): Add lib/isdir.h.
39470         * lib/isdir.h: New file, with declaration.
39471         * m4/isdir.m4: Remove file -- unneeded.
39472
39473 2009-12-25  Bruno Haible  <bruno@clisp.org>
39474
39475         selinux-h: Make generated .h files standalone.
39476         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
39477         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
39478         * lib/se-selinux.in.h: Likewise.
39479         * modules/selinux-h (Depends-on): Add unused-parameter.
39480         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
39481         selinux/selinux.h and selinux/context.h.
39482         Suggested by Eric Blake.
39483
39484 2009-12-25  Bruno Haible  <bruno@clisp.org>
39485
39486         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
39487         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
39488         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
39489         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
39490         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
39491
39492 2009-12-24  Bruno Haible  <bruno@clisp.org>
39493
39494         openat: Fix warning.
39495         * lib/openat-proc.c: Include <unistd.h>.
39496
39497 2009-12-24  Bruno Haible  <bruno@clisp.org>
39498
39499         New module 'unused-parameter'.
39500         * build-aux/unused-parameter.h: New file, extracted from earlier
39501         gnulib-common.m4.
39502         * modules/unused-parameter: New file.
39503         * lib/unistr.h: Include unused-parameter.h.
39504         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
39505         _GL_UNUSED.
39506         * modules/unistr/base (Depends-on): Add unused-parameter.
39507
39508 2009-12-24  Bruno Haible  <bruno@clisp.org>
39509
39510         Add missing dependencies to 'extensions' module.
39511         * m4/extensions.m4: Add comment.
39512         * modules/accept4 (Depends-on): Add extensions.
39513         * modules/dup3 (Depends-on): Likewise.
39514         * modules/fcntl (Depends-on): Likewise.
39515         * modules/futimens (Depends-on): Likewise.
39516         * modules/mknod (Depends-on): Likewise.
39517         * modules/pipe2 (Depends-on): Likewise.
39518         * modules/stat-time (Depends-on): Likewise.
39519         * modules/strcasestr-simple (Depends-on): Likewise.
39520         * modules/strsignal (Depends-on): Likewise.
39521         * modules/utimensat (Depends-on): Likewise.
39522         * modules/localcharset (Depends-on): Likewise. Needed because of
39523         gl_FCNTL_O_FLAGS.
39524         * modules/wcrtomb (Depends-on): Likewise. Needed because of
39525         AC_TYPE_MBSTATE_T.
39526         * modules/wcsnrtombs (Depends-on): Likewise.
39527         * modules/wcsrtombs (Depends-on): Likewise.
39528
39529 2009-12-24  Bruno Haible  <bruno@clisp.org>
39530
39531         binary-io: Avoid gcc warning due to SET_BINARY.
39532         * lib/binary-io.h (SET_BINARY): Cast the result to void.
39533         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
39534
39535 2009-12-24  Bruno Haible  <bruno@clisp.org>
39536
39537         Avoid future namespace pollution on glibc systems.
39538         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
39539         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
39540         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
39541         glibc systems.
39542
39543 2009-12-24  Bruno Haible  <bruno@clisp.org>
39544
39545         Refactor common macros used in tests.
39546         * tests/macros.h: New file.
39547         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
39548         and/or <stdlib.h>, if appropriate.
39549         (ASSERT, SIZEOF): Remove macros.
39550         * tests/test-areadlink-with-size.c: Likewise.
39551         * tests/test-areadlinkat.c: Likewise.
39552         * tests/test-areadlinkat-with-size.c: Likewise.
39553         * tests/test-argmatch.c: Likewise.
39554         * tests/test-argv-iter.c: Likewise.
39555         * tests/test-array-mergesort.c: Likewise.
39556         * tests/test-array_list.c: Likewise.
39557         * tests/test-array_oset.c: Likewise.
39558         * tests/test-avltree_list.c: Likewise.
39559         * tests/test-avltree_oset.c: Likewise.
39560         * tests/test-avltreehash_list.c: Likewise.
39561         * tests/test-base64.c: Likewise.
39562         * tests/test-binary-io.c: Likewise.
39563         * tests/test-bitrotate.c: Likewise.
39564         * tests/test-btowc.c: Likewise.
39565         * tests/test-byteswap.c: Likewise.
39566         * tests/test-c-ctype.c: Likewise.
39567         * tests/test-c-stack.c: Likewise.
39568         * tests/test-c-strcasecmp.c: Likewise.
39569         * tests/test-c-strcasestr.c: Likewise.
39570         * tests/test-c-strncasecmp.c: Likewise.
39571         * tests/test-c-strstr.c: Likewise.
39572         * tests/test-canonicalize-lgpl.c: Likewise.
39573         * tests/test-canonicalize.c: Likewise.
39574         * tests/test-carray_list.c: Likewise.
39575         * tests/test-ceilf1.c: Likewise.
39576         * tests/test-ceilf2.c: Likewise.
39577         * tests/test-ceill.c: Likewise.
39578         * tests/test-chown.c: Likewise.
39579         * tests/test-cloexec.c: Likewise.
39580         * tests/test-copy-acl.c: Likewise.
39581         * tests/test-copy-file.c: Likewise.
39582         * tests/test-count-one-bits.c: Likewise.
39583         * tests/test-dprintf-posix.c: Likewise.
39584         * tests/test-dup2.c: Likewise.
39585         * tests/test-dup3.c: Likewise.
39586         * tests/test-duplocale.c: Likewise.
39587         * tests/test-fbufmode.c: Likewise.
39588         * tests/test-fchdir.c: Likewise.
39589         * tests/test-fchownat.c: Likewise.
39590         * tests/test-fcntl-safer.c: Likewise.
39591         * tests/test-fcntl.c: Likewise.
39592         * tests/test-fdopendir.c: Likewise.
39593         * tests/test-fdutimensat.c: Likewise.
39594         * tests/test-fflush2.c: Likewise.
39595         * tests/test-file-has-acl.c: Likewise.
39596         * tests/test-filevercmp.c: Likewise.
39597         * tests/test-flock.c: Likewise.
39598         * tests/test-floorf1.c: Likewise.
39599         * tests/test-floorf2.c: Likewise.
39600         * tests/test-floorl.c: Likewise.
39601         * tests/test-fnmatch.c: Likewise.
39602         * tests/test-fopen.h: Likewise.
39603         * tests/test-fpending.c: Likewise.
39604         * tests/test-fprintf-posix.c: Likewise.
39605         * tests/test-fpurge.c: Likewise.
39606         * tests/test-freadable.c: Likewise.
39607         * tests/test-freadahead.c: Likewise.
39608         * tests/test-freading.c: Likewise.
39609         * tests/test-freadptr.c: Likewise.
39610         * tests/test-freadptr2.c: Likewise.
39611         * tests/test-freadseek.c: Likewise.
39612         * tests/test-freopen.c: Likewise.
39613         * tests/test-frexp.c: Likewise.
39614         * tests/test-frexpl.c: Likewise.
39615         * tests/test-fseek.c: Likewise.
39616         * tests/test-fseeko.c: Likewise.
39617         * tests/test-fstatat.c: Likewise.
39618         * tests/test-fstrcmp.c: Likewise.
39619         * tests/test-fsync.c: Likewise.
39620         * tests/test-ftell.c: Likewise.
39621         * tests/test-ftello.c: Likewise.
39622         * tests/test-func.c: Likewise.
39623         * tests/test-futimens.c: Likewise.
39624         * tests/test-fwritable.c: Likewise.
39625         * tests/test-fwriting.c: Likewise.
39626         * tests/test-getcwd.c: Likewise.
39627         * tests/test-getdate.c: Likewise.
39628         * tests/test-getdelim.c: Likewise.
39629         * tests/test-getdtablesize.c: Likewise.
39630         * tests/test-getgroups.c: Likewise.
39631         * tests/test-getline.c: Likewise.
39632         * tests/test-getndelim2.c: Likewise.
39633         * tests/test-glob.c: Likewise.
39634         * tests/test-hash.c: Likewise.
39635         * tests/test-i-ring.c: Likewise.
39636         * tests/test-iconv-utf.c: Likewise.
39637         * tests/test-iconv.c: Likewise.
39638         * tests/test-idpriv-drop.c: Likewise.
39639         * tests/test-idpriv-droptemp.c: Likewise.
39640         * tests/test-inet_ntop.c: Likewise.
39641         * tests/test-inet_pton.c: Likewise.
39642         * tests/test-isblank.c: Likewise.
39643         * tests/test-isfinite.c: Likewise.
39644         * tests/test-isinf.c: Likewise.
39645         * tests/test-isnan.c: Likewise.
39646         * tests/test-isnand.h: Likewise.
39647         * tests/test-isnanf.h: Likewise.
39648         * tests/test-isnanl.h: Likewise.
39649         * tests/test-lchown.c: Likewise.
39650         * tests/test-ldexpl.c: Likewise.
39651         * tests/test-link.c: Likewise.
39652         * tests/test-linkat.c: Likewise.
39653         * tests/test-linked_list.c: Likewise.
39654         * tests/test-linkedhash_list.c: Likewise.
39655         * tests/test-localename.c: Likewise.
39656         * tests/test-lseek.c: Likewise.
39657         * tests/test-lstat.c: Likewise.
39658         * tests/test-mbmemcasecmp.c: Likewise.
39659         * tests/test-mbmemcasecoll.c: Likewise.
39660         * tests/test-mbrtowc.c: Likewise.
39661         * tests/test-mbscasecmp.c: Likewise.
39662         * tests/test-mbscasestr1.c: Likewise.
39663         * tests/test-mbscasestr2.c: Likewise.
39664         * tests/test-mbscasestr3.c: Likewise.
39665         * tests/test-mbscasestr4.c: Likewise.
39666         * tests/test-mbschr.c: Likewise.
39667         * tests/test-mbscspn.c: Likewise.
39668         * tests/test-mbsinit.c: Likewise.
39669         * tests/test-mbsncasecmp.c: Likewise.
39670         * tests/test-mbsnrtowcs.c: Likewise.
39671         * tests/test-mbspbrk.c: Likewise.
39672         * tests/test-mbspcasecmp.c: Likewise.
39673         * tests/test-mbsrchr.c: Likewise.
39674         * tests/test-mbsrtowcs.c: Likewise.
39675         * tests/test-mbsspn.c: Likewise.
39676         * tests/test-mbsstr1.c: Likewise.
39677         * tests/test-mbsstr2.c: Likewise.
39678         * tests/test-mbsstr3.c: Likewise.
39679         * tests/test-memchr.c: Likewise.
39680         * tests/test-memchr2.c: Likewise.
39681         * tests/test-memcmp.c: Likewise.
39682         * tests/test-memmem.c: Likewise.
39683         * tests/test-memrchr.c: Likewise.
39684         * tests/test-mkdir.c: Likewise.
39685         * tests/test-mkdirat.c: Likewise.
39686         * tests/test-mkfifo.c: Likewise.
39687         * tests/test-mkfifoat.c: Likewise.
39688         * tests/test-mknod.c: Likewise.
39689         * tests/test-nanosleep.c: Likewise.
39690         * tests/test-nl_langinfo.c: Likewise.
39691         * tests/test-obstack-printf.c: Likewise.
39692         * tests/test-open.c: Likewise.
39693         * tests/test-openat.c: Likewise.
39694         * tests/test-pipe-filter-gi1.c: Likewise.
39695         * tests/test-pipe-filter-gi2-main.c: Likewise.
39696         * tests/test-pipe-filter-ii1.c: Likewise.
39697         * tests/test-pipe-filter-ii2-main.c: Likewise.
39698         * tests/test-pipe2.c: Likewise.
39699         * tests/test-popen.h: Likewise.
39700         * tests/test-posixtm.c: Likewise.
39701         * tests/test-pread.c: Likewise.
39702         * tests/test-printf-frexp.c: Likewise.
39703         * tests/test-printf-frexpl.c: Likewise.
39704         * tests/test-printf-posix.c: Likewise.
39705         * tests/test-priv-set.c: Likewise.
39706         * tests/test-quotearg.c: Likewise.
39707         * tests/test-random_r.c: Likewise.
39708         * tests/test-rawmemchr.c: Likewise.
39709         * tests/test-rbtree_list.c: Likewise.
39710         * tests/test-rbtree_oset.c: Likewise.
39711         * tests/test-rbtreehash_list.c: Likewise.
39712         * tests/test-readlink.c: Likewise.
39713         * tests/test-remove.c: Likewise.
39714         * tests/test-rename.c: Likewise.
39715         * tests/test-renameat.c: Likewise.
39716         * tests/test-rmdir.c: Likewise.
39717         * tests/test-round1.c: Likewise.
39718         * tests/test-roundf1.c: Likewise.
39719         * tests/test-roundl.c: Likewise.
39720         * tests/test-safe-alloc.c: Likewise.
39721         * tests/test-sameacls.c: Likewise.
39722         * tests/test-set-mode-acl.c: Likewise.
39723         * tests/test-setenv.c: Likewise.
39724         * tests/test-sigaction.c: Likewise.
39725         * tests/test-signbit.c: Likewise.
39726         * tests/test-sleep.c: Likewise.
39727         * tests/test-snprintf-posix.c: Likewise.
39728         * tests/test-snprintf.c: Likewise.
39729         * tests/test-sprintf-posix.c: Likewise.
39730         * tests/test-stat-time.c: Likewise.
39731         * tests/test-stat.c: Likewise.
39732         * tests/test-strcasestr.c: Likewise.
39733         * tests/test-strchrnul.c: Likewise.
39734         * tests/test-strerror.c: Likewise.
39735         * tests/test-striconv.c: Likewise.
39736         * tests/test-striconveh.c: Likewise.
39737         * tests/test-striconveha.c: Likewise.
39738         * tests/test-strsignal.c: Likewise.
39739         * tests/test-strstr.c: Likewise.
39740         * tests/test-strtod.c: Likewise.
39741         * tests/test-strverscmp.c: Likewise.
39742         * tests/test-symlink.c: Likewise.
39743         * tests/test-symlinkat.c: Likewise.
39744         * tests/test-trunc1.c: Likewise.
39745         * tests/test-trunc2.c: Likewise.
39746         * tests/test-truncf1.c: Likewise.
39747         * tests/test-truncf2.c: Likewise.
39748         * tests/test-truncl.c: Likewise.
39749         * tests/test-uname.c: Likewise.
39750         * tests/test-unlink.c: Likewise.
39751         * tests/test-unlinkat.c: Likewise.
39752         * tests/test-unsetenv.c: Likewise.
39753         * tests/test-usleep.c: Likewise.
39754         * tests/test-utimens.c: Likewise.
39755         * tests/test-utimensat.c: Likewise.
39756         * tests/test-vasnprintf-posix.c: Likewise.
39757         * tests/test-vasnprintf-posix2.c: Likewise.
39758         * tests/test-vasnprintf.c: Likewise.
39759         * tests/test-vasprintf-posix.c: Likewise.
39760         * tests/test-vasprintf.c: Likewise.
39761         * tests/test-vdprintf-posix.c: Likewise.
39762         * tests/test-vfprintf-posix.c: Likewise.
39763         * tests/test-vprintf-posix.c: Likewise.
39764         * tests/test-vsnprintf-posix.c: Likewise.
39765         * tests/test-vsnprintf.c: Likewise.
39766         * tests/test-vsprintf-posix.c: Likewise.
39767         * tests/test-wcrtomb.c: Likewise.
39768         * tests/test-wcsnrtombs.c: Likewise.
39769         * tests/test-wcsrtombs.c: Likewise.
39770         * tests/test-wctype.c: Likewise.
39771         * tests/test-wcwidth.c: Likewise.
39772         * tests/test-xfprintf-posix.c: Likewise.
39773         * tests/test-xmemdup0.c: Likewise.
39774         * tests/test-xprintf-posix.c: Likewise.
39775         * tests/test-xvasprintf.c: Likewise.
39776         * tests/unicase/test-locale-language.c: Likewise.
39777         * tests/unicase/test-mapping-part1.h: Likewise.
39778         * tests/unicase/test-predicate-part1.h: Likewise.
39779         * tests/unicase/test-u8-casecmp.c: Likewise.
39780         * tests/unicase/test-u8-casecoll.c: Likewise.
39781         * tests/unicase/test-u8-casefold.c: Likewise.
39782         * tests/unicase/test-u8-is-cased.c: Likewise.
39783         * tests/unicase/test-u8-is-casefolded.c: Likewise.
39784         * tests/unicase/test-u8-is-lowercase.c: Likewise.
39785         * tests/unicase/test-u8-is-titlecase.c: Likewise.
39786         * tests/unicase/test-u8-is-uppercase.c: Likewise.
39787         * tests/unicase/test-u8-tolower.c: Likewise.
39788         * tests/unicase/test-u8-totitle.c: Likewise.
39789         * tests/unicase/test-u8-toupper.c: Likewise.
39790         * tests/unicase/test-u16-casecmp.c: Likewise.
39791         * tests/unicase/test-u16-casecoll.c: Likewise.
39792         * tests/unicase/test-u16-casefold.c: Likewise.
39793         * tests/unicase/test-u16-is-cased.c: Likewise.
39794         * tests/unicase/test-u16-is-casefolded.c: Likewise.
39795         * tests/unicase/test-u16-is-lowercase.c: Likewise.
39796         * tests/unicase/test-u16-is-titlecase.c: Likewise.
39797         * tests/unicase/test-u16-is-uppercase.c: Likewise.
39798         * tests/unicase/test-u16-tolower.c: Likewise.
39799         * tests/unicase/test-u16-totitle.c: Likewise.
39800         * tests/unicase/test-u16-toupper.c: Likewise.
39801         * tests/unicase/test-u32-casecmp.c: Likewise.
39802         * tests/unicase/test-u32-casecoll.c: Likewise.
39803         * tests/unicase/test-u32-casefold.c: Likewise.
39804         * tests/unicase/test-u32-is-cased.c: Likewise.
39805         * tests/unicase/test-u32-is-casefolded.c: Likewise.
39806         * tests/unicase/test-u32-is-lowercase.c: Likewise.
39807         * tests/unicase/test-u32-is-titlecase.c: Likewise.
39808         * tests/unicase/test-u32-is-uppercase.c: Likewise.
39809         * tests/unicase/test-u32-tolower.c: Likewise.
39810         * tests/unicase/test-u32-totitle.c: Likewise.
39811         * tests/unicase/test-u32-toupper.c: Likewise.
39812         * tests/unicase/test-ulc-casecmp.c: Likewise.
39813         * tests/unicase/test-ulc-casecoll.c: Likewise.
39814         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
39815         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
39816         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
39817         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
39818         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
39819         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
39820         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
39821         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
39822         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
39823         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
39824         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
39825         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
39826         * tests/unictype/test-bidi_byname.c: Likewise.
39827         * tests/unictype/test-bidi_name.c: Likewise.
39828         * tests/unictype/test-bidi_of.c: Likewise.
39829         * tests/unictype/test-bidi_test.c: Likewise.
39830         * tests/unictype/test-block_list.c: Likewise.
39831         * tests/unictype/test-block_of.c: Likewise.
39832         * tests/unictype/test-block_test.c: Likewise.
39833         * tests/unictype/test-categ_and.c: Likewise.
39834         * tests/unictype/test-categ_and_not.c: Likewise.
39835         * tests/unictype/test-categ_byname.c: Likewise.
39836         * tests/unictype/test-categ_name.c: Likewise.
39837         * tests/unictype/test-categ_none.c: Likewise.
39838         * tests/unictype/test-categ_of.c: Likewise.
39839         * tests/unictype/test-categ_or.c: Likewise.
39840         * tests/unictype/test-categ_test_withtable.c: Likewise.
39841         * tests/unictype/test-combining.c: Likewise.
39842         * tests/unictype/test-decdigit.c: Likewise.
39843         * tests/unictype/test-digit.c: Likewise.
39844         * tests/unictype/test-mirror.c: Likewise.
39845         * tests/unictype/test-numeric.c: Likewise.
39846         * tests/unictype/test-pr_byname.c: Likewise.
39847         * tests/unictype/test-pr_test.c: Likewise.
39848         * tests/unictype/test-predicate-part1.h: Likewise.
39849         * tests/unictype/test-scripts.c: Likewise.
39850         * tests/unictype/test-sy_c_ident.c: Likewise.
39851         * tests/unictype/test-sy_java_ident.c: Likewise.
39852         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
39853         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
39854         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
39855         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
39856         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
39857         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
39858         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
39859         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
39860         * tests/uninorm/test-canonical-decomposition.c: Likewise.
39861         * tests/uninorm/test-compat-decomposition.c: Likewise.
39862         * tests/uninorm/test-composition.c: Likewise.
39863         * tests/uninorm/test-decomposing-form.c: Likewise.
39864         * tests/uninorm/test-decomposition.c: Likewise.
39865         * tests/uninorm/test-u8-nfc.c: Likewise.
39866         * tests/uninorm/test-u8-nfd.c: Likewise.
39867         * tests/uninorm/test-u8-nfkc.c: Likewise.
39868         * tests/uninorm/test-u8-nfkd.c: Likewise.
39869         * tests/uninorm/test-u8-normcmp.c: Likewise.
39870         * tests/uninorm/test-u8-normcoll.c: Likewise.
39871         * tests/uninorm/test-u16-nfc.c: Likewise.
39872         * tests/uninorm/test-u16-nfd.c: Likewise.
39873         * tests/uninorm/test-u16-nfkc.c: Likewise.
39874         * tests/uninorm/test-u16-nfkd.c: Likewise.
39875         * tests/uninorm/test-u16-normcmp.c: Likewise.
39876         * tests/uninorm/test-u16-normcoll.c: Likewise.
39877         * tests/uninorm/test-u32-nfc.c: Likewise.
39878         * tests/uninorm/test-u32-nfd.c: Likewise.
39879         * tests/uninorm/test-u32-nfkc.c: Likewise.
39880         * tests/uninorm/test-u32-nfkd.c: Likewise.
39881         * tests/uninorm/test-u32-normalize-big.c: Likewise.
39882         * tests/uninorm/test-u32-normcmp.c: Likewise.
39883         * tests/uninorm/test-u32-normcoll.c: Likewise.
39884         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
39885         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
39886         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
39887         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
39888         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
39889         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
39890         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
39891         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
39892         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
39893         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
39894         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
39895         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
39896         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
39897         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
39898         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
39899         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
39900         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
39901         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
39902         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
39903         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
39904         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
39905         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
39906         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
39907         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
39908         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
39909         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
39910         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
39911         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
39912         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
39913         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
39914         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
39915         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
39916         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
39917         * tests/uniwidth/test-u8-strwidth.c: Likewise.
39918         * tests/uniwidth/test-u8-width.c: Likewise.
39919         * tests/uniwidth/test-u16-strwidth.c: Likewise.
39920         * tests/uniwidth/test-u16-width.c: Likewise.
39921         * tests/uniwidth/test-u32-strwidth.c: Likewise.
39922         * tests/uniwidth/test-u32-width.c: Likewise.
39923         * tests/uniwidth/test-uc_width.c: Likewise.
39924         * tests/uniwidth/test-uc_width2.c: Likewise.
39925         * modules/acl-tests (Files): Add tests/macros.h.
39926         * modules/areadlink-tests (Files): Likewise.
39927         * modules/areadlink-with-size-tests (Files): Likewise.
39928         * modules/areadlinkat-tests (Files): Likewise.
39929         * modules/areadlinkat-with-size-tests (Files): Likewise.
39930         * modules/argmatch-tests (Files): Likewise.
39931         * modules/argv-iter-tests (Files): Likewise.
39932         * modules/array-list-tests (Files): Likewise.
39933         * modules/array-mergesort-tests (Files): Likewise.
39934         * modules/array-oset-tests (Files): Likewise.
39935         * modules/avltree-list-tests (Files): Likewise.
39936         * modules/avltree-oset-tests (Files): Likewise.
39937         * modules/avltreehash-list-tests (Files): Likewise.
39938         * modules/base64-tests (Files): Likewise.
39939         * modules/binary-io-tests (Files): Likewise.
39940         * modules/bitrotate-tests (Files): Likewise.
39941         * modules/btowc-tests (Files): Likewise.
39942         * modules/byteswap-tests (Files): Likewise.
39943         * modules/c-ctype-tests (Files): Likewise.
39944         * modules/c-stack-tests (Files): Likewise.
39945         * modules/c-strcase-tests (Files): Likewise.
39946         * modules/c-strcasestr-tests (Files): Likewise.
39947         * modules/c-strstr-tests (Files): Likewise.
39948         * modules/canonicalize-lgpl-tests (Files): Likewise.
39949         * modules/canonicalize-tests (Files): Likewise.
39950         * modules/carray-list-tests (Files): Likewise.
39951         * modules/ceilf-tests (Files): Likewise.
39952         * modules/ceill-tests (Files): Likewise.
39953         * modules/chown-tests (Files): Likewise.
39954         * modules/cloexec-tests (Files): Likewise.
39955         * modules/copy-file-tests (Files): Likewise.
39956         * modules/count-one-bits-tests (Files): Likewise.
39957         * modules/dprintf-posix-tests (Files): Likewise.
39958         * modules/dup2-tests (Files): Likewise.
39959         * modules/dup3-tests (Files): Likewise.
39960         * modules/duplocale-tests (Files): Likewise.
39961         * modules/fbufmode-tests (Files): Likewise.
39962         * modules/fchdir-tests (Files): Likewise.
39963         * modules/fcntl-safer-tests (Files): Likewise.
39964         * modules/fcntl-tests (Files): Likewise.
39965         * modules/fdopendir-tests (Files): Likewise.
39966         * modules/fdutimensat-tests (Files): Likewise.
39967         * modules/fflush-tests (Files): Likewise.
39968         * modules/filevercmp-tests (Files): Likewise.
39969         * modules/flock-tests (Files): Likewise.
39970         * modules/floorf-tests (Files): Likewise.
39971         * modules/floorl-tests (Files): Likewise.
39972         * modules/fnmatch-tests (Files): Likewise.
39973         * modules/fopen-safer-tests (Files): Likewise.
39974         * modules/fopen-tests (Files): Likewise.
39975         * modules/fpending-tests (Files): Likewise.
39976         * modules/fprintf-posix-tests (Files): Likewise.
39977         * modules/fpurge-tests (Files): Likewise.
39978         * modules/freadable-tests (Files): Likewise.
39979         * modules/freadahead-tests (Files): Likewise.
39980         * modules/freading-tests (Files): Likewise.
39981         * modules/freadptr-tests (Files): Likewise.
39982         * modules/freadseek-tests (Files): Likewise.
39983         * modules/freopen-tests (Files): Likewise.
39984         * modules/frexp-nolibm-tests (Files): Likewise.
39985         * modules/frexp-tests (Files): Likewise.
39986         * modules/frexpl-nolibm-tests (Files): Likewise.
39987         * modules/frexpl-tests (Files): Likewise.
39988         * modules/fseek-tests (Files): Likewise.
39989         * modules/fseeko-tests (Files): Likewise.
39990         * modules/fstrcmp-tests (Files): Likewise.
39991         * modules/fsync-tests (Files): Likewise.
39992         * modules/ftell-tests (Files): Likewise.
39993         * modules/ftello-tests (Files): Likewise.
39994         * modules/func-tests (Files): Likewise.
39995         * modules/futimens-tests (Files): Likewise.
39996         * modules/fwritable-tests (Files): Likewise.
39997         * modules/fwriting-tests (Files): Likewise.
39998         * modules/getcwd-tests (Files): Likewise.
39999         * modules/getdate-tests (Files): Likewise.
40000         * modules/getdelim-tests (Files): Likewise.
40001         * modules/getdtablesize-tests (Files): Likewise.
40002         * modules/getgroups-tests (Files): Likewise.
40003         * modules/getline-tests (Files): Likewise.
40004         * modules/getndelim2-tests (Files): Likewise.
40005         * modules/glob-tests (Files): Likewise.
40006         * modules/hash-tests (Files): Likewise.
40007         * modules/i-ring-tests (Files): Likewise.
40008         * modules/iconv-tests (Files): Likewise.
40009         * modules/iconv_open-utf-tests (Files): Likewise.
40010         * modules/idpriv-drop-tests (Files): Likewise.
40011         * modules/idpriv-droptemp-tests (Files): Likewise.
40012         * modules/inet_ntop-tests (Files): Likewise.
40013         * modules/inet_pton-tests (Files): Likewise.
40014         * modules/isblank-tests (Files): Likewise.
40015         * modules/isfinite-tests (Files): Likewise.
40016         * modules/isinf-tests (Files): Likewise.
40017         * modules/isnan-tests (Files): Likewise.
40018         * modules/isnand-nolibm-tests (Files): Likewise.
40019         * modules/isnand-tests (Files): Likewise.
40020         * modules/isnanf-nolibm-tests (Files): Likewise.
40021         * modules/isnanf-tests (Files): Likewise.
40022         * modules/isnanl-nolibm-tests (Files): Likewise.
40023         * modules/isnanl-tests (Files): Likewise.
40024         * modules/lchown-tests (Files): Likewise.
40025         * modules/ldexpl-tests (Files): Likewise.
40026         * modules/link-tests (Files): Likewise.
40027         * modules/linkat-tests (Files): Likewise.
40028         * modules/linked-list-tests (Files): Likewise.
40029         * modules/linkedhash-list-tests (Files): Likewise.
40030         * modules/localename-tests (Files): Likewise.
40031         * modules/lseek-tests (Files): Likewise.
40032         * modules/lstat-tests (Files): Likewise.
40033         * modules/mbmemcasecmp-tests (Files): Likewise.
40034         * modules/mbmemcasecoll-tests (Files): Likewise.
40035         * modules/mbrtowc-tests (Files): Likewise.
40036         * modules/mbscasecmp-tests (Files): Likewise.
40037         * modules/mbscasestr-tests (Files): Likewise.
40038         * modules/mbschr-tests (Files): Likewise.
40039         * modules/mbscspn-tests (Files): Likewise.
40040         * modules/mbsinit-tests (Files): Likewise.
40041         * modules/mbsncasecmp-tests (Files): Likewise.
40042         * modules/mbsnrtowcs-tests (Files): Likewise.
40043         * modules/mbspbrk-tests (Files): Likewise.
40044         * modules/mbspcasecmp-tests (Files): Likewise.
40045         * modules/mbsrchr-tests (Files): Likewise.
40046         * modules/mbsrtowcs-tests (Files): Likewise.
40047         * modules/mbsspn-tests (Files): Likewise.
40048         * modules/mbsstr-tests (Files): Likewise.
40049         * modules/memchr-tests (Files): Likewise.
40050         * modules/memchr2-tests (Files): Likewise.
40051         * modules/memcmp-tests (Files): Likewise.
40052         * modules/memmem-tests (Files): Likewise.
40053         * modules/memrchr-tests (Files): Likewise.
40054         * modules/mkdir-tests (Files): Likewise.
40055         * modules/mkfifo-tests (Files): Likewise.
40056         * modules/mkfifoat-tests (Files): Likewise.
40057         * modules/mknod-tests (Files): Likewise.
40058         * modules/nanosleep-tests (Files): Likewise.
40059         * modules/nl_langinfo-tests (Files): Likewise.
40060         * modules/obstack-printf-tests (Files): Likewise.
40061         * modules/open-tests (Files): Likewise.
40062         * modules/openat-tests (Files): Likewise.
40063         * modules/pipe-filter-gi-tests (Files): Likewise.
40064         * modules/pipe-filter-ii-tests (Files): Likewise.
40065         * modules/pipe2-tests (Files): Likewise.
40066         * modules/popen-safer-tests (Files): Likewise.
40067         * modules/popen-tests (Files): Likewise.
40068         * modules/posixtm-tests (Files): Likewise.
40069         * modules/pread-tests (Files): Likewise.
40070         * modules/printf-frexp-tests (Files): Likewise.
40071         * modules/printf-frexpl-tests (Files): Likewise.
40072         * modules/printf-posix-tests (Files): Likewise.
40073         * modules/priv-set-tests (Files): Likewise.
40074         * modules/quotearg-tests (Files): Likewise.
40075         * modules/random_r-tests (Files): Likewise.
40076         * modules/rawmemchr-tests (Files): Likewise.
40077         * modules/rbtree-list-tests (Files): Likewise.
40078         * modules/rbtree-oset-tests (Files): Likewise.
40079         * modules/rbtreehash-list-tests (Files): Likewise.
40080         * modules/readlink-tests (Files): Likewise.
40081         * modules/remove-tests (Files): Likewise.
40082         * modules/rename-tests (Files): Likewise.
40083         * modules/renameat-tests (Files): Likewise.
40084         * modules/rmdir-tests (Files): Likewise.
40085         * modules/round-tests (Files): Likewise.
40086         * modules/roundf-tests (Files): Likewise.
40087         * modules/roundl-tests (Files): Likewise.
40088         * modules/safe-alloc-tests (Files): Likewise.
40089         * modules/setenv-tests (Files): Likewise.
40090         * modules/sigaction-tests (Files): Likewise.
40091         * modules/signbit-tests (Files): Likewise.
40092         * modules/sleep-tests (Files): Likewise.
40093         * modules/snprintf-posix-tests (Files): Likewise.
40094         * modules/snprintf-tests (Files): Likewise.
40095         * modules/sprintf-posix-tests (Files): Likewise.
40096         * modules/stat-tests (Files): Likewise.
40097         * modules/stat-time-tests (Files): Likewise.
40098         * modules/strcasestr-tests (Files): Likewise.
40099         * modules/strchrnul-tests (Files): Likewise.
40100         * modules/strerror-tests (Files): Likewise.
40101         * modules/striconv-tests (Files): Likewise.
40102         * modules/striconveh-tests (Files): Likewise.
40103         * modules/striconveha-tests (Files): Likewise.
40104         * modules/strsignal-tests (Files): Likewise.
40105         * modules/strstr-tests (Files): Likewise.
40106         * modules/strtod-tests (Files): Likewise.
40107         * modules/strverscmp-tests (Files): Likewise.
40108         * modules/symlink-tests (Files): Likewise.
40109         * modules/symlinkat-tests (Files): Likewise.
40110         * modules/trunc-tests (Files): Likewise.
40111         * modules/truncf-tests (Files): Likewise.
40112         * modules/truncl-tests (Files): Likewise.
40113         * modules/uname-tests (Files): Likewise.
40114         * modules/unicase/cased-tests (Files): Likewise.
40115         * modules/unicase/ignorable-tests (Files): Likewise.
40116         * modules/unicase/locale-language-tests (Files): Likewise.
40117         * modules/unicase/tolower-tests (Files): Likewise.
40118         * modules/unicase/totitle-tests (Files): Likewise.
40119         * modules/unicase/toupper-tests (Files): Likewise.
40120         * modules/unicase/u8-casecmp-tests (Files): Likewise.
40121         * modules/unicase/u8-casecoll-tests (Files): Likewise.
40122         * modules/unicase/u8-casefold-tests (Files): Likewise.
40123         * modules/unicase/u8-is-cased-tests (Files): Likewise.
40124         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
40125         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
40126         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
40127         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
40128         * modules/unicase/u8-tolower-tests (Files): Likewise.
40129         * modules/unicase/u8-totitle-tests (Files): Likewise.
40130         * modules/unicase/u8-toupper-tests (Files): Likewise.
40131         * modules/unicase/u16-casecmp-tests (Files): Likewise.
40132         * modules/unicase/u16-casecoll-tests (Files): Likewise.
40133         * modules/unicase/u16-casefold-tests (Files): Likewise.
40134         * modules/unicase/u16-is-cased-tests (Files): Likewise.
40135         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
40136         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
40137         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
40138         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
40139         * modules/unicase/u16-tolower-tests (Files): Likewise.
40140         * modules/unicase/u16-totitle-tests (Files): Likewise.
40141         * modules/unicase/u16-toupper-tests (Files): Likewise.
40142         * modules/unicase/u32-casecmp-tests (Files): Likewise.
40143         * modules/unicase/u32-casecoll-tests (Files): Likewise.
40144         * modules/unicase/u32-casefold-tests (Files): Likewise.
40145         * modules/unicase/u32-is-cased-tests (Files): Likewise.
40146         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
40147         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
40148         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
40149         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
40150         * modules/unicase/u32-tolower-tests (Files): Likewise.
40151         * modules/unicase/u32-totitle-tests (Files): Likewise.
40152         * modules/unicase/u32-toupper-tests (Files): Likewise.
40153         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
40154         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
40155         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
40156         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
40157         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
40158         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
40159         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
40160         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
40161         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
40162         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
40163         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
40164         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
40165         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
40166         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
40167         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
40168         * modules/unictype/bidicategory-name-tests (Files): Likewise.
40169         * modules/unictype/bidicategory-of-tests (Files): Likewise.
40170         * modules/unictype/bidicategory-test-tests (Files): Likewise.
40171         * modules/unictype/block-list-tests (Files): Likewise.
40172         * modules/unictype/block-of-tests (Files): Likewise.
40173         * modules/unictype/block-test-tests (Files): Likewise.
40174         * modules/unictype/category-C-tests (Files): Likewise.
40175         * modules/unictype/category-Cc-tests (Files): Likewise.
40176         * modules/unictype/category-Cf-tests (Files): Likewise.
40177         * modules/unictype/category-Cn-tests (Files): Likewise.
40178         * modules/unictype/category-Co-tests (Files): Likewise.
40179         * modules/unictype/category-Cs-tests (Files): Likewise.
40180         * modules/unictype/category-L-tests (Files): Likewise.
40181         * modules/unictype/category-Ll-tests (Files): Likewise.
40182         * modules/unictype/category-Lm-tests (Files): Likewise.
40183         * modules/unictype/category-Lo-tests (Files): Likewise.
40184         * modules/unictype/category-Lt-tests (Files): Likewise.
40185         * modules/unictype/category-Lu-tests (Files): Likewise.
40186         * modules/unictype/category-M-tests (Files): Likewise.
40187         * modules/unictype/category-Mc-tests (Files): Likewise.
40188         * modules/unictype/category-Me-tests (Files): Likewise.
40189         * modules/unictype/category-Mn-tests (Files): Likewise.
40190         * modules/unictype/category-N-tests (Files): Likewise.
40191         * modules/unictype/category-Nd-tests (Files): Likewise.
40192         * modules/unictype/category-Nl-tests (Files): Likewise.
40193         * modules/unictype/category-No-tests (Files): Likewise.
40194         * modules/unictype/category-P-tests (Files): Likewise.
40195         * modules/unictype/category-Pc-tests (Files): Likewise.
40196         * modules/unictype/category-Pd-tests (Files): Likewise.
40197         * modules/unictype/category-Pe-tests (Files): Likewise.
40198         * modules/unictype/category-Pf-tests (Files): Likewise.
40199         * modules/unictype/category-Pi-tests (Files): Likewise.
40200         * modules/unictype/category-Po-tests (Files): Likewise.
40201         * modules/unictype/category-Ps-tests (Files): Likewise.
40202         * modules/unictype/category-S-tests (Files): Likewise.
40203         * modules/unictype/category-Sc-tests (Files): Likewise.
40204         * modules/unictype/category-Sk-tests (Files): Likewise.
40205         * modules/unictype/category-Sm-tests (Files): Likewise.
40206         * modules/unictype/category-So-tests (Files): Likewise.
40207         * modules/unictype/category-Z-tests (Files): Likewise.
40208         * modules/unictype/category-Zl-tests (Files): Likewise.
40209         * modules/unictype/category-Zp-tests (Files): Likewise.
40210         * modules/unictype/category-Zs-tests (Files): Likewise.
40211         * modules/unictype/category-and-not-tests (Files): Likewise.
40212         * modules/unictype/category-and-tests (Files): Likewise.
40213         * modules/unictype/category-byname-tests (Files): Likewise.
40214         * modules/unictype/category-name-tests (Files): Likewise.
40215         * modules/unictype/category-none-tests (Files): Likewise.
40216         * modules/unictype/category-of-tests (Files): Likewise.
40217         * modules/unictype/category-or-tests (Files): Likewise.
40218         * modules/unictype/category-test-withtable-tests (Files): Likewise.
40219         * modules/unictype/combining-class-tests (Files): Likewise.
40220         * modules/unictype/ctype-alnum-tests (Files): Likewise.
40221         * modules/unictype/ctype-alpha-tests (Files): Likewise.
40222         * modules/unictype/ctype-blank-tests (Files): Likewise.
40223         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
40224         * modules/unictype/ctype-digit-tests (Files): Likewise.
40225         * modules/unictype/ctype-graph-tests (Files): Likewise.
40226         * modules/unictype/ctype-lower-tests (Files): Likewise.
40227         * modules/unictype/ctype-print-tests (Files): Likewise.
40228         * modules/unictype/ctype-punct-tests (Files): Likewise.
40229         * modules/unictype/ctype-space-tests (Files): Likewise.
40230         * modules/unictype/ctype-upper-tests (Files): Likewise.
40231         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
40232         * modules/unictype/decimal-digit-tests (Files): Likewise.
40233         * modules/unictype/digit-tests (Files): Likewise.
40234         * modules/unictype/mirror-tests (Files): Likewise.
40235         * modules/unictype/numeric-tests (Files): Likewise.
40236         * modules/unictype/property-alphabetic-tests (Files): Likewise.
40237         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
40238         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
40239         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
40240         Likewise.
40241         * modules/unictype/property-bidi-block-separator-tests (Files):
40242         Likewise.
40243         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
40244         Likewise.
40245         * modules/unictype/property-bidi-common-separator-tests (Files):
40246         Likewise.
40247         * modules/unictype/property-bidi-control-tests (Files): Likewise.
40248         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
40249         Likewise.
40250         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
40251         Likewise.
40252         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
40253         Likewise.
40254         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
40255         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
40256         Likewise.
40257         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
40258         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
40259         Likewise.
40260         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
40261         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
40262         * modules/unictype/property-bidi-segment-separator-tests (Files):
40263         Likewise.
40264         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
40265         * modules/unictype/property-byname-tests (Files): Likewise.
40266         * modules/unictype/property-combining-tests (Files): Likewise.
40267         * modules/unictype/property-composite-tests (Files): Likewise.
40268         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
40269         * modules/unictype/property-dash-tests (Files): Likewise.
40270         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
40271         * modules/unictype/property-default-ignorable-code-point-tests (Files):
40272         Likewise.
40273         * modules/unictype/property-deprecated-tests (Files): Likewise.
40274         * modules/unictype/property-diacritic-tests (Files): Likewise.
40275         * modules/unictype/property-extender-tests (Files): Likewise.
40276         * modules/unictype/property-format-control-tests (Files): Likewise.
40277         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
40278         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
40279         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
40280         * modules/unictype/property-hex-digit-tests (Files): Likewise.
40281         * modules/unictype/property-hyphen-tests (Files): Likewise.
40282         * modules/unictype/property-id-continue-tests (Files): Likewise.
40283         * modules/unictype/property-id-start-tests (Files): Likewise.
40284         * modules/unictype/property-ideographic-tests (Files): Likewise.
40285         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
40286         * modules/unictype/property-ids-trinary-operator-tests (Files):
40287         Likewise.
40288         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
40289         * modules/unictype/property-iso-control-tests (Files): Likewise.
40290         * modules/unictype/property-join-control-tests (Files): Likewise.
40291         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
40292         * modules/unictype/property-line-separator-tests (Files): Likewise.
40293         * modules/unictype/property-logical-order-exception-tests (Files):
40294         Likewise.
40295         * modules/unictype/property-lowercase-tests (Files): Likewise.
40296         * modules/unictype/property-math-tests (Files): Likewise.
40297         * modules/unictype/property-non-break-tests (Files): Likewise.
40298         * modules/unictype/property-not-a-character-tests (Files): Likewise.
40299         * modules/unictype/property-numeric-tests (Files): Likewise.
40300         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
40301         * modules/unictype/property-other-default-ignorable-code-point-tests
40302         (Files): Likewise.
40303         * modules/unictype/property-other-grapheme-extend-tests (Files):
40304         Likewise.
40305         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
40306         * modules/unictype/property-other-id-start-tests (Files): Likewise.
40307         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
40308         * modules/unictype/property-other-math-tests (Files): Likewise.
40309         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
40310         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
40311         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
40312         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
40313         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
40314         * modules/unictype/property-private-use-tests (Files): Likewise.
40315         * modules/unictype/property-punctuation-tests (Files): Likewise.
40316         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
40317         * modules/unictype/property-radical-tests (Files): Likewise.
40318         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
40319         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
40320         * modules/unictype/property-space-tests (Files): Likewise.
40321         * modules/unictype/property-terminal-punctuation-tests (Files):
40322         Likewise.
40323         * modules/unictype/property-test-tests (Files): Likewise.
40324         * modules/unictype/property-titlecase-tests (Files): Likewise.
40325         * modules/unictype/property-unassigned-code-value-tests (Files):
40326         Likewise.
40327         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
40328         * modules/unictype/property-uppercase-tests (Files): Likewise.
40329         * modules/unictype/property-variation-selector-tests (Files): Likewise.
40330         * modules/unictype/property-white-space-tests (Files): Likewise.
40331         * modules/unictype/property-xid-continue-tests (Files): Likewise.
40332         * modules/unictype/property-xid-start-tests (Files): Likewise.
40333         * modules/unictype/property-zero-width-tests (Files): Likewise.
40334         * modules/unictype/scripts-tests (Files): Likewise.
40335         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
40336         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
40337         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
40338         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
40339         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
40340         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
40341         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
40342         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
40343         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
40344         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
40345         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
40346         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
40347         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
40348         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
40349         * modules/uninorm/composition-tests (Files): Likewise.
40350         * modules/uninorm/decomposing-form-tests (Files): Likewise.
40351         * modules/uninorm/decomposition-tests (Files): Likewise.
40352         * modules/uninorm/filter-tests (Files): Likewise.
40353         * modules/uninorm/nfc-tests (Files): Likewise.
40354         * modules/uninorm/nfd-tests (Files): Likewise.
40355         * modules/uninorm/nfkc-tests (Files): Likewise.
40356         * modules/uninorm/nfkd-tests (Files): Likewise.
40357         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
40358         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
40359         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
40360         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
40361         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
40362         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
40363         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
40364         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
40365         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
40366         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
40367         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
40368         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
40369         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
40370         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
40371         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
40372         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
40373         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
40374         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
40375         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
40376         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
40377         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
40378         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
40379         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
40380         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
40381         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
40382         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
40383         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
40384         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
40385         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
40386         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
40387         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
40388         * modules/uniwidth/u8-width-tests (Files): Likewise.
40389         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
40390         * modules/uniwidth/u16-width-tests (Files): Likewise.
40391         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
40392         * modules/uniwidth/u32-width-tests (Files): Likewise.
40393         * modules/uniwidth/width-tests (Files): Likewise.
40394         * modules/unlink-tests (Files): Likewise.
40395         * modules/unsetenv-tests (Files): Likewise.
40396         * modules/usleep-tests (Files): Likewise.
40397         * modules/utimens-tests (Files): Likewise.
40398         * modules/utimensat-tests (Files): Likewise.
40399         * modules/vasnprintf-posix-tests (Files): Likewise.
40400         * modules/vasnprintf-tests (Files): Likewise.
40401         * modules/vasprintf-posix-tests (Files): Likewise.
40402         * modules/vasprintf-tests (Files): Likewise.
40403         * modules/vdprintf-posix-tests (Files): Likewise.
40404         * modules/vfprintf-posix-tests (Files): Likewise.
40405         * modules/vprintf-posix-tests (Files): Likewise.
40406         * modules/vsnprintf-posix-tests (Files): Likewise.
40407         * modules/vsnprintf-tests (Files): Likewise.
40408         * modules/vsprintf-posix-tests (Files): Likewise.
40409         * modules/wcrtomb-tests (Files): Likewise.
40410         * modules/wcsnrtombs-tests (Files): Likewise.
40411         * modules/wcsrtombs-tests (Files): Likewise.
40412         * modules/wctype-tests (Files): Likewise.
40413         * modules/wcwidth-tests (Files): Likewise.
40414         * modules/xmemdup0-tests (Files): Likewise.
40415         * modules/xprintf-posix-tests (Files): Likewise.
40416         * modules/xvasprintf-tests (Files): Likewise.
40417
40418 2009-12-24  Eric Blake  <ebb9@byu.net>
40419
40420         test-nanosleep: fix typo
40421         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
40422         patch.
40423         Reported by Bruno Haible.
40424
40425 2009-12-24  Bruno Haible  <bruno@clisp.org>
40426
40427         Reduce namespace pollution on glibc systems.
40428         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
40429         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
40430         systems.
40431         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
40432         <getopt.h> on glibc systems.
40433         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
40434         systems.
40435         * lib/fcntl.c: Include <unistd.h> here instead.
40436
40437 2009-12-24  Bruno Haible  <bruno@clisp.org>
40438
40439         * lib/stdlib.in.h (includes): Fix typo in today's commit.
40440
40441 2009-12-24  Eric Blake  <ebb9@byu.net>
40442
40443         tests: add signature checks
40444         * tests/signature.h (SIGNATURE_CHECK): New file.
40445         * modules/atexit-tests (Files): Use it.
40446         * modules/btowc-tests (Files): Likewise.
40447         * modules/canonicalize-lgpl-tests (Files): Likewise.
40448         * modules/ceilf-tests (Files): Likewise.
40449         * modules/ceill-tests (Files): Likewise.
40450         * modules/chown-tests (Files): Likewise.
40451         * modules/dprintf-posix-tests (Files): Likewise.
40452         * modules/dup2-tests (Files): Likewise.
40453         * modules/dup3-tests (Files): Likewise.
40454         * modules/duplocale-tests (Files): Likewise.
40455         * modules/fchdir-tests (Files): Likewise.
40456         * modules/fcntl-tests (Files): Likewise.
40457         * modules/fdopendir-tests (Files): Likewise.
40458         * modules/fflush-tests (Files): Likewise.
40459         * modules/flock-tests (Files): Likewise.
40460         * modules/floorf-tests (Files): Likewise.
40461         * modules/floorl-tests (Files): Likewise.
40462         * modules/fnmatch-tests (Files): Likewise.
40463         * modules/fopen-tests (Files): Likewise.
40464         * modules/fprintf-posix-tests (Files): Likewise.
40465         * modules/freopen-tests (Files): Likewise.
40466         * modules/frexp-nolibm-tests (Files): Likewise.
40467         * modules/frexp-tests (Files): Likewise.
40468         * modules/frexpl-nolibm-tests (Files): Likewise.
40469         * modules/frexpl-tests (Files): Likewise.
40470         * modules/fseek-tests (Files): Likewise.
40471         * modules/fseeko-tests (Files): Likewise.
40472         * modules/fsync-tests (Files): Likewise.
40473         * modules/ftell-tests (Files): Likewise.
40474         * modules/ftello-tests (Files): Likewise.
40475         * modules/futimens-tests (Files): Likewise.
40476         * modules/getaddrinfo-tests (Files): Likewise.
40477         * modules/getcwd-tests (Files): Likewise.
40478         * modules/getdelim-tests (Files): Likewise.
40479         * modules/getdtablesize-tests (Files): Likewise.
40480         * modules/getgroups-tests (Files): Likewise.
40481         * modules/gethostname-tests (Files): Likewise.
40482         * modules/getline-tests (Files): Likewise.
40483         * modules/getopt-posix-tests (Files): Likewise.
40484         * modules/gettimeofday-tests (Files): Likewise.
40485         * modules/glob-tests (Files): Likewise.
40486         * modules/iconv-tests (Files): Likewise.
40487         * modules/inet_ntop-tests (Files): Likewise.
40488         * modules/inet_pton-tests (Files): Likewise.
40489         * modules/isblank-tests (Files): Likewise.
40490         * modules/lchown-tests (Files): Likewise.
40491         * modules/ldexpl-tests (Files): Likewise.
40492         * modules/link-tests (Files): Likewise.
40493         * modules/linkat-tests (Files): Likewise.
40494         * modules/lseek-tests (Files): Likewise.
40495         * modules/lstat-tests (Files): Likewise.
40496         * modules/mbrtowc-tests (Files): Likewise.
40497         * modules/mbsinit-tests (Files): Likewise.
40498         * modules/mbsnrtowcs-tests (Files): Likewise.
40499         * modules/mbsrtowcs-tests (Files): Likewise.
40500         * modules/memchr-tests (Files): Likewise.
40501         * modules/memcmp-tests (Files): Likewise.
40502         * modules/memmem-tests (Files): Likewise.
40503         * modules/memrchr-tests (Files): Likewise.
40504         * modules/mkdir-tests (Files): Likewise.
40505         * modules/mkfifo-tests (Files): Likewise.
40506         * modules/mkfifoat-tests (Files): Likewise.
40507         * modules/mknod-tests (Files): Likewise.
40508         * modules/nanosleep-tests (Files): Likewise.
40509         * modules/nl_langinfo-tests (Files): Likewise.
40510         * modules/obstack-printf-tests (Files): Likewise.
40511         * modules/open-tests (Files): Likewise.
40512         * modules/openat-tests (Files): Likewise.
40513         * modules/perror-tests (Files): Likewise.
40514         * modules/pipe2-tests (Files): Likewise.
40515         * modules/poll-tests (Files): Likewise.
40516         * modules/popen-tests (Files): Likewise.
40517         * modules/posix_spawn-tests (Files): Likewise.
40518         * modules/posix_spawnp-tests (Files): Likewise.
40519         * modules/pread-tests (Files): Likewise.
40520         * modules/printf-posix-tests (Files): Likewise.
40521         * modules/pty-tests (Files): Likewise.
40522         * modules/random_r-tests (Files): Likewise.
40523         * modules/rawmemchr-tests (Files): Likewise.
40524         * modules/readlink-tests (Files): Likewise.
40525         * modules/remove-tests (Files): Likewise.
40526         * modules/rename-tests (Files): Likewise.
40527         * modules/renameat-tests (Files): Likewise.
40528         * modules/rmdir-tests (Files): Likewise.
40529         * modules/round-tests (Files): Likewise.
40530         * modules/roundf-tests (Files): Likewise.
40531         * modules/roundl-tests (Files): Likewise.
40532         * modules/select-tests (Files): Likewise.
40533         * modules/setenv-tests (Files): Likewise.
40534         * modules/sigaction-tests (Files): Likewise.
40535         * modules/sleep-tests (Files): Likewise.
40536         * modules/snprintf-posix-tests (Files): Likewise.
40537         * modules/snprintf-tests (Files): Likewise.
40538         * modules/sprintf-posix-tests (Files): Likewise.
40539         * modules/stat-tests (Files): Likewise.
40540         * modules/strcasestr-tests (Files): Likewise.
40541         * modules/strchrnul-tests (Files): Likewise.
40542         * modules/strerror-tests (Files): Likewise.
40543         * modules/strsignal-tests (Files): Likewise.
40544         * modules/strstr-tests (Files): Likewise.
40545         * modules/strtod-tests (Files): Likewise.
40546         * modules/strverscmp-tests (Files): Likewise.
40547         * modules/symlink-tests (Files): Likewise.
40548         * modules/symlinkat-tests (Files): Likewise.
40549         * modules/times-tests (Files): Likewise.
40550         * modules/trunc-tests (Files): Likewise.
40551         * modules/truncf-tests (Files): Likewise.
40552         * modules/truncl-tests (Files): Likewise.
40553         * modules/tsearch-tests (Files): Likewise.
40554         * modules/uname-tests (Files): Likewise.
40555         * modules/unlink-tests (Files): Likewise.
40556         * modules/unsetenv-tests (Files): Likewise.
40557         * modules/usleep-tests (Files): Likewise.
40558         * modules/utimensat-tests (Files): Likewise.
40559         * modules/vasprintf-tests (Files): Likewise.
40560         * modules/vdprintf-posix-tests (Files): Likewise.
40561         * modules/vfprintf-posix-tests (Files): Likewise.
40562         * modules/vprintf-posix-tests (Files): Likewise.
40563         * modules/vsnprintf-posix-tests (Files): Likewise.
40564         * modules/vsnprintf-tests (Files): Likewise.
40565         * modules/vsprintf-posix-tests (Files): Likewise.
40566         * modules/wcrtomb-tests (Files): Likewise.
40567         * modules/wcsnrtombs-tests (Files): Likewise.
40568         * modules/wcsrtombs-tests (Files): Likewise.
40569         * modules/wcwidth-tests (Files): Likewise.
40570         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
40571         * tests/test-isinf.c (isinf): Likewise.
40572         * tests/test-isnan.c (isnan): Likewise.
40573         * tests/test-signbit.c (signbit): Likewise.
40574         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
40575         declaration, either as macro or with correct signature.
40576         (select): Ensure function under test is declared with correct
40577         signature in correct header.
40578         * tests/test-atexit.c (atexit): Likewise.
40579         * tests/test-btowc.c (btowc): Likewise.
40580         * tests/test-canonicalize-lgpl.c (realpath)
40581         (canonicalize_file_name): Likewise.
40582         * tests/test-ceilf1.c (ceilf): Likewise.
40583         * tests/test-ceill.c (ceill): Likewise.
40584         * tests/test-chown.c (chown): Likewise.
40585         * tests/test-dprintf-posix.c (dprintf): Likewise.
40586         * tests/test-dup2.c (dup2): Likewise.
40587         * tests/test-dup3.c (dup3): Likewise.
40588         * tests/test-duplocale.c (duplocale): Likewise.
40589         * tests/test-fchdir.c (fchdir): Likewise.
40590         * tests/test-fchownat.c (fchownat): Likewise.
40591         * tests/test-fcntl.c (fcntl): Likewise.
40592         * tests/test-fdopendir.c (fdopendir): Likewise.
40593         * tests/test-fflush.c (fflush): Likewise.
40594         * tests/test-flock.c (flock): Likewise.
40595         * tests/test-floorf1.c (floorf): Likewise.
40596         * tests/test-floorl.c (floorl): Likewise.
40597         * tests/test-fnmatch.c (fnmatch): Likewise.
40598         * tests/test-fopen.c (fopen): Likewise.
40599         * tests/test-fprintf-posix.c (fprintf): Likewise.
40600         * tests/test-freopen.c (freopen): Likewise.
40601         * tests/test-frexp.c (frexp): Likewise.
40602         * tests/test-frexpl.c (frexpl): Likewise.
40603         * tests/test-fseek.c (fseek): Likewise.
40604         * tests/test-fseeko.c (fseeko): Likewise.
40605         * tests/test-fstatat.c (fstatat): Likewise.
40606         * tests/test-fsync.c (fsync): Likewise.
40607         * tests/test-ftell.c (ftell): Likewise.
40608         * tests/test-ftello.c (ftello): Likewise.
40609         * tests/test-futimens.c (futimens): Likewise.
40610         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
40611         (gai_strerror): Likewise.
40612         * tests/test-getcwd.c (getcwd): Likewise.
40613         * tests/test-getdelim.c (getdelim): Likewise.
40614         * tests/test-getdtablesize.c (getdtablesize): Likewise.
40615         * tests/test-getgroups.c (getgroups): Likewise.
40616         * tests/test-gethostname.c (gethostname): Likewise.
40617         * tests/test-getline.c (getline): Likewise.
40618         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
40619         Likewise.
40620         * tests/test-gettimeofday.c (gettimeofday): Likewise.
40621         * tests/test-glob.c (glob, globfree): Likewise.
40622         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
40623         * tests/test-inet_ntop.c (inet_ntop): Likewise.
40624         * tests/test-inet_pton.c (inet_pton): Likewise.
40625         * tests/test-isblank.c (isblank): Likewise.
40626         * tests/test-lchown.c (lchown): Likewise.
40627         * tests/test-ldexpl.c (ldexpl): Likewise.
40628         * tests/test-link.c (link): Likewise.
40629         * tests/test-linkat.c (linkat): Likewise.
40630         * tests/test-lseek.c (lseek): Likewise.
40631         * tests/test-lstat.c (lstat): Likewise.
40632         * tests/test-mbrtowc.c (mbrtowc): Likewise.
40633         * tests/test-mbsinit.c (mbsinit): Likewise.
40634         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
40635         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
40636         * tests/test-memchr.c (memchr): Likewise.
40637         * tests/test-memcmp.c (memcmp): Likewise.
40638         * tests/test-memmem.c (memmem): Likewise.
40639         * tests/test-memrchr.c (memrchr): Likewise.
40640         * tests/test-mkdir.c (mkdir): Likewise.
40641         * tests/test-mkdirat.c (mkdirat): Likewise.
40642         * tests/test-mkfifo.c (mkfifo): Likewise.
40643         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
40644         * tests/test-mknod.c (mknod): Likewise.
40645         * tests/test-nanosleep.c (nanosleep): Likewise.
40646         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
40647         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
40648         Likewise.
40649         * tests/test-open.c (open): Likewise.
40650         * tests/test-openat.c (openat): Likewise.
40651         * tests/test-perror.c (perror): Likewise.
40652         * tests/test-pipe2.c (pipe2): Likewise.
40653         * tests/test-poll.c (poll): Likewise.
40654         * tests/test-popen.c (popen, pclose): Likewise.
40655         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
40656         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
40657         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
40658         (posix_spawn_file_actions_destroy)
40659         (posix_spawn_file_actions_addclose)
40660         (posix_spawn_file_actions_addopen)
40661         (posix_spawn_file_actions_adddup2): Likewise.
40662         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
40663         * tests/test-pread.c (pread): Likewise.
40664         * tests/test-printf-posix.c (printf): Likewise.
40665         * tests/test-pty.c (openpty, forkpty): Likewise.
40666         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
40667         (random_r): Likewise.
40668         * tests/test-rawmemchr.c (rawmemchr): Likewise.
40669         * tests/test-readlink.c (readlink): Likewise.
40670         * tests/test-remove.c (remove): Likewise.
40671         * tests/test-rename.c (rename): Likewise.
40672         * tests/test-renameat.c (renameat): Likewise.
40673         * tests/test-rmdir.c (rmdir): Likewise.
40674         * tests/test-round1.c (round): Likewise.
40675         * tests/test-roundf1.c (roundf): Likewise.
40676         * tests/test-roundl.c (roundl): Likewise.
40677         * tests/test-setenv.c (setenv): Likewise.
40678         * tests/test-sigaction.c (sigaction): Likewise.
40679         * tests/test-sleep.c (sleep): Likewise.
40680         * tests/test-snprintf.c (snprintf): Likewise.
40681         * tests/test-sprintf-posix.c (sprintf): Likewise.
40682         * tests/test-stat.c (stat): Likewise.
40683         * tests/test-stpncpy.c (stpncpy): Likewise.
40684         * tests/test-strcasestr.c (strcasestr): Likewise.
40685         * tests/test-strchrnul.c (strchrnul): Likewise.
40686         * tests/test-strerror.c (strerror): Likewise.
40687         * tests/test-strsignal.c (strsignal): Likewise.
40688         * tests/test-strstr.c (strstr): Likewise.
40689         * tests/test-strtod.c (strtod): Likewise.
40690         * tests/test-strverscmp.c (strverscmp): Likewise.
40691         * tests/test-symlink.c (symlink): Likewise.
40692         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
40693         * tests/test-times.c (times): Likewise.
40694         * tests/test-trunc1.c (trunc): Likewise.
40695         * tests/test-truncf1.c (truncf): Likewise.
40696         * tests/test-truncl.c (truncl): Likewise.
40697         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
40698         Likewise.
40699         * tests/test-uname.c (uname): Likewise.
40700         * tests/test-unlink.c (unlink): Likewise.
40701         * tests/test-unlinkat.c (unlinkat): Likewise.
40702         * tests/test-unsetenv.c (unsetenv): Likewise.
40703         * tests/test-usleep.c (usleep): Likewise.
40704         * tests/test-utimensat.c (utimensat): Likewise.
40705         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
40706         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
40707         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
40708         * tests/test-vprintf-posix.c (vprintf): Likewise.
40709         * tests/test-vsnprintf.c (vsnprintf): Likewise.
40710         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
40711         * tests/test-wcrtomb.c (wcrtomb): Likewise.
40712         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
40713         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
40714         * tests/test-wcwidth.c (wcwidth): Likewise.
40715
40716         build: pull in conditional headers during GNULIB_POSIXCHECK
40717         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
40718         definitions from any conditionally-included headers.
40719         * lib/stdlib.in.h (includes): Likewise.
40720         * lib/unistd.in.h (includes): Likewise.
40721
40722 2009-12-24  Bruno Haible  <bruno@clisp.org>
40723
40724         * tests/test-argv-iter.c: Include header file being tested immediately
40725         after config.h.
40726         * tests/test-base64.c: Likewise.
40727         * tests/test-flock.c: Likewise.
40728         * tests/test-fsync.c: Likewise.
40729         * tests/test-getdate.c: Likewise.
40730         * tests/test-getndelim2.c: Likewise.
40731         * tests/test-isfinite.c: Likewise.
40732         * tests/test-isinf.c: Likewise.
40733         * tests/test-strerror.c: Likewise.
40734         * tests/test-strsignal.c: Likewise.
40735
40736 2009-12-23  Eric Blake  <ebb9@byu.net>
40737
40738         unistd: work around cygwin bug
40739         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
40740         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
40741         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
40742
40743 2009-12-23  Bruno Haible  <bruno@clisp.org>
40744
40745         localename: More tests.
40746         * tests/test-localename.c (SIZEOF): New macro.
40747         (categories): New variable.
40748         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
40749         test_locale_name_default): Add test w.r.t. thread locale.
40750         (test_locale_name_thread): New function.
40751         (main): Invoke it.
40752
40753         localename: Make aware of thread locale.
40754         * lib/localename.h (gl_locale_name_thread): New declaration.
40755         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
40756         behaviour with respect to thread locale.
40757         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
40758         <langinfo.h>, glthread/lock.h.
40759         (SIZE_BITS): New macro.
40760         (string_hash): New function.
40761         (struct hash_node): New type.
40762         (HASH_TABLE_SIZE): New macro.
40763         (struniq_hash_table, struniq_lock): New variables.
40764         (struniq): New function.
40765         (gl_locale_name_thread): New function.
40766         (gl_locale_name): Invoke it.
40767         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
40768         * modules/localename (Depends-on): Add lock.
40769         Reported by Mike Gran <spk121@yahoo.com>.
40770
40771 2009-12-23  Eric Blake  <ebb9@byu.net>
40772
40773         va-args: new module
40774         * modules/va-args: New file.
40775         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
40776         * MODULES.html.sh (Core language properties): Mention it.
40777
40778         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
40779         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
40780         named alias for __attribute__((__unused__)).
40781         * lib/chown.c: Update client.
40782         * lib/fchmodat.c: Likewise.
40783         * lib/fts.c: Likewise.
40784         * lib/getdate.y: Likewise.
40785         * lib/getgroups.c: Likewise.
40786         * lib/getopt.c: Likewise.
40787         * lib/getugroups.c: Likewise.
40788         * lib/mkdir.c: Likewise.
40789         * lib/mkfifo.c: Likewise.
40790         * lib/mkfifoat.c: Likewise.
40791         * lib/mknod.c: Likewise.
40792         * lib/mknodat.c: Likewise.
40793         * lib/readlink.c: Likewise.
40794         * lib/se-context.in.h: Likewise.
40795         * lib/se-selinux.in.h: Likewise.
40796         * lib/sockets.c: Likewise.
40797         * lib/symlink.c: Likewise.
40798         * lib/symlinkat.c: Likewise.
40799         * lib/unicodeio.c: Likewise.
40800         * lib/unistr.h: Likewise.
40801         * tests/test-areadlink.c: Likewise.
40802         * tests/test-areadlinkat.c: Likewise.
40803         * tests/test-filenamecat.c: Likewise.
40804         * tests/test-fseeko.c: Likewise.
40805         * tests/test-ftello.c: Likewise.
40806         * tests/test-getdate.c: Likewise.
40807         * tests/test-getgroups.c: Likewise.
40808         * tests/test-gethostname.c: Likewise.
40809         * tests/test-quotearg.c: Likewise.
40810         * tests/test-version-etc.c: Likewise.
40811         * tests/test-xalloc-die.c: Likewise.
40812         * tests/test-xfprintf-posix.c: Likewise.
40813         * tests/test-xprintf-posix.c: Likewise.
40814         * tests/test-xvasprintf.c: Likewise.
40815
40816         tests: avoid compiler warnings
40817         * tests/test-fcntl.c (main): Delete unused parameters.
40818         * tests/test-freopen-safer.c (main): Likewise.
40819         * tests/test-xalloc-die.c (main): Mark unused parameters.
40820         * tests/test-fseeko.c (main): Likewise.
40821         * tests/test-ftello.c (main): Likewise.
40822         * tests/test-nanosleep.c (main): Avoid declaration warning.
40823         * tests/test-sleep.c (main): Likewise.
40824         * tests/test-unsetenv.c (main): Silence warning about string
40825         literal.
40826         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
40827
40828 2009-12-23  Bruno Haible  <bruno@clisp.org>
40829
40830         * tests/test-localename.c (test_locale_name): New function, extracted
40831         from main. Also test mixed situations.
40832         (test_locale_name_posix, test_locale_name_environ,
40833         test_locale_name_default): New functions.
40834         (main): Invoke them all.
40835         * modules/localename-tests (configure.ac): Test for newlocale.
40836
40837 2009-12-23  Bruno Haible  <bruno@clisp.org>
40838
40839         unistd: Ensure getcwd gets declared before being overridden.
40840         * lib/unistd.in.h: Conditionally include <io.h>.
40841
40842 2009-12-22  Bruno Haible  <bruno@clisp.org>
40843
40844         wchar: Diagnose broken combination of glibc and gcc versions and flags.
40845         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
40846         (gl_WCHAR_H): Invoke it.
40847         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
40848         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
40849         Reported by Karl Berry <karl@freefriends.org>.
40850
40851 2009-12-22  Eric Blake  <ebb9@byu.net>
40852
40853         math, unistd: avoid redundant includes
40854         * lib/math.in.h (isnan): No need to re-include <math.h>.
40855         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
40856
40857         getsubopt: work around cygwin bug
40858         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
40859         avoid conflicting with system getsubopt.
40860         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
40861         bug.
40862
40863         getopt: synchronize from glibc
40864         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
40865         parameter order.  Adjust all callers.
40866         (_getopt_internal_r, main): Adjust quoting in error messages.
40867         Drop considerations for outdated POSIX 1003.2 error message.
40868         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
40869         callers.
40870         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
40871
40872         test-getopt: test stderr behavior
40873         * modules/getopt-posix-tests (Depends-on): Add dup2.
40874         * tests/test-getopt.c (ASSERT): Avoid stderr.
40875         (main): Move stderr to a temporary file.
40876         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
40877         Instead, add parameter to inform caller if output occurred.
40878         (test_getopt): Adjust all existing tests to expect silence, and
40879         add new tests of leading ":".
40880         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
40881         glibc shortcomings with leading "-:" or "+:" in optstring.
40882         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
40883         Likewise.
40884         * doc/posix-functions/getopt.texi (getopt): Likewise.
40885
40886         test-getopt: enhance test
40887         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
40888         supports optind=0.
40889         * tests/test-getopt.c (OPTIND_MIN): Move...
40890         * tests/test-getopt.h (OPTIND_MIN): ...here.
40891         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
40892         Require that optind=0 works, since modern BSD supports it in
40893         addition to optreset, and since coreutils expects it.
40894         (test_getopt_long_only): New test.
40895         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
40896         glibc shortcomings with 'W;', and enforcement of optind=0.
40897         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
40898         Likewise.
40899
40900 2009-12-21  Bruno Haible  <bruno@clisp.org>
40901
40902         localename: Improvements for MacOS X and Cygwin.
40903         * lib/localename.h (gl_locale_name_environ): New declaration.
40904         * lib/localename.c (gl_locale_name_environ): New function, extracted from
40905         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
40906         (gl_locale_name_posix): Invoke it.
40907         (gl_locale_name_default): Add comments. Use Windows native API also on
40908         Cygwin.
40909
40910 2009-12-21  Bruno Haible  <bruno@clisp.org>
40911
40912         Update list of Win32 locale ids.
40913         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
40914         (LANG_SAMI): Renamed from LANG_SAAMI.
40915         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
40916         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
40917         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
40918         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
40919         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
40920         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
40921         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
40922         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
40923         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
40924         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
40925         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
40926         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
40927         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
40928         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
40929         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
40930         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
40931         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
40932         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
40933         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
40934         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
40935         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
40936         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
40937         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
40938         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
40939         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
40940         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
40941         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
40942         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
40943         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
40944         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
40945         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
40946         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
40947         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
40948         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
40949         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
40950         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
40951         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
40952         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
40953         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
40954         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
40955         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
40956         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
40957         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
40958         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
40959         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
40960         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
40961         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
40962         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
40963         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
40964         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
40965         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
40966         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
40967         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
40968         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
40969         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
40970         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
40971         Add more languages and countries for Sami, Sorbian. Add more countries
40972         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
40973         for Pashto. Change country for Syriac, Tswana.
40974
40975 2009-12-21  Eric Blake  <ebb9@byu.net>
40976
40977         test-utimens: avoid spurious failure
40978         * tests/test-chown.h (nap): Factor...
40979         * tests/nap.h: ...into new file.
40980         * tests/test-lchown.h (nap): Avoid duplication.
40981         * tests/test-utimens-common.h (nap): Use shared implementation,
40982         necessary on file systems with 1-second resolution.
40983         * modules/chown-tests (Files): Include new file.
40984         * modules/fdutimensat-tests (Files): Likewise.
40985         * modules/futimens-tests (Files): Likewise.
40986         * modules/lchown-tests (Files): Likewise.
40987         * modules/openat-tests (Files): Likewise.
40988         * modules/utimens-tests (Files): Likewise.
40989         * modules/utimensat-tests (Files): Likewise.
40990
40991 2009-12-19  Eric Blake  <ebb9@byu.net>
40992
40993         futimens, utimensat: work around Linux bug
40994         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
40995         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
40996         * lib/utimensat.c (rpl_utimensat): Work around it.
40997         * lib/futimens.c (rpl_futimens): Adjust comment.
40998
40999         utimens: work around Linux ctime bug
41000         * lib/utimens.c (detect_ctime_bug): New helper function.
41001         (update_timespec): Differentiate between workaround needed for
41002         this bug vs. what is needed for systems that lack utimensat.
41003         (fdutimens, lutimens): Work around bug.
41004
41005         utimens: check for ctime update
41006         * tests/test-utimens-common.h (check_ctime): Define.
41007         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
41008         * tests/test-futimens.h (test_futimens): Likewise.
41009         * tests/test-lutimens.h (test_lutimens): Likewise.
41010         * doc/posix-functions/futimens.texi (futimens): Document the bug.
41011         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
41012
41013 2009-12-19  Bruno Haible  <bruno@clisp.org>
41014
41015         dprintf-posix: Check against memory leak fixed on 2009-12-15.
41016         * tests/test-dprintf-posix2.sh: New file.
41017         * tests/test-dprintf-posix2.c: New file.
41018         * modules/dprintf-posix-tests (Files): Add them.
41019         (configure.ac): Check for getrlimit and setrlimit.
41020         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
41021
41022 2009-12-19  Bruno Haible  <bruno@clisp.org>
41023
41024         fprintf-posix: Check against memory leak fixed on 2009-12-15.
41025         * tests/test-fprintf-posix3.sh: New file.
41026         * tests/test-fprintf-posix3.c: New file.
41027         * modules/fprintf-posix-tests (Files): Add them.
41028         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
41029
41030 2009-12-19  Eric Blake  <ebb9@byu.net>
41031
41032         dirfd: fix prototype
41033         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
41034         * lib/dirfd.c (dirfd): Likewise.
41035
41036         canonicalize: reduce memory usage
41037         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
41038         allocation to size.
41039         Reported by Solar Designer <solar@openwall.com>.
41040
41041 2009-12-19  Bruno Haible  <bruno@clisp.org>
41042
41043         New module attribute 'Applicability'.
41044         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
41045         * gnulib-tool: New option --extract-applicability.
41046         (func_usage): Document it.
41047         (sed_extract_prog): Recognize it.
41048         (func_get_applicability): New function.
41049         (func_import): Generalize handling of 'link-warning' module.
41050         * modules/link-warning (Applicability): New section.
41051         * modules/arg-nonnull (Applicability): New section.
41052         Repoted by Simon Josefsson <simon@josefsson.org>.
41053
41054 2009-12-19  Bruno Haible  <bruno@clisp.org>
41055
41056         fflush: tweak
41057         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
41058         * lib/fseeko.c (rpl_fseeko): Likewise.
41059
41060 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
41061
41062         * lib/gl_list.h: Fix typo in comment.
41063
41064 2009-12-16  Eric Blake  <ebb9@byu.net>
41065
41066         fcntl: use to simplify other modules
41067         * modules/cloexec (Depends-on): Add fcntl.
41068         * modules/fchdir (Depends-on): Likewise.
41069         * modules/fd-safer-flag (Depends-on): Likewise.
41070         * modules/unistd-safer (Depends-on): Likewise.
41071         * modules/dup3 (configure.ac): Set module indicator.
41072         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
41073         missing.
41074         * lib/fchdir.c (_gl_register_dup): Fix comment.
41075         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
41076         * lib/dup-safer.c (dup_safer): Likewise.
41077         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
41078         * lib/dup3.c (dup3): Likewise.
41079         * tests/test-fchdir.c (main): Enhance test.
41080         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
41081
41082         fcntl: port portions of fcntl to mingw
41083         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
41084         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
41085         replacement for mingw.
41086         * modules/fcntl (Description): Update.
41087         (Depends-on): Add dup2.
41088         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
41089         * modules/fcntl-h (Makefile.am): Substitute it.
41090         * lib/fcntl.in.h (fcntl): Update declaration.
41091         (F_DUPFD, F_GETFD): New macros, when needed.
41092         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
41093         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
41094         * tests/test-fcntl.c (check_flags, main): Enhance test for items
41095         we now guarantee.
41096
41097         fcntl: work around cygwin bug in F_DUPFD
41098         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
41099         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
41100         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
41101         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
41102         * doc/posix-functions/fcntl.texi (fcntl): Document it.
41103
41104         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
41105         * modules/fcntl (Files): List new files.
41106         (configure.ac): Run a test.
41107         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
41108         * lib/fcntl.c (rpl_fcntl): Likewise.
41109         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
41110         (gl_FCNTL_H): Always replace fcntl.h.
41111         * modules/fcntl-h (Makefile.am): Substitute witnesses.
41112         * lib/fcntl.in.h (fcntl): Declare replacement.
41113         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
41114         needed, plus a witness.
41115         * doc/posix-functions/fcntl.texi (fcntl): Document this.
41116         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
41117         * tests/test-fcntl.c: New file.
41118         * modules/fcntl-tests: Likewise.
41119
41120         binary-io: avoid potential compilation warning
41121         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
41122         directives.
41123
41124         fflush: avoid compilation error on NetBSD
41125         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
41126         between off_t and fpos_t, since the latter is sometimes a struct.
41127         * lib/fseeko.c (rpl_fseeko): Likewise.
41128         Reported by Alexander Nasonov <alnsn@yandex.ru>.
41129
41130 2009-12-15  Eric Blake  <ebb9@byu.net>
41131
41132         fcntl-h, stdio, sys_ioctl: fix declarations
41133         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
41134         function must not take arguments.
41135         * lib/sys_ioctl.in.h (ioctl): Likewise.
41136         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
41137         (open): Add a link warning.
41138
41139 2009-12-15  Jim Meyering  <meyering@redhat.com>
41140
41141         areadlink, areadlink-with-size: relax license to LGPLv2+
41142         * modules/areadlink (License): Relax to LGPLv2+.
41143         * modules/areadlink-with-size (License): Likewise.
41144
41145 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
41146             Bruno Haible  <bruno@clisp.org>
41147
41148         *printf: Fix memory leak.
41149         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
41150         * lib/vfprintf.c (vfprintf): Likewise.
41151         * lib/dprintf.c (dprintf): Likewise.
41152         * lib/vdprintf.c (vdprintf): Likewise.
41153
41154 2009-12-14  Eric Blake  <ebb9@byu.net>
41155
41156         accept4: adjust module dependencies
41157         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
41158
41159         utimens: one more try at avoiding compiler warning
41160         * lib/utimens.c (lutimens): Lower scope of result.
41161
41162 2009-12-13  Bruno Haible  <bruno@clisp.org>
41163
41164         Move the malloc checking from module 'list' to new module 'xlist'.
41165         * modules/xlist: New file.
41166         * lib/gl_xlist.h: New file.
41167         * lib/gl_xlist.c: New file.
41168         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
41169         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
41170         gl_list_add_last, gl_list_add_before, gl_list_add_after,
41171         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
41172         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
41173         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
41174         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
41175         gl_sortedlist_nx_add): New declarations.
41176         (struct gl_list_implementation): Rename and change methods accordingly.
41177         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
41178         (gl_list_nx_create): Renamed from gl_list_create.
41179         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
41180         (gl_list_nx_set_at): Renamed from gl_list_set_at.
41181         (gl_list_nx_add_first): Renamed from gl_list_add_first.
41182         (gl_list_nx_add_last): Renamed from gl_list_add_last.
41183         (gl_list_nx_add_before): Renamed from gl_list_add_before.
41184         (gl_list_nx_add_after): Renamed from gl_list_add_after.
41185         (gl_list_nx_add_at): Renamed from gl_list_add_at.
41186         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
41187         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
41188         gl_list_create_empty.
41189         (gl_list_nx_create): Renamed from gl_list_create.
41190         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
41191         (gl_list_nx_set_at): Renamed from gl_list_set_at.
41192         (gl_list_nx_add_first): Renamed from gl_list_add_first.
41193         (gl_list_nx_add_last): Renamed from gl_list_add_last.
41194         (gl_list_nx_add_before): Renamed from gl_list_add_before.
41195         (gl_list_nx_add_after): Renamed from gl_list_add_after.
41196         (gl_list_nx_add_at): Renamed from gl_list_add_at.
41197         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
41198         * lib/gl_array_list.c: Don't include xalloc.h.
41199         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
41200         NULL upon out-of-memory.
41201         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
41202         out-of-memory.
41203         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
41204         Change return type to 'int'.
41205         (gl_array_nx_set_at): Renamed from gl_array_set_at.
41206         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
41207         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
41208         upon out-of-memory.
41209         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
41210         upon out-of-memory.
41211         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
41212         upon out-of-memory.
41213         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
41214         upon out-of-memory.
41215         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
41216         out-of-memory.
41217         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
41218         Update.
41219         (gl_array_list_implementation): Update.
41220         * lib/gl_carray_list.c: Don't include xalloc.h.
41221         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
41222         Return NULL upon out-of-memory.
41223         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
41224         out-of-memory.
41225         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
41226         Change return type to 'int'.
41227         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
41228         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
41229         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
41230         upon out-of-memory.
41231         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
41232         upon out-of-memory.
41233         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
41234         out-of-memory.
41235         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
41236         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
41237         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
41238         Update.
41239         (gl_carray_list_implementation): Update.
41240         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
41241         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
41242         gl_linked_create_empty. Return NULL upon out-of-memory.
41243         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
41244         out-of-memory.
41245         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
41246         Change return type to 'int'. Return -1 upon out-of-memory.
41247         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
41248         out-of-memory.
41249         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
41250         upon out-of-memory.
41251         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
41252         upon out-of-memory.
41253         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
41254         NULL upon out-of-memory.
41255         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
41256         upon out-of-memory.
41257         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
41258         out-of-memory.
41259         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
41260         Update.
41261         * lib/gl_linked_list.c: Don't include xalloc.h.
41262         (gl_linked_list_implementation): Update.
41263         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
41264         (add_to_bucket): Change return type to 'int'.
41265         (gl_linkedhash_list_implementation): Update.
41266         * lib/gl_anytree_list1.h (free_subtree): New function.
41267         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
41268         gl_tree_create_empty. Return NULL upon out-of-memory.
41269         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
41270         Change return type to 'int'. Return -1 upon out-of-memory.
41271         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
41272         out-of-memory.
41273         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
41274         (gl_tree_remove_node): New function, moved here from
41275         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
41276         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
41277         Update.
41278         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
41279         malloc, not xmalloc. Return NULL upon out-of-memory.
41280         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
41281         out-of-memory.
41282         (gl_tree_remove_node_from_tree): New function, extracted from
41283         gl_tree_remove_node.
41284         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
41285         upon out-of-memory.
41286         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
41287         out-of-memory.
41288         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
41289         upon out-of-memory.
41290         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
41291         upon out-of-memory.
41292         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
41293         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
41294         not xmalloc. Return NULL upon out-of-memory.
41295         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
41296         out-of-memory.
41297         (gl_tree_remove_node_from_tree): New function, extracted from
41298         gl_tree_remove_node.
41299         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
41300         upon out-of-memory.
41301         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
41302         out-of-memory.
41303         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
41304         upon out-of-memory.
41305         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
41306         upon out-of-memory.
41307         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
41308         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
41309         gl_anytree_list1.h before gl_anyavltree_list2.h.
41310         (gl_avltree_list_implementation): Update.
41311         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
41312         gl_anytree_list1.h before gl_anyavltree_list2.h.
41313         (gl_rbtree_list_implementation): Update.
41314         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
41315         Change return type to 'int'. Return -1 upon out-of-memory. Use
41316         __builtin_expect.
41317         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
41318         (gl_avltreehash_list_implementation): Update.
41319         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
41320         (gl_rbtreehash_list_implementation): Update.
41321         * modules/array-list (Depends-on): Remove xalloc.
41322         * modules/carray-list (Depends-on): Likewise.
41323         * modules/linked-list (Depends-on): Likewise.
41324         * modules/linkedhash-list (Depends-on): Likewise.
41325         * modules/avltree-list (Depends-on): Likewise.
41326         * modules/rbtree-list (Depends-on): Likewise.
41327         * modules/avltreehash-list (Depends-on): Likewise.
41328         * modules/rbtreehash-list (Depends-on): Likewise.
41329
41330         * modules/xsublist: New file.
41331         * lib/gl_xsublist.h: New file.
41332         * lib/gl_xsublist.c: New file.
41333         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
41334         (gl_sublist_nx_create): New declaration.
41335         * lib/gl_sublist.c: Don't include xalloc.h.
41336         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
41337         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
41338         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
41339         Change return type to 'int'. Return -1 upon out-of-memory.
41340         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
41341         upon out-of-memory.
41342         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
41343         NULL upon out-of-memory.
41344         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
41345         upon out-of-memory.
41346         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
41347         NULL upon out-of-memory.
41348         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
41349         NULL upon out-of-memory.
41350         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
41351         upon out-of-memory.
41352         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
41353         (gl_sublist_list_implementation): Update.
41354         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
41355         upon out-of-memory.
41356         * modules/sublist (Depends-on): Remove xalloc.
41357
41358         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
41359         * tests/test-carray_list.c: Likewise.
41360         * tests/test-linked_list.c: Likewise.
41361         * tests/test-linkedhash_list.c: Likewise.
41362         * tests/test-avltree_list.c: Likewise.
41363         * tests/test-rbtree_list.c: Likewise.
41364         * tests/test-avltreehash_list.c: Likewise.
41365         * tests/test-rbtreehash_list.c: Likewise.
41366         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
41367         * modules/carray-list-tests (Makefile.am): Likewise.
41368         * modules/linked-list-tests (Makefile.am): Likewise.
41369         * modules/linkedhash-list-tests (Makefile.am): Likewise.
41370         * modules/avltree-list-tests (Makefile.am): Likewise.
41371         * modules/rbtree-list-tests (Makefile.am): Likewise.
41372         * modules/avltreehash-list-tests (Makefile.am): Likewise.
41373         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
41374
41375         * NEWS: Mention the changes.
41376
41377         * lib/clean-temp.c: Include gl_xlist.h.
41378         * modules/clean-temp (Depends-on): Add xlist.
41379
41380         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
41381         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
41382
41383         * tests/test-array_oset.c: Include gl_xlist.h.
41384         * modules/array-oset-tests (Depends-on): Add xlist.
41385
41386         Reported by José E. Marchesi <jemarch@gnu.org>.
41387
41388 2009-12-13  Bruno Haible  <bruno@clisp.org>
41389
41390         Move the malloc checking from module 'oset' to new module 'xoset'.
41391         * modules/xoset: New file.
41392         * lib/gl_xoset.h: New file.
41393         * lib/gl_xoset.c: New file.
41394         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
41395         declarations.
41396         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
41397         (struct gl_oset_implementation): Rename and change methods accordingly.
41398         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
41399         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
41400         'int'. Mark as __warn_unused_result__.
41401         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
41402         gl_oset_create_empty.
41403         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
41404         'int'.
41405         * lib/gl_array_oset.c: Don't include xalloc.h.
41406         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
41407         malloc, not xmalloc.
41408         (grow): Change return type to 'int'. Don't call xalloc_die.
41409         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
41410         to 'int'.
41411         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
41412         'int'.
41413         (gl_array_oset_implementation): Update.
41414         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
41415         gl_tree_create_empty.
41416         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
41417         'int'.
41418         * lib/gl_avltree_oset.c: Don't include xalloc.h.
41419         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
41420         xmalloc.
41421         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
41422         not xmalloc.
41423         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
41424         xmalloc.
41425         (gl_avltree_oset_implementation): Update.
41426         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
41427         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
41428         xmalloc.
41429         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
41430         not xmalloc.
41431         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
41432         xmalloc.
41433         (gl_rbtree_oset_implementation): Update.
41434         * modules/array-oset (Depends-on): Remove xalloc.
41435         * modules/avltree-oset (Depends-on): Likewise.
41436         * modules/rbtree-oset (Depends-on): Likewise.
41437         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
41438         * tests/test-avltree_oset.c: Likewise.
41439         * tests/test-rbtree_oset.c: Likewise.
41440         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
41441         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
41442         * modules/rbtree-oset-tests (Makefile.am): Likewise.
41443         * NEWS: Mention the change.
41444
41445 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
41446
41447         maint.mk: allow a project to override release-prep commands
41448         * top/maint.mk (alpha, beta, stable): Move release-preparatory
41449         commands into a new rule.
41450         (release-prep): New rule.
41451         (release-prep-hook): New overridable variable.
41452
41453 2009-12-13  Bruno Haible  <bruno@clisp.org>
41454
41455         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
41456
41457 2009-12-13  Jim Meyering  <meyering@redhat.com>
41458
41459         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
41460         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
41461
41462 2009-12-12  Bruno Haible  <bruno@clisp.org>
41463
41464         duplocale: Tweak.
41465         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
41466
41467 2009-12-12  Karl Berry  <karl@gnu.org>
41468
41469         * config/srclist.txt (strtoll.c): tab changes, no more sync.
41470
41471 2009-12-12  Bruno Haible  <bruno@clisp.org>
41472
41473         * m4/po.m4: Undo incorrect untabification.
41474
41475 2009-12-12  Bruno Haible  <bruno@clisp.org>
41476
41477         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
41478         * modules/c-strtod (Depends-on): Add locale.
41479         * modules/c-strtold (Depends-on): Likewise.
41480
41481 2009-12-12  Bruno Haible  <bruno@clisp.org>
41482
41483         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
41484
41485 2009-12-11  Eric Blake  <ebb9@byu.net>
41486
41487         setenv: relax requirement in light of POSIX ruling
41488         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
41489         not NULL.
41490         * tests/test-setenv.c (main): Relax test.
41491         * tests/test-unsetenv.c (main): Likewise.
41492         * doc/posix-functions/setenv.texi (setenv): Document this.
41493         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
41494
41495 2009-12-11  Bruno Haible  <bruno@clisp.org>
41496
41497         New module 'fd-safer-flag'.
41498         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
41499         * lib/dup-safer.c (dup_safer_flag): Remove function.
41500         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
41501         * lib/fd-safer.c (fd_safer_flag): Remove function.
41502         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
41503         * modules/cloexec (configure.ac): Drop indicator macro.
41504         * modules/fd-safer-flag: New file.
41505         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
41506         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
41507         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
41508
41509 2009-12-11  Bruno Haible  <bruno@clisp.org>
41510
41511         Tests for module 'nl_langinfo'.
41512         * modules/nl_langinfo-tests: New file.
41513         * tests/test-nl_langinfo.sh: New file.
41514         * tests/test-nl_langinfo.c: New file.
41515
41516         New module 'nl_langinfo'.
41517         * lib/nl_langinfo.c: New file.
41518         * m4/nl_langinfo.m4: New file.
41519         * modules/nl_langinfo: New file.
41520         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
41521
41522 2009-12-11  Bruno Haible  <bruno@clisp.org>
41523
41524         Tests for module 'langinfo'.
41525         * modules/langinfo-tests: New file.
41526         * tests/test-langinfo.c: New file.
41527
41528         New module 'langinfo'.
41529         * lib/langinfo.in.h: New file.
41530         * m4/langinfo_h.m4: New file.
41531         * modules/langinfo: New file.
41532         * doc/posix-headers/langinfo.texi: Mention the new module.
41533
41534 2009-12-11  Bruno Haible  <bruno@clisp.org>
41535
41536         * lib/config.charset: Untabify.
41537
41538 2009-12-11  Bruno Haible  <bruno@clisp.org>
41539
41540         * modules/unistd-safer (configure.ac): Drop indicator macro.
41541
41542 2009-12-11  Bruno Haible  <bruno@clisp.org>
41543
41544         Move pipe2-safer code to its own file.
41545         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
41546         * lib/pipe-safer.c (pipe2_safer): Remove function.
41547         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
41548         (Makefile.am): Add it to lib_SOURCES.
41549
41550 2009-12-10  Bruno Haible  <bruno@clisp.org>
41551
41552         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
41553
41554 2009-12-10  Bruno Haible  <bruno@clisp.org>
41555
41556         Declare which arguments expect non-NULL values, for GCC and clang.
41557         * build-aux/arg-nonnull.h: New file.
41558         * modules/arg-nonnull: New file.
41559         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
41560         (inet_ntop, inet_pton): Use it.
41561         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
41562         (closedir, dirfd, opendir, scandir, alphasort): Use it.
41563         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
41564         (open, openat): Use it.
41565         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
41566         (fnmatch): Use it.
41567         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
41568         (getopt, getopt_long, getopt_long_only): Use it.
41569         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
41570         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
41571         Use it.
41572         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
41573         (iconv_open): Use it.
41574         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
41575         (strtoimax, strtoumax): Use it.
41576         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
41577         (duplocale): Use it.
41578         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
41579         (frexp, frexpl): Use it.
41580         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
41581         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
41582         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
41583         (tsearch, tfind, tdelete, twalk): Use it.
41584         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
41585         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
41586         sigpending): Use it.
41587         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
41588         (posix_spawn, posix_spawnp, posix_spawnattr_init,
41589         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
41590         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
41591         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
41592         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
41593         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
41594         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
41595         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
41596         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
41597         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
41598         Use it.
41599         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
41600         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
41601         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
41602         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
41603         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
41604         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
41605         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
41606         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
41607         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
41608         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
41609         strtoull, unsetenv): Use it.
41610         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
41611         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
41612         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
41613         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
41614         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
41615         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
41616         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
41617         (strcasecmp, strncasecmp): Use it.
41618         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
41619         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
41620         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
41621         rpl_setsockopt): Use it.
41622         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
41623         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
41624         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
41625         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
41626         (gettimeofday): Use it.
41627         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
41628         (times): Use it.
41629         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
41630         (uname): Use it.
41631         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
41632         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
41633         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
41634         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
41635         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
41636         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
41637         unlinkat, write): Use it.
41638         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
41639         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
41640         * lib/argv-iter.h: Include arg-nonnull.h.
41641         (_ATTRIBUTE_NONNULL_): Remove macro.
41642         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
41643         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
41644         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
41645         optimization.
41646         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
41647         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
41648         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
41649         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
41650         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
41651         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
41652         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
41653         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
41654         * modules/arpa_inet (Depends-on): Add arg-nonnull.
41655         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
41656         * modules/dirent (Depends-on): Add arg-nonnull.
41657         (Makefile.am): Insert arg-nonnull.h into dirent.h.
41658         * modules/fcntl-h (Depends-on): Add arg-nonnull.
41659         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
41660         * modules/fnmatch (Depends-on): Add arg-nonnull.
41661         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
41662         * modules/getopt-posix (Depends-on): Add arg-nonnull.
41663         (Makefile.am): Insert arg-nonnull.h into getopt.h.
41664         * modules/glob (Depends-on): Add arg-nonnull.
41665         (Makefile.am): Insert arg-nonnull.h into glob.h.
41666         * modules/iconv_open (Depends-on): Add arg-nonnull.
41667         (Makefile.am): Insert arg-nonnull.h into iconv.h.
41668         * modules/inttypes (Depends-on): Add arg-nonnull.
41669         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
41670         * modules/locale (Depends-on): Add arg-nonnull.
41671         (Makefile.am): Insert arg-nonnull.h into locale.h.
41672         * modules/math (Depends-on): Add arg-nonnull.
41673         (Makefile.am): Insert arg-nonnull.h into math.h.
41674         * modules/netdb (Depends-on): Add arg-nonnull.
41675         (Makefile.am): Insert arg-nonnull.h into netdb.h.
41676         * modules/search (Depends-on): Add arg-nonnull.
41677         (Makefile.am): Insert arg-nonnull.h into search.h.
41678         * modules/signal (Depends-on): Add arg-nonnull.
41679         (Makefile.am): Insert arg-nonnull.h into signal.h.
41680         * modules/spawn (Depends-on): Add arg-nonnull.
41681         (Makefile.am): Insert arg-nonnull.h into spawn.h.
41682         * modules/stdio (Depends-on): Add arg-nonnull.
41683         (Makefile.am): Insert arg-nonnull.h into stdio.h.
41684         * modules/stdlib (Depends-on): Add arg-nonnull.
41685         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
41686         * modules/string (Depends-on): Add arg-nonnull.
41687         (Makefile.am): Insert arg-nonnull.h into string.h.
41688         * modules/strings (Depends-on): Add arg-nonnull.
41689         (Makefile.am): Insert arg-nonnull.h into strings.h.
41690         * modules/sys_socket (Depends-on): Add arg-nonnull.
41691         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
41692         * modules/sys_stat (Depends-on): Add arg-nonnull.
41693         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
41694         * modules/sys_time (Depends-on): Add arg-nonnull.
41695         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
41696         * modules/sys_times (Depends-on): Add arg-nonnull.
41697         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
41698         * modules/sys_utsname (Depends-on): Add arg-nonnull.
41699         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
41700         * modules/time (Depends-on): Add arg-nonnull.
41701         (Makefile.am): Insert arg-nonnull.h into time.h.
41702         * modules/unistd (Depends-on): Add arg-nonnull.
41703         (Makefile.am): Insert arg-nonnull.h into unistd.h.
41704         * modules/wchar (Depends-on): Add arg-nonnull.
41705         (Makefile.am): Insert arg-nonnull.h into wchar.h.
41706         * modules/argv-iter (Depends-on): Add arg-nonnull.
41707         * tests/test-canonicalize.c (null_ptr): New function.
41708         (main): Use it.
41709         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
41710         (main): Use it.
41711         * tests/test-memmem.c (null_ptr): New function.
41712         (main): Use it.
41713         Reported by Jim Meyering.
41714
41715 2009-12-10  Bruno Haible  <bruno@clisp.org>
41716
41717         Use spaces for indentation, not tabs.
41718         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
41719         * m4/*.m4: Untabify.
41720         * build-aux/*.h: Untabify.
41721         * tests/**/*.[hc]: Untabify.
41722         * README: New section "Indent with spaces, not TABs", based on
41723         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
41724         * NEWS: Mention the change.
41725
41726 2009-12-10  Bruno Haible  <bruno@clisp.org>
41727
41728         pty test: Fix link error.
41729         * modules/pty-tests (Makefile.am): Add the default LDADD value to
41730         test_pty_LDADD.
41731
41732 2009-12-07  Simon Josefsson  <simon@josefsson.org>
41733
41734         * modules/pty: New file.
41735         * modules/pty-tests: New file.
41736         * m4/pty.m4: New file.
41737         * tests/test-pty.c: New file.
41738         * doc/glibc-headers/pty.texi: Modified.
41739         * doc/glibc-functions/forkpty.texi: Modified.
41740         * doc/glibc-functions/openpty.texi: Modified.
41741
41742 2009-12-10  Bruno Haible  <bruno@clisp.org>
41743
41744         Avoid syntax error in C++ mode.
41745         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
41746
41747 2009-12-10  Bruno Haible  <bruno@clisp.org>
41748
41749         Use sed with option -e.
41750         * gnulib-tool (func_version, func_emit_copyright_notice,
41751         func_emit_initmacro_end, func_import, func_create_testdir): Pass
41752         option -e to sed.
41753         * modules/link-warning (Makefile.am): Likewise.
41754
41755 2009-12-10  Jim Meyering  <meyering@redhat.com>
41756
41757         mgetgroups: do not write bytes beyond end of malloc'd buffer
41758         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
41759         username, we call getgroups with a one-element-shorter buffer,
41760         but still told it the length was original, max_n_groups.
41761
41762 2009-12-09  Eric Blake  <ebb9@byu.net>
41763
41764         cloexec: relax license
41765         * modules/cloexec (Maintainer): Add myself.
41766         (License): Use LGPL, not GPL.
41767
41768         link-warning: optimize generation
41769         * modules/link-warning (Makefile.am): Reduce process usage.
41770
41771 2009-12-09  Bruno Haible  <bruno@clisp.org>
41772
41773         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
41774         workaround was added on 2009-11-17.
41775
41776 2009-12-09  Jim Meyering  <meyering@redhat.com>
41777             Bruno Haible  <bruno@clisp.org>
41778
41779         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
41780         * modules/link-warning (Makefile.am): Make the comment-removing sed
41781         command more robust in the face of bootstrap-prepended comment lines.
41782
41783 2009-12-09  Bruno Haible  <bruno@clisp.org>
41784
41785         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
41786         most one group.
41787
41788 2009-12-09  Simon Josefsson <simon@josefsson.org>
41789             Bruno Haible  <bruno@clisp.org>
41790
41791         * build-aux/link-warning.h: Add copyright notice.
41792         * modules/link-warning (Makefile.am): Generate link-warning.h from
41793         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
41794         * NEWS: Mention change in link-warning module.
41795         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
41796         * modules/dirent (Makefile.am): Add dependency to dirent.h.
41797         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
41798         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
41799         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
41800         * modules/math (Makefile.am): Add dependency to math.h.
41801         * modules/search (Makefile.am): Add dependency to search.h.
41802         * modules/signal (Makefile.am): Add dependency to signal.h.
41803         * modules/spawn (Makefile.am): Add dependency to spawn.h.
41804         * modules/stdio (Makefile.am): Add dependency to stdio.h.
41805         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
41806         * modules/string (Makefile.am): Add dependency to string.h.
41807         * modules/strings (Makefile.am): Add dependency to strings.h.
41808         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
41809         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
41810         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
41811         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
41812         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
41813         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
41814         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
41815         * modules/unistd (Makefile.am): Add dependency to unistd.h.
41816         * modules/wchar (Makefile.am): Add dependency to wchar.h.
41817
41818 2009-12-09  Bruno Haible  <bruno@clisp.org>
41819
41820         fchdir: Optimize away rpl_fstat when possible.
41821         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
41822         REPLACE_OPEN_DIRECTORY.
41823         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
41824
41825 2009-12-09  Bruno Haible  <bruno@clisp.org>
41826
41827         * lib/fchdir.c: Update comment.
41828
41829 2009-12-09  Bruno Haible  <bruno@clisp.org>
41830
41831         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
41832
41833 2009-12-08  Eric Blake  <ebb9@byu.net>
41834
41835         fchdir: avoid memory leak on re-registration.
41836         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
41837
41838 2009-12-08  Jim Meyering  <meyering@redhat.com>
41839
41840         init.sh: avoid Solaris 10 /bin/sh portability problem
41841         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
41842         sourced script:
41843           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
41844           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
41845           bar
41846         tests/init.sh relied on that, accepting a --set-path=DIR argument,
41847         and two tests used that idiom.
41848         * tests/init.sh: Update suggested usage comments.
41849         (path_prepend_): New function, to be used in place
41850         of the --src-path=DIR option.
41851         (setup_): Move PATH-prepending code into path_prepend_.
41852         * tests/test-pread.sh: Adapt to new usage.
41853         * tests/test-xalloc-die.sh: Likewise.
41854
41855 2009-12-08  Simon Josefsson  <simon@josefsson.org>
41856
41857         * doc/gnulib.texi (Glibc pty.h): Add.
41858         * doc/glibc-functions/forkpty.texi: Add.
41859         * doc/glibc-functions/openpty.texi: Add.
41860         Suggested by Bruno Haible.
41861
41862 2009-12-08  Eric Blake  <ebb9@byu.net>
41863
41864         fchdir: fix logic bugs
41865         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
41866         * tests/test-fchdir.c (main): Enhance test.
41867         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
41868         is in use.
41869
41870         dup2: fix logic bugs
41871         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
41872         REPLACE_DUP2 to decide when rpl_dup2 is needed.
41873         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
41874         exists.
41875         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
41876
41877 2009-12-07  Eric Blake  <ebb9@byu.net>
41878
41879         unlink: fix m4 detection
41880         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
41881
41882         unistd-safer: add unit test
41883         * modules/unistd-safer-tests: New file.
41884         * tests/test-dup-safer.c: Likewise.
41885         * tests/test-cloexec.c (setmode): Avoid compiler warning.
41886         * tests/test-dup2.c (setmode): Likewise.
41887         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
41888
41889         cloexec: preserve text vs. binary across dup_cloexec
41890         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
41891         mode.
41892         * modules/dup2-tests (Depends-on): Add binary-io.
41893         * modules/cloexec-tests (Depends-on): Likewise.
41894         * tests/test-dup2.c (setmode, is_mode): New helpers.
41895         (main): Add tests that translation mode is preserved.
41896         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
41897         Reported by Bruno Haible.
41898
41899         mgetgroups: reduce duplicate listings
41900         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
41901         resulting array.
41902         * tests/test-chown.h (test_chown): Simplify client.
41903         * tests/test-lchown.h (test_lchown): Likewise.
41904
41905 2009-12-06  Bruno Haible  <bruno@clisp.org>
41906
41907         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
41908         value.
41909
41910 2009-12-06  Bruno Haible  <bruno@clisp.org>
41911
41912         * lib/progname.c: Include stdio.h, stdlib.h.
41913         (set_program_name): Reject a NULL argument.
41914
41915 2009-12-05  Eric Blake  <ebb9@byu.net>
41916
41917         pipe2-safer: new module
41918         * modules/pipe2-safer: New file.
41919         * lib/unistd-safer.h (pipe2_safer): New prototype.
41920         * lib/unistd--.h (pipe2): New wrapper.
41921         * lib/pipe-safer.c (pipe2_safer): New function.
41922         * modules/pipe (Depends-on): Add pipe2-safer.
41923         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
41924
41925         stdlib-safer: preserve cloexec flag for mkostemp[s]
41926         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
41927         fd_safer_flag.
41928
41929         unistd-safer: allow preservation of cloexec status via flag
41930         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
41931         prototypes.
41932         * lib/dup-safer.c (dup_safer_flag): New function.
41933         * lib/fd-safer.c (fd_safer_flag): Likewise.
41934         * modules/cloexec (configure.ac): Set witness.
41935
41936         test-dup2: enhance test
41937         * modules/dup2-tests (Depends-on): Add cloexec.
41938         * tests/test-dup2.c (main): Enhance test.
41939
41940         cloexec: add dup_cloexec
41941         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
41942         header and comments.
41943         * lib/cloexec.c (set_cloexec_flag): Add comments.
41944         (dup_cloexec): New function, with mingw implementation borrowed
41945         from...
41946         * lib/w32spawn.h (dup_noinherit): ...here.
41947         * modules/execute (Depends-on): Add cloexec.
41948         * modules/pipe (Depends-on): Likewise.
41949         * modules/cloexec (Depends-on): Add dup2.
41950         * modules/cloexec-tests (Files): New file.
41951         * tests/test-cloexec.c: Likewise.
41952
41953         test-xalloc-die: fix test for mingw
41954         * modules/xalloc-die-tests (Files): Add tests/init.sh.
41955         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
41956         directory and .exe suffix off argv[0] output.
41957
41958         test-fseeko: fix test for mingw
41959         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
41960         than undefining fseek, so test will pass on mingw.
41961
41962 2009-12-05  Bruno Haible  <bruno@clisp.org>
41963
41964         * lib/progname.h (set_program_name): Clarify specification.
41965         * lib/progname.c (set_program_name): Likewise.
41966         Reported by Jim Meyering.
41967
41968 2009-12-05  Jim Meyering  <meyering@redhat.com>
41969
41970         maint.mk: backslash-escape parens in default regexp
41971         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
41972         backslash-escape the literal parentheses.
41973
41974         maint.mk: news-date-check: use grep -E
41975         * top/maint.mk (today): Define a Make variable, not a...
41976         (news-date-check): ...shell variable.
41977         (news-date-regexp): Use the Make variable.
41978         Use grep's -E option.  Change the failing diagnostic to mention
41979         the variable, $(news-date-regexp).
41980
41981 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
41982
41983         maintainer-makefile: allow customization of NEWS entry format
41984         * top/maint.mk (news-date-regexp): New overridable variable.
41985         (news-date-check): Use it.
41986
41987 2009-12-04  Eric Blake  <ebb9@byu.net>
41988
41989         mgetgroups: add xgetgroups, and avoid ENOSYS failures
41990         * lib/mgetgroups.h (xgetgroups): New prototype.
41991         * lib/mgetgroups.c (xgetgroups): New wrapper.
41992         (mgetgroups): Handle ENOSYS.
41993         * modules/mgetgroups (Depends-on): Add realloc.
41994         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
41995
41996         mgetgroups: avoid argument promotion issues with -1
41997         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
41998         for invalid gid_t.
41999         * tests/test-chown.h (getegid, test_chown): Likewise.
42000         * tests/test-lchown.h (getegid, test_lchown): Likewise.
42001
42002 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
42003
42004         exclude: Fix header file problems.
42005         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
42006
42007 2009-12-01  Jim Meyering  <meyering@redhat.com>
42008
42009         fts: fts_open: do not let an empty string cause immediate failure
42010         This is required in support of GNU rm, for which the command
42011         "rm A '' B" must process and remove both A and B, in spite of
42012         the empty string argument.
42013         * lib/fts.c (fts_open): Do not let the presence of an empty string
42014         cause fts_open to fail immediately.  Most fts-using tools must be
42015         able to process all arguments, in order, and can be expected to
42016         diagnose such arguments themselves.
42017
42018 2009-11-30  Eric Blake  <ebb9@byu.net>
42019
42020         utimens: fix compilation error
42021         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
42022         Declare variable at right scope.
42023
42024 2009-11-29  Jim Meyering  <meyering@redhat.com>
42025
42026         bootstrap: handle perl-5.11's changed --version output
42027         * build-aux/bootstrap (get_version): Handle perl separately,
42028         since perl-5.11's --version output is different.
42029
42030 2009-11-28  Jim Meyering  <meyering@redhat.com>
42031
42032         userspec: depend on the inttostr module, too
42033         * modules/userspec (Depends-on): Add inttostr.
42034
42035         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
42036         * lib/userspec.c (parse_with_separator): Do not accept a user ID
42037         number of MAXUID when it evaluates to (uid_t) -1.
42038         Likewise for group ID.  Reported by Matt McCutchen in
42039         <http://savannah.gnu.org/bugs/?28113>
42040
42041         userspec: reformat to use spaces, not TABs
42042         * lib/userspec.c: Expand TABs to spaces.
42043         Add Emacs' "indent-tabs-mode: nil" hint.
42044
42045 2009-11-27  Eric Blake  <ebb9@byu.net>
42046
42047         getopt-gnu: flush out another BSD bug
42048         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
42049         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
42050         flush out BSD bug.
42051         * tests/test-getopt.h (test_getopt): End lists with NULL.
42052         * tests/test-getopt_long.h (test_getopt_long): Likewise.
42053         (test_getopt_long_posix): Enhance test.
42054         * modules/getopt-posix-tests (Depends-on): Add stdbool.
42055         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
42056         getopt-gnu.
42057         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
42058         Likewise.
42059
42060 2009-11-27  Simon Josefsson  <simon@josefsson.org>
42061
42062         * modules/idpriv-droptemp-tests (Notice): Fix text.
42063
42064 2009-11-27  Jim Meyering  <meyering@redhat.com>
42065
42066         test-xalloc-die: avoid spurious failure due to libtool argv difference
42067         In a libtool-enabled project, this test would fail due to a difference
42068         in the emitted program name, e.g.,
42069         -test-xalloc-die: memory exhausted
42070         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
42071         Use program to avoid that.
42072         * modules/xalloc-die-tests (Depends-on): Add progname.
42073         * tests/test-xalloc-die.c: Include progname.h".
42074         (program_name): Remove decl.
42075         (main): Call set_program_name.
42076         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
42077
42078 2009-11-26  Richard Jones  <rjones@redhat.com>
42079
42080         w32sock: leave win32 error in place.
42081         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
42082
42083 2009-11-26  Eric Blake  <ebb9@byu.net>
42084
42085         init.sh: suggest to use skip_ and fail_ functions in comments
42086         * tests/init.sh: Add a sentence.
42087
42088 2009-11-25  Bruno Haible  <bruno@clisp.org>
42089
42090         init.sh: add documentation in comments
42091         * tests/init.sh: Add some developer and user documentation.
42092
42093 2009-11-26  Jim Meyering  <meyering@redhat.com>
42094
42095         init.sh: accommodate even those who specify bogus srcdir manually
42096         * tests/init.sh: Normally, srcdir is guaranteed by automake and
42097         configure-time tests to be sanitized, so that there is no need to
42098         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
42099         (with no double quotes) suffices.  However, since tests may be
42100         invoked manually, and since you may explicitly set srcdir to the
42101         name of a directory containing spaces, do quote its uses here.
42102         * tests/test-pread.sh: Likewise.
42103         Suggested by Bruno Haible.
42104
42105         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
42106         * tests/test-pread.sh: Write no data into the pipe, because
42107         test-pread actually reads none.  This avoids a diagnostic,
42108         "bash: echo: write error: Broken pipe", that arises in the unusual
42109         event something is ignoring SIGPIPE, and might be interpreted
42110         as some sort of failure.  Reported by Bruno Haible.
42111
42112 2009-11-25  Jim Meyering  <meyering@redhat.com>
42113
42114         test-pread: cover failure with ESPIPE and EINVAL
42115         * tests/test-pread.c (main): Test for failure, too.
42116         * tests/test-pread.sh: Invoke with stdin on a pipe.
42117         Suggested by Eric Blake.
42118
42119         pread: improvement and fix
42120         * modules/pread (Depends-on): Depend on lseek, for portability to
42121         e.g., mingw.  Suggested by Eric Blake.
42122         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
42123
42124         unistd.in.h: correct declaration of pread
42125         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
42126         Reported by Richard W.M. Jones.
42127
42128         test-pread.sh: distribute the test script
42129         * modules/pread-tests (Files): Include test-pread.sh.
42130
42131         test-pread.sh: clean up
42132         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
42133         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
42134         That is unnecessary, since it's always ".".
42135         Suggestion from Eric Blake.
42136
42137         test-pread.sh: make executable
42138         * tests/test-pread.sh: Set executable bit.
42139         Reported by Eric Blake.
42140
42141         correct typo in test-pread.sh
42142         * tests/test-pread.sh: Add #! line.
42143
42144         test pread
42145         * tests/test-pread.c: New file.
42146         * tests/test-pread.sh: Likewise.
42147         * modules/pread-tests: Likewise.
42148
42149         pread: new module
42150         * modules/pread: New file.
42151         * lib/unistd.in.h (pread): Define/declare.
42152         * lib/pread.c (pread): New file.
42153         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
42154         * modules/unistd (Makefile.am): Substitute witnesses.
42155         * doc/posix-functions/pread.texi (pread): Update.
42156         * MODULES.html.sh: Add pread.
42157
42158 2009-11-25  Jim Meyering  <meyering@redhat.com>
42159
42160         tests/init.sh: new file to be used via most *.sh tests
42161         * tests/init.sh: New file.
42162
42163 2009-11-25  Eric Blake  <ebb9@byu.net>
42164
42165         utimens: work around older Linux failure with symlinks
42166         * lib/utimens.c (lutimensat_works_really): New variable.
42167         (fdutimens, lutimens): Use it to manage kernels that support
42168         nanosecond times on files, but not on symlinks.
42169         Reported by OndÅ™ej Vašík.
42170
42171         utimes: fix configure grammar
42172         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
42173
42174 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
42175
42176         regex: Fix fastmap for multibyte character ranges.
42177         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
42178         characters when a multibyte character range is included.
42179
42180 2009-11-22  Andy Wingo  <wingo@pobox.com>
42181
42182         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
42183         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
42184
42185 2009-11-24  Bruno Haible  <bruno@clisp.org>
42186
42187         doc: Most *_l functions exist in MacOS X 10.5.
42188         * doc/posix-functions/duplocale.texi: Update platforms list.
42189         * doc/posix-functions/freelocale.texi: Likewise.
42190         * doc/posix-functions/newlocale.texi: Likewise.
42191         * doc/posix-functions/uselocale.texi: Likewise.
42192         * doc/posix-functions/isalnum_l.texi: Likewise.
42193         * doc/posix-functions/isalpha_l.texi: Likewise.
42194         * doc/posix-functions/isblank_l.texi: Likewise.
42195         * doc/posix-functions/iscntrl_l.texi: Likewise.
42196         * doc/posix-functions/isdigit_l.texi: Likewise.
42197         * doc/posix-functions/isgraph_l.texi: Likewise.
42198         * doc/posix-functions/islower_l.texi: Likewise.
42199         * doc/posix-functions/isprint_l.texi: Likewise.
42200         * doc/posix-functions/ispunct_l.texi: Likewise.
42201         * doc/posix-functions/isspace_l.texi: Likewise.
42202         * doc/posix-functions/isupper_l.texi: Likewise.
42203         * doc/posix-functions/iswalnum_l.texi: Likewise.
42204         * doc/posix-functions/iswalpha_l.texi: Likewise.
42205         * doc/posix-functions/iswblank_l.texi: Likewise.
42206         * doc/posix-functions/iswcntrl_l.texi: Likewise.
42207         * doc/posix-functions/iswctype_l.texi: Likewise.
42208         * doc/posix-functions/iswdigit_l.texi: Likewise.
42209         * doc/posix-functions/iswgraph_l.texi: Likewise.
42210         * doc/posix-functions/iswlower_l.texi: Likewise.
42211         * doc/posix-functions/iswprint_l.texi: Likewise.
42212         * doc/posix-functions/iswpunct_l.texi: Likewise.
42213         * doc/posix-functions/iswspace_l.texi: Likewise.
42214         * doc/posix-functions/iswupper_l.texi: Likewise.
42215         * doc/posix-functions/iswxdigit_l.texi: Likewise.
42216         * doc/posix-functions/isxdigit_l.texi: Likewise.
42217         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
42218         * doc/posix-functions/strcasecmp_l.texi: Likewise.
42219         * doc/posix-functions/strcoll_l.texi: Likewise.
42220         * doc/posix-functions/strfmon_l.texi: Likewise.
42221         * doc/posix-functions/strftime_l.texi: Likewise.
42222         * doc/posix-functions/strncasecmp_l.texi: Likewise.
42223         * doc/posix-functions/strxfrm_l.texi: Likewise.
42224         * doc/posix-functions/tolower_l.texi: Likewise.
42225         * doc/posix-functions/toupper_l.texi: Likewise.
42226         * doc/posix-functions/towctrans_l.texi: Likewise.
42227         * doc/posix-functions/towlower_l.texi: Likewise.
42228         * doc/posix-functions/towupper_l.texi: Likewise.
42229         * doc/posix-functions/wcscoll_l.texi: Likewise.
42230         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
42231         * doc/posix-functions/wctrans_l.texi: Likewise.
42232         * doc/posix-functions/wctype_l.texi: Likewise.
42233         * doc/glibc-functions/strptime_l.texi: Likewise.
42234         * doc/glibc-functions/strtod_l.texi: Likewise.
42235         * doc/glibc-functions/strtof_l.texi: Likewise.
42236         * doc/glibc-functions/strtol_l.texi: Likewise.
42237         * doc/glibc-functions/strtold_l.texi: Likewise.
42238         * doc/glibc-functions/strtoll_l.texi: Likewise.
42239         * doc/glibc-functions/strtoul_l.texi: Likewise.
42240         * doc/glibc-functions/strtoull_l.texi: Likewise.
42241         * doc/glibc-functions/wcsftime_l.texi: Likewise.
42242         * doc/glibc-functions/wcstod_l.texi: Likewise.
42243         * doc/glibc-functions/wcstof_l.texi: Likewise.
42244         * doc/glibc-functions/wcstol_l.texi: Likewise.
42245         * doc/glibc-functions/wcstold_l.texi: Likewise.
42246         * doc/glibc-functions/wcstoll_l.texi: Likewise.
42247         * doc/glibc-functions/wcstoul_l.texi: Likewise.
42248         * doc/glibc-functions/wcstoull_l.texi: Likewise.
42249
42250 2009-11-24  Bruno Haible  <bruno@clisp.org>
42251
42252         duplocale: Fix logic bug.
42253         * lib/duplocale.c: Don't include <langinfo.h>.
42254         (_NL_LOCALE_NAME): Remove macro.
42255         (rpl_duplocale): Use setlocale instead of nl_langinfo.
42256         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
42257
42258 2009-11-23  Jim Meyering  <meyering@redhat.com>
42259
42260         test-update-copyright: don't hard-code /usr/bin/perl
42261         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
42262         perl to print the current year.  Gilles Espinasse reported that
42263         the replaced use of perl was hard-coded as /usr/bin/perl.
42264
42265 2009-11-23  Bruno Haible  <bruno@clisp.org>
42266
42267         duplocale: Add support for glibc 2.3.x.
42268         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
42269
42270 2009-11-22  Bruno Haible  <bruno@clisp.org>
42271
42272         vasnprintf: Tiny optimization.
42273         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
42274         MacOS X.
42275
42276 2009-11-22  Bruno Haible  <bruno@clisp.org>
42277
42278         Tests for module 'duplocale'.
42279         * modules/duplocale-tests: New file.
42280         * tests/test-duplocale.c: New file.
42281
42282         New module 'duplocale'.
42283         * m4/duplocale.m4: New file.
42284         * lib/locale.in.h (duplocale): New declaration.
42285         * lib/duplocale.c: New file.
42286         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
42287         gl_LOCALE_H_DEFAULTS): New macros.
42288         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
42289         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
42290         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
42291         REPLACE_DUPLOCALE.
42292         * modules/duplocale: New file.
42293         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
42294
42295 2009-11-22  Bruno Haible  <bruno@clisp.org>
42296
42297         * modules/locale-tests (configure.ac): Test for newlocale function.
42298         * tests/test-locale.c: When the system has extended locale functions,
42299         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
42300
42301         locale: Make locale_t available when possible.
42302         * lib/locale.in.h: Include <xlocale.h> when it exists.
42303         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
42304         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
42305         * modules/locale (Depends-on): Add extensions.
42306         (Makefile.am): Also substitute HAVE_XLOCALE_H.
42307         * doc/posix-headers/locale.texi: Document the problem with locale_t.
42308
42309 2009-11-22  Bruno Haible  <bruno@clisp.org>
42310
42311         Add comments.
42312         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
42313         invocation.
42314         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
42315         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
42316         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
42317
42318 2009-11-22  Bruno Haible  <bruno@clisp.org>
42319
42320         error: account for the possibility of freopen (stdout).
42321         * lib/error.c: Include <unistd.h>.
42322         (flush_stdout): New function, extracted from error and error_at_line.
42323         Determine stdout's fd dynamically.
42324         (error, error_at_line): Invoke flush_stdout.
42325         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
42326         * modules/error (Depends-on): Add unistd.
42327
42328 2009-11-22  Bruno Haible  <bruno@clisp.org>
42329
42330         diffseq: Add comment.
42331         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
42332
42333 2009-11-22  Jim Meyering  <meyering@redhat.com>
42334
42335         c-stack: avoid defining an unused static function
42336         * lib/c-stack.c (find_stack_direction): Do not define this function
42337         when it will not be used.
42338
42339         diffseq: avoid spurious gcc warnings
42340         * lib/diffseq.h (IF_LINT2): Define.
42341         (compareseq): Use it to initialize two members of "part".
42342         This avoids two used-uninitialized warnings.
42343
42344 2009-11-21  Jim Meyering  <meyering@redhat.com>
42345
42346         c-stack: avoid "ignoring return value of `write'" warning
42347         * lib/c-stack.c: Include "ignore-value.h".
42348         (die): Explicitly ignore each write return value.
42349         * modules/c-stack (Depends-on): Add ignore-value.
42350
42351 2009-11-21  Bruno Haible  <bruno@clisp.org>
42352
42353         diffseq: reduce scope of variable 'best'.
42354         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
42355         variable, earlier used for two different purposes.
42356
42357 2009-11-21  Jim Meyering  <meyering@redhat.com>
42358
42359         diffseq: remove useless assignment to "best"
42360         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
42361         assignment.  At that point "best" is already guaranteed to be zero.
42362
42363 2009-11-20  Eric Blake  <ebb9@byu.net>
42364
42365         build: mention ftp redirector in release announcements
42366         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
42367         values that used to come from cfg.mk; mention FTP redirect URL.
42368         * build-aux/announce-gen: Mention the mirror list.
42369         Suggested by Karl Berry.
42370
42371         nanosleep: improve port to mingw
42372         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
42373         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
42374         LIB_NANOSLEEP, but only when needed.
42375         * modules/select (Link): Document LIBSOCKET.
42376         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
42377         enough.
42378
42379         nanosleep: work around cygwin bug
42380         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
42381         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
42382         bug.
42383         (getnow): Delete, not needed.
42384         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
42385         LIB_CLOCK_GETTIME.
42386         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
42387         clock-time, gettime.
42388         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
42389         bug.
42390         * modules/nanosleep-tests: New test.
42391         * tests/test-nanosleep.c: New file.
42392
42393         sleep: work around cygwin bug
42394         * lib/sleep.c (rpl_sleep): Work around the bug.
42395         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
42396         (gl_PREREQ_SLEEP): Delete unused macro.
42397         * modules/sleep (Depends-on): Add verify.
42398         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
42399         * modules/unistd (Makefile.am): Substitute witness.
42400         * lib/unistd.in.h (sleep): Update prototype.
42401         * doc/posix-functions/sleep.texi (sleep): Document the bug.
42402         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
42403         * modules/sleep-tests (Depends-on): Check for alarm.
42404
42405 2009-11-20  Jim Meyering  <meyering@redhat.com>
42406
42407         maint.mk: improve sc_prohibit_magic_number_exit
42408         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
42409         so it does not match uses like System.exit(1).
42410         Add comments showing how to correct all offenders.
42411
42412 2009-11-19  Eric Blake  <ebb9@byu.net>
42413
42414         xalloc-die-tests: add missing library
42415         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
42416
42417         test-xvasprintf: silence compiler warnings
42418         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
42419         empty string from gcc.
42420
42421 2009-11-19  Jim Meyering  <meyering@redhat.com>
42422
42423         xfreopen: new module, from coreutils
42424         * modules/xfreopen: New module.
42425         * lib/xfreopen.c: New file.
42426         * lib/xfreopen.h: New file.
42427         * MODULES.html.sh (File stream based Input/Output"): Add it.
42428
42429 2009-11-19  Eric Blake  <ebb9@byu.net>
42430
42431         manywarnings: depend on warnings
42432         * modules/manywarnings (Depends-on): Add warnings.
42433
42434         build: avoid compiler warnings
42435         * lib/select.c (rpl_select): Delete unused variable.
42436         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
42437
42438 2009-11-18  Eric Blake  <ebb9@byu.net>
42439
42440         tests: avoid false negative with --with-packager
42441         * tests/test-version-etc.sh: Discard packager information.
42442         * tests/test-argp-version-etc-1.sh: Likewise.
42443         Reported by Mike Frysinger.
42444
42445         utimens: fix regression on Solaris
42446         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
42447         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
42448         can only change fd timestamps via futimesat.  Instead, use an
42449         additional witness macro to avoid BSD bug.
42450         Reported by Jim Meyering.
42451
42452 2009-11-17  Eric Blake  <ebb9@byu.net>
42453
42454         usleep: use it to simplify tests
42455         * modules/stat-time-tests (Depends-on): Add usleep.
42456         (configure.ac): Drop usleep check.
42457         * modules/chown-tests (Depends-on, configure.ac): Likewise.
42458         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
42459         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
42460         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
42461         * modules/openat-tests (Depends-on, configure.ac): Likewise.
42462         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
42463         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
42464         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
42465         Likewise.
42466         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
42467         * tests/test-lchown.h (nap): Likewise.
42468         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
42469         * tests/test-stat-time.c (nap): Likewise.
42470         * tests/test-utimens-common.h (nap): Update comments.
42471
42472         usleep: new module
42473         * modules/usleep: New file.
42474         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
42475         * lib/usleep.c (usleep): Likewise.
42476         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
42477         * modules/unistd (Makefile.am): Substitute witnesses.
42478         * lib/unistd.in.h (usleep): Add declaration.
42479         * doc/pastposix-functions/usleep.texi (usleep): Document this.
42480         * MODULES.html.sh (Date and time): Likewise.
42481         * modules/usleep-tests (Depends-on): New test.
42482         * tests/test-usleep.c: New file.
42483
42484         chown: work around OpenBSD bug
42485         * lib/chown.c (rpl_chown): Work around the bug.
42486         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
42487         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
42488         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
42489         * modules/chown (Depends-on): Add stdbool.
42490         * modules/lchown (Depends-on): Likewise.
42491         * doc/posix-functions/chown.texi (chown): Document the bug.
42492         * doc/posix-functions/lchown.texi (lchown): Likewise.
42493         * tests/test-lchown.h (test_chown): Relax test.
42494
42495         mkstemp: avoid conflict with C++ keyword template
42496         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
42497         * lib/mkostemp.c (mkostemp): Likewise.
42498         * lib/mkostemps.c (mkostemps): Likewise.
42499         * lib/mkstemp.c (mkstemp): Likewise.
42500         * lib/mkstemps.c (mkstemps): Likewise.
42501
42502         xalloc-die-tests: optimize
42503         * tests/test-xalloc-die.sh: Reduce number of processes.
42504
42505 2009-11-17  Simon Josefsson  <simon@josefsson.org>
42506
42507         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
42508         patch from ludo@gnu.org (Ludovic Courtès).
42509
42510 2009-11-17  Jim Meyering  <meyering@redhat.com>
42511
42512         version-etc: use proper license string
42513         * modules/version-etc (License): Use LGPL, not LGPLv3+.
42514         * modules/version-etc-fsf: Likewise.
42515
42516 2009-11-17  Simon Josefsson  <simon@josefsson.org>
42517
42518         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
42519         printed to stdout.  Deal with EOL differences.
42520
42521 2009-11-17  Eric Blake  <ebb9@byu.net>
42522
42523         unsetenv: work around Solaris bug
42524         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
42525         * lib/unsetenv.c (rpl_unsetenv): Work around it.
42526         Reported by Jim Meyering.
42527
42528         vasnprintf: avoid compiler warnings
42529         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
42530         variables.
42531         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
42532
42533 2009-11-17  Simon Josefsson  <simon@josefsson.org>
42534
42535         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
42536         settings since xalloc-die is no longer the self test,
42537         xalloc-die.sh is.
42538
42539 2009-11-17  Jim Meyering  <meyering@redhat.com>
42540
42541         test-xalloc-die.sh: make the code agree with the commit log
42542         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
42543         at the end, just in case you happen to have a test-xalloc-die
42544         program in some other PATH directory.
42545
42546         test-xalloc-die.sh: fix a portability bug
42547         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
42548         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
42549         Otherwise, argv[0] (as often seen in diagnostics) would be too
42550         system-dependent, sometimes with, and sometimes without the leading "./".
42551
42552         version-etc-fsf: relax license to LGPLv3+
42553         * modules/version-etc-fsf (License): Relax license.
42554
42555 2009-11-16  Eric Blake  <ebb9@byu.net>
42556
42557         xalloc-die-tests: avoid printing null pointer
42558         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
42559         shell script.
42560         * tests/test-xalloc-die.c (program_name): Declare.
42561         * tests/test-xalloc-die.sh (tmpfiles): New file.
42562
42563         setenv, unsetenv: work around various bugs
42564         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
42565         (setenv) [HAVE_SETENV]: Work around bugs.
42566         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
42567         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
42568         for bugs.
42569         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
42570         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
42571         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
42572         * modules/stdlib (Makefile.am): Update substitutions.
42573         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
42574         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
42575         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
42576         * modules/setenv-tests: New test.
42577         * modules/unsetenv-tests: Likewise.
42578         * tests/test-setenv.c: New file.
42579         * tests/test-unsetenv.c: Likewise.
42580
42581 2009-11-16  Jim Meyering  <meyering@redhat.com>
42582
42583         version-etc: relax license to LGPLv3+
42584         * modules/version-etc (License): Relax license.
42585
42586         better AC_REQUIRE expanded-before-required-warning avoidance
42587         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
42588         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
42589         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
42590         which is no longer needed.
42591
42592 2009-11-16  Eric Blake  <ebb9@byu.net>
42593
42594         test-freading: clean up temporary file
42595         * tests/test-freading.c (main): Remove file on success, and use
42596         ASSERT more liberally.
42597         Reported by Jim Meyering.
42598
42599 2009-11-16  Jim Meyering  <meyering@redhat.com>
42600
42601         avoid new AC_REQUIRE expanded-before-required warnings
42602         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
42603         merely using it.
42604         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
42605         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
42606
42607 2009-11-15  Simon Josefsson  <simon@josefsson.org>
42608
42609         * tests/test-xalloc-die.c: New file.
42610         * modules/xalloc-die-tests: New file.
42611         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
42612         XFAIL_TESTS so it can be appended by modules.
42613
42614 2009-11-15  Simon Josefsson  <simon@josefsson.org>
42615
42616         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
42617         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
42618
42619 2009-11-14  Eric Blake  <ebb9@byu.net>
42620
42621         fnmatch: avoid compiler warning
42622         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
42623         to silence compiler warning about mismatch signedness in ?:.
42624         Reported by Robert Millan.
42625
42626         intprops: add double-inclusion guard
42627         * lib/intprops.h: Allow idempotent includes.
42628         Suggested by Bruce Korb.
42629
42630         openat: detect Solaris fchownat bug
42631         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
42632         penalizing glibc chownat when only lchownat is broken.
42633         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
42634         trailing slash bugs.
42635         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
42636         * modules/openat-tests (Files): Include more files.
42637         (Depends-on): Add mgetgroups, sleep, stat-time.
42638         (configure.ac): Add additional checks.
42639         (Makefile.am): Build new test.
42640         * tests/test-fchownat.c: New file.
42641
42642         lchown: detect Solaris and FreeBSD bug
42643         * lib/lchown.c (rpl_lchown): Work around bug.
42644         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
42645         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
42646         * modules/unistd (Makefile.am): Populate it.
42647         * lib/unistd.in.h (lchown): Update declaration.
42648         * doc/posix-functions/lchown.texi (lchown): Document the bug.
42649         * modules/lchown-tests: New file.
42650         * tests/test-lchown.h (test_lchown): Likewise.
42651         * tests/test-lchown.c (main): Likewise.
42652
42653         chown: detect Solaris and FreeBSD bug
42654         * lib/chown.c (rpl_chown): Work around bug.
42655         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
42656         (gl_PREREQ_CHOWN): Delete.
42657         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
42658         * modules/unistd (Makefile.am): Populate it.
42659         * lib/unistd.in.h (chown): Update declaration.
42660         * lib/lchown.c (chown): Update client.
42661         * modules/lchown (Depends-on): Add lstat.
42662         * doc/posix-functions/chown.texi (chown): Document the bug.
42663         * doc/posix-functions/getgroups.texi (getgroups): Document
42664         getgroups pitfall.
42665         * modules/chown-tests: New file.
42666         * tests/test-chown.h (test_chown): Likewise.
42667         * tests/test-chown.c (main): Likewise.
42668
42669 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
42670
42671         gnulib-tool: correctly detect absence of m4 directories
42672         * gnulib-tool: Avoid extra newline on data passed to wc -l.
42673
42674 2009-11-14  Jim Meyering  <meyering@redhat.com>
42675
42676         maint.mk: Prohibit inclusion of "xalloc.h" without use.
42677         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
42678
42679 2009-11-14  John W. Eaton  <jwe@gnu.org>
42680
42681         strftime.h: wrap function declaration in extern "C" block
42682         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
42683
42684 2009-11-13  Eric Blake  <ebb9@byu.net>
42685
42686         getgroups: avoid compiler warning
42687         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
42688
42689         getgroups: work around FreeBSD bug
42690         * lib/getgroups.c (rpl_getgroups): Work around the bug.
42691         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
42692         * doc/posix-functions/getgroups.texi (getgroups): Document it.
42693         * tests/test-getgroups.c (main): Fix buffer overrun.
42694
42695         getgroups: avoid compilation failure
42696         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
42697         * modules/getgroups (Depends-on): Add stdint.
42698
42699 2009-11-13  Jim Meyering  <meyering@redhat.com>
42700
42701         test-getgroups: avoid compilation failure
42702         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
42703
42704 2009-11-13  Eric Blake  <ebb9@byu.net>
42705
42706         mgetgroups: new module, taken from coreutils
42707         * modules/mgetgroups: New file.
42708         * lib/mgetgroups.h: Likewise.
42709         * lib/mgetgroups.c (mgetgroups): Likewise.
42710         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
42711         * MODULES.html.sh (Users and groups): Mention it.
42712
42713         getgroups: don't expose GETGROUPS_T to user
42714         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
42715         an element at a time if GETGROUPS_T is wrong size.
42716         * lib/getugroups.h (getugroups): Change signature.
42717         * lib/unistd.in.h (getgroups): Likewise.
42718         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
42719         signature needs fixing.
42720         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
42721         AC_TYPE_GETGROUPS.
42722         * modules/group-member (Depends-on): Add getgroups.
42723         * lib/group-member.c (group_info, get_group_info): Use gid_t.
42724         (group_member): Rely on getgroups replacement.
42725         * lib/getugroups.c (getugroups): Use gid_t.
42726         * tests/test-getgroups.c (main): Likewise.
42727         * NEWS: Mention the signature change.
42728         * doc/posix-functions/getgroups.texi (getgroups): Mention the
42729         problem with signature.
42730         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
42731         GETGROUPS_T is still useful for setgroups.
42732
42733         getgroups, getugroups: provide stubs for mingw
42734         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
42735         * lib/getugroups.c (getugroups): Likewise.
42736         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
42737         function.  Modernize replacement scheme.
42738         (gl_PREREQ_GETGROUPS): Delete.
42739         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
42740         * modules/getgroups (configure.ac): Declare witness.
42741         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
42742         * modules/unistd (Depends-on): Substitute witness.
42743         * lib/unistd.in.h (getgroups): Declare replacement.
42744
42745         getgroups: avoid calling exit
42746         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
42747         drop xalloc.
42748         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
42749         dependencies.
42750         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
42751         exiting, in the rare case of malloc failure.
42752
42753         getgroups: fix logic error
42754         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
42755         has more than 20 groups.
42756         * modules/getgroups-tests: New test.
42757         * tests/test-getgroups.c: New file.
42758
42759 2009-11-13  Simon Josefsson  <simon@josefsson.org>
42760
42761         * tests/test-base64.c: Improve.
42762
42763 2009-11-13  Simon Josefsson  <simon@josefsson.org>
42764
42765         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
42766         Blake <ebb9@byu.net>.
42767
42768 2009-11-13  Simon Josefsson  <simon@josefsson.org>
42769
42770         * tests/test-xvasprintf.c: Add %s%s related checks.
42771
42772 2009-11-12  Eric Blake  <ebb9@byu.net>
42773
42774         version-etc: match standards.texi style
42775         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
42776         and use <> only for URLs.
42777
42778 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
42779
42780         fts: do not fail on a submount during traversal
42781         * lib/fts.c (fts_build): Read the stat info again after opening
42782         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
42783         Original report at http://bugzilla.redhat.com/501848.
42784
42785 2009-11-12  Jim Meyering  <meyering@redhat.com>
42786
42787         bootstrap: sync from coreutils
42788         * build-aux/bootstrap (bootstrap_epilogue): New function.
42789         Use git_modules_config in one more place.  This make bootstrap's
42790         --gnulib-srcdir option more useful for testing.
42791
42792         bootstrap: generalize autoheader check
42793         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
42794         AC_CONFIG_HEADERS.
42795
42796 2009-11-11  Eric Blake  <ebb9@byu.net>
42797
42798         mkfifoat: use new modules for Solaris and BSD bugs
42799         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
42800         * lib/mkfifoat.c (mknodat): Split...
42801         * lib/mknodat.c (mknodat): ...into new file.
42802         * modules/mkfifoat (Files): Ship new file.
42803         (Depends-on): Add mkfifo, mknod.
42804         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
42805         (Depends-on): Add symlink.
42806         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
42807         redundant with test_mkfifo.h.
42808         (do_mkfifoat, do_mknodat): New helpers.
42809
42810         mknod: new module
42811         * modules/mknod: New file.
42812         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
42813         * lib/mknod.c (mknod): Likewise.
42814         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
42815         defaults.
42816         * modules/sys_stat (Makefile.am): Substitute them.
42817         * lib/sys_stat.in.h (mknod): Declare replacement.
42818         * MODULES.html.sh (Support for systems lacking POSIX:2008):
42819         Document it.
42820         * doc/posix-functions/mknod.texi (mknod): Likewise.
42821         * modules/mknod-tests: New test.
42822         * tests/test-mknod.c: Likewise.
42823
42824         mkfifo: new module
42825         * modules/mkfifo: New file.
42826         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
42827         * lib/mkfifo.c (mkfifo): Likewise.
42828         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
42829         defaults.
42830         * modules/sys_stat (Makefile.am): Substitute them.
42831         * lib/sys_stat.in.h (mkfifo): Declare replacement.
42832         * MODULES.html.sh (Support for systems lacking POSIX:2008):
42833         Document it.
42834         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
42835         * modules/mkfifo-tests: New test.
42836         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
42837         from test-mkfifoat.c.
42838         * tests/test-mkfifo.c: New file.
42839
42840         readlink: detect FreeBSD bug
42841         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
42842         slash on symlink.
42843         * doc/posix-functions/readlink.texi (readlink): Document the bug.
42844         * tests/test-readlink.h (test_readlink): Enhance test.
42845
42846         symlink: detect FreeBSD bug
42847         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
42848         slash on symlink.
42849         * doc/posix-functions/symlink.texi (symlink): Document the bug.
42850         * tests/test-symlink.h (test_symlink): Enhance test.
42851
42852 2009-11-10  Eric Blake  <ebb9@byu.net>
42853
42854         link: detect FreeBSD bug
42855         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
42856         symlink.
42857         * doc/posix-functions/link.texi (link): Document the bug.
42858         * tests/test-link.h (test_link): Enhance test.
42859         * tests/test-linkat.c (main): Update caller.
42860
42861         unlink, remove: detect FreeBSD bug
42862         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
42863         slash on symlink.
42864         * doc/posix-functions/unlink.texi (unlink): Document the bug.
42865         * doc/posix-functions/remove.texi (remove): Likewise.
42866         * tests/test-unlink.h (test_unlink): Enhance test.
42867         * tests/test-remove.c (main): Likewise.
42868
42869 2009-11-09  Eric Blake  <ebb9@byu.net>
42870
42871         rename: detect FreeBSD bug
42872         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
42873         slash on symlink.
42874         * modules/renameat-tests (Depends-on): Add filenamecat.
42875         * tests/test-rename.h (test_rename): Allow one more errno.
42876         * tests/test-renameat.c (main): Likewise.
42877         * doc/posix-functions/rename.texi (rename): Document the bug.
42878
42879         open: detect FreeBSD bug
42880         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
42881         symlink.
42882         * doc/posix-functions/open.texi (open): Document the bug.
42883         * doc/posix-functions/utimes.texi (utimes): Likewise.
42884         * tests/test-open.h (test_open): Add parameters, and test symlink
42885         handling.
42886         * tests/test-open.c (main): Adjust caller.
42887         * tests/test-fcntl-safer.c (main): Likewise.
42888         * modules/open-tests (Depends-on): Add stdbool, symlink.
42889         * modules/fcntl-safer-tests (Depends-on): Likewise.
42890         * tests/test-openat.c (main): Add test-open tests.
42891
42892         stat: detect FreeBSD bug
42893         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
42894         symlink.
42895         * doc/posix-functions/stat.texi (stat): Document the bug.
42896         * tests/test-stat.h (test_stat_func): Add argument.
42897         * tests/test-stat.c (main): Adjust caller.
42898         * tests/test-fstatat.c (main): Likewise.
42899         * modules/stat-tests (Depends-on): Add stdbool, symlink.
42900         Reported by Jim Meyering.
42901
42902 2009-11-09  James Youngman  <jay@gnu.org>
42903
42904         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
42905         * lib/strftime.c: Correct placement of #include "ignore-value.h".
42906
42907 2009-11-08  Jim Meyering  <meyering@redhat.com>
42908
42909         utimens: remove invalid futimesat call
42910         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
42911         It used the file descriptor of the target file as the DIR_FD
42912         parameter and NULL as the file name.  That caused failure with
42913         errno == EFAULT on FreeBSD-8.0-rc2
42914
42915 2009-11-07  Eric Blake  <ebb9@byu.net>
42916
42917         fflush, freadseek: use fseeko, not fseek
42918         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
42919         (clear_ungetc_buffer): Avoid potential problems on large files.
42920         * lib/freadseek.c (freadseek): Likewise.
42921         * modules/freadseek (Depends-on): Add fseeko.
42922         * modules/fseek (configure.ac): Set a witness.
42923         * tests/test-fflush.c (main): Use fseeko.
42924         * tests/test-fpurge.c (fseek): Disable link warning.
42925         * tests/test-freadable.c (fseek): Likewise.
42926         * tests/test-freading.c (fseek): Likewise.
42927         * tests/test-fseeko.c (fseek): Likewise.
42928         * tests/test-ftell.c (fseek): Likewise.
42929         * tests/test-ftello.c (fseek): Likewise.
42930         * tests/test-fwritable.c (fseek): Likewise.
42931         * tests/test-fwriting.c (fseek): Likewise.
42932
42933 2009-11-06  Simon Josefsson  <simon@josefsson.org>
42934
42935         * modules/memchr (Depends-on): Drop getpagesize dependency.
42936
42937 2009-11-06  Simon Josefsson  <simon@josefsson.org>
42938
42939         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
42940         Reported by Ludovic Courtès.
42941         * build-aux/pmccabe2html: Improve example usage.
42942         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
42943
42944 2009-11-06  Jim Meyering  <meyering@redhat.com>
42945
42946         do-release-commit-and-tag: New module.
42947         Automate the release-commit and tag process.
42948         * build-aux/do-release-commit-and-tag: New script, from coreutils.
42949         * modules/do-release-commit-and-tag: New file.
42950         * MODULES.html.sh (Support for maintaining and releasing): Add it.
42951
42952 2009-11-06  Simon Josefsson  <simon@josefsson.org>
42953
42954         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
42955         because test-select.c uses inet_pton.
42956
42957 2009-11-06  Simon Josefsson  <simon@josefsson.org>
42958
42959         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
42960         GETADDRINFO_LIB.  Bump serial number.
42961         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
42962         Suggested by Eric Blake <ebb9@byu.net>.
42963
42964 2009-11-05  Eric Blake  <ebb9@byu.net>
42965
42966         strtod: detect darwin bug
42967         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
42968         Reported by Leo Davis.
42969
42970         freopen-safer: new module
42971         * modules/freopen-safer: New module.
42972         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
42973         * lib/freopen-safer.c (freopen_safer): New file.
42974         * lib/stdio-safer.h (freopen_safer): New declaration.
42975         * lib/stdio--.h (freopen): New override.
42976         * MODULES.html.sh (File stream based Input/Output): Mention it.
42977         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
42978         freopen-safer module.
42979         * doc/posix-functions/stderr.texi (stderr): Likewise.
42980         * doc/posix-functions/stdin.texi (stdin): Likewise.
42981         * doc/posix-functions/stdout.texi (stdout): Likewise.
42982         * modules/freopen-safer-tests: New test.
42983         * tests/test-reopen-safer.c: New file.
42984
42985 2009-11-05  Jim Meyering  <meyering@redhat.com>
42986
42987         maint.mk: Prohibit inclusion of "close-stream.h" without use.
42988         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
42989
42990 2009-11-05  Simon Josefsson  <simon@josefsson.org>
42991
42992         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
42993
42994 2009-11-05  Simon Josefsson  <simon@josefsson.org>
42995
42996         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
42997
42998 2009-11-05  Simon Josefsson  <simon@josefsson.org>
42999
43000         Fix link error.
43001         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
43002         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
43003
43004 2009-11-05  Simon Josefsson  <simon@josefsson.org>
43005
43006         * tests/test-func.c: Also test value of __func__.
43007
43008 2009-11-05  Simon Josefsson  <simon@josefsson.org>
43009
43010         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
43011         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
43012
43013 2009-11-05  Bruno Haible  <bruno@clisp.org>
43014
43015         Fix link error.
43016         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
43017         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
43018         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
43019
43020 2009-11-05  Bruno Haible  <bruno@clisp.org>
43021
43022         Tests for module 'inet_pton'.
43023         * modules/inet_pton-tests: New file.
43024         * tests/test-inet_pton.c: New file.
43025
43026 2009-11-05  Bruno Haible  <bruno@clisp.org>
43027
43028         Tests for module 'inet_ntop'.
43029         * modules/inet_ntop-tests: New file.
43030         * tests/test-inet_ntop.c: New file.
43031
43032 2009-11-04  Eric Blake  <ebb9@byu.net>
43033
43034         stdlib-safer: wrap all mkstemp variants
43035         * modules/mkostemp (configure.ac): Set witness.
43036         * modules/mkostemps (configure.ac): Likewise.
43037         * modules/mkstemps (configure.ac): Likewise.
43038         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
43039         (mkstemps_safer): Wrap more functions.
43040         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
43041         wrapping.
43042         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
43043         (mkstemps_safer): Implement the wrappers.
43044
43045         mkstemps, mkostemps: new modules
43046         * modules/mkostemps: New module.
43047         * modules/mkstemps: Likewise.
43048         * lib/mkostemps.c (mkostemps): New file.
43049         * lib/mkstemps.c (mkstemps): Likewise.
43050         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
43051         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
43052         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
43053         * modules/stdlib (Makefile.am): Substitute them.
43054         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
43055         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
43056         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
43057         * doc/gnulib.texi (Glibc stdlib.h): Include them.
43058         * MODULES.html.sh (File system functions): Mention them.
43059
43060         tempname: resync from glibc
43061         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
43062         same values for __GT_FILE as glibc.  Abort even when assertions
43063         are disabled.
43064         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
43065         match its value otherwise.  Allow idempotent inclusion.
43066         * lib/mkdtemp.c (mkdtemp): Adjust caller.
43067         * lib/mkostemp.c (mkostemp): Likewise.
43068         * lib/mkstemp.c (mkstemp): Likewise.
43069         * lib/tmpfile.c (tmpfile): Likewise.
43070         * NEWS: Document this.
43071
43072         utimens: fix use of futimens on older Linux
43073         * lib/utimens.c (fdutimens): Use updated, rather than original,
43074         timespec to avoid bug in older Linux kernel.
43075         Reported by Simon Josefsson.
43076
43077 2009-11-04  Bruno Haible  <bruno@clisp.org>
43078
43079         Make num_processors more flexible and consistent.
43080         * lib/nproc.h (enum nproc_query): New type.
43081         (num_processors): Add a 'query' argument.
43082         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
43083         (num_processors): Add a 'query' argument. Test the value of the
43084         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
43085         mingw, count the number of CPUs available for the current process.
43086         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
43087         Check for sched_getaffinity and sched_getaffinity_np.
43088         * modules/nproc (Depends-on): Add c-ctype, extensions.
43089         * NEWS: Mention the change.
43090
43091 2009-11-03  Bruno Haible  <bruno@clisp.org>
43092
43093         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
43094
43095 2009-11-03  Jim Meyering  <meyering@redhat.com>
43096
43097         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
43098         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
43099         if it is defined.
43100
43101 2009-11-02  Eric Blake  <ebb9@byu.net>
43102
43103         mktime, timegm: share common declaration
43104         * lib/mktime-internal.h: New file.
43105         * lib/mktime.c: Use it rather than open-coding a declaration.
43106         * lib/timegm.c: Likewise.
43107         * modules/mktime (Files): Ship it.
43108         * modules/timegm (Files): Likewise.
43109         Suggested by Bruno Haible.
43110
43111         test-update-copyright: update test to match script changes
43112         * tests/test-update-copyright.sh: Avoid hard-coding perl
43113         location.  Don't update *.bak created by earlier runs.
43114
43115 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
43116             Simon Josefsson  <simon@josefsson.org>
43117             Bruno Haible  <bruno@clisp.org>
43118
43119         Fix link error on Solaris 8.
43120         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
43121         also in libnsl. Define also INET_PTON_LIB.
43122         * modules/inet_pton (Link): New section.
43123
43124 2009-11-02  Simon Josefsson  <simon@josefsson.org>
43125             Bruno Haible  <bruno@clisp.org>
43126
43127         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
43128         * modules/inet_ntop (Link): New section.
43129         Reported by Boyan Kasarov <bkasarov@gmail.com>.
43130
43131 2009-11-02  Eric Blake  <ebb9@byu.net>
43132
43133         maint: avoid compiler warnings in m4 macros
43134         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
43135         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
43136
43137 2009-11-02  Simon Josefsson  <simon@josefsson.org>
43138
43139         * m4/pmccabe2html.m4: Remove file.
43140         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
43141         function.  Change maintainer.
43142         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
43143         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
43144         Courtès).
43145
43146 2009-10-31  Eric Blake  <ebb9@byu.net>
43147
43148         fseeko: fix m4 regression
43149         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
43150         regression from 2009-10-27.
43151         Reported by Ralf Wildenhues.
43152
43153 2009-10-31  Jim Meyering  <meyering@redhat.com>
43154
43155         inttostr: aesthetics and improved (compile-time) safety
43156         Define inttype_is_signed rather than inttype_is_unsigned,
43157         since the sole use is via "#if inttype_is_signed".
43158         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
43159         inttype_is_unsigned.
43160         * lib/offtostr.c (inttype_is_signed): Likewise.
43161         * lib/uinttostr.c (inttype_is_signed): Likewise.
43162         * lib/umaxtostr.c (inttype_is_signed): Likewise.
43163         * lib/inttostr.c (inttostr): Use verify to cross-check the
43164         inttype_is_signed value and the signedness of the actual type.
43165         * modules/inttostr (Depends-on): Add verify.
43166
43167 2009-10-30  Eric Blake  <ebb9@byu.net>
43168
43169         build: avoid compiler warnings
43170         * lib/fchmodat.c (lchmod): Mark unused variables.
43171         * lib/getopt.c (_getopt_initialize): Likewise.
43172         * lib/mktime.c (__mktime_internal): Provide prototype.
43173         * lib/inttostr.c (inttostr): Avoid compiler warning even with
43174         older gcc that do not understand #pragma GCC diagnostic.
43175         * lib/uinttostr.c (inttype_is_unsigned): Define.
43176         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
43177
43178 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
43179
43180         stat: fix compilation on AIX
43181         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
43182         only see struct stat64.
43183
43184 2009-10-30  Eric Blake  <ebb9@byu.net>
43185
43186         exclude: make more robust
43187         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
43188         rather than masking a coding bug.
43189         Suggested by Bruno Haible.
43190
43191 2009-10-30  Jim Meyering  <meyering@redhat.com>
43192
43193         perl scripts: remove #!/usr/bin/perl in favor of more portable...
43194         Rather than putting #!/usr/bin/perl on the first line,
43195         start with a variant of what's recommended by "man perlrun" that
43196         invokes the first "perl" program from your shell's search path.
43197         * build-aux/gitlog-to-changelog: Replace #!... as above.
43198         Add a "Local Variables" perl mode setting.
43199         Prompted by a patch from Ludovic Courtès.
43200         Improved by Eric Blake.
43201         * build-aux/useless-if-before-free: Likewise.
43202         * build-aux/announce-gen: Likewise.
43203         * build-aux/update-copyright: Likewise.
43204
43205 2009-10-29  Eric Blake  <ebb9@byu.net>
43206
43207         filenamecat-lgpl: adjust clients
43208         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
43209         filenamecat.
43210         * modules/renameat (Depends-on): Likewise.
43211
43212         filenamecat: split into filenamecat-lgpl
43213         * modules/filenamecat-lgpl: New module.
43214         * modules/filenamecat (Files): Move library-safe files into
43215         filenamecat-lgpl.
43216         (Depends-on): Add filenamecat-lgpl.
43217         (configure.ac): Declare witness.
43218         * lib/filenamecat.h (file_name_concat): Only declare when using
43219         GPL module.
43220         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
43221         Move...
43222         * lib/filenamecat-lgpl.c: ...into new file.
43223         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
43224         (gl_FILE_NAME_CONCAT): Use it.
43225         * MODULES.html.sh (File system functions): Mention new module.
43226
43227         argp: avoid memory leak
43228         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
43229         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
43230         base_name, since the latter malloc()s and can call exit().
43231         Leak introduced 2006-07-03.
43232
43233         dirname-lgpl: adjust clients that don't need full dirname
43234         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
43235         * modules/filenamecat (Depends-on): Likewise.
43236         * modules/linkat (Depends-on): Likewise.
43237         * modules/mkancesdirs (Depends-on): Likewise.
43238         * modules/mkdir (Depends-on): Likewise.
43239         * modules/openat (Depends-on): Likewise.
43240         * modules/savewd (Depends-on): Likewise.
43241         * modules/rename (Depends-on): Likewise.
43242         (License): Relax license.
43243         * modules/mkdir-tests (Depends-on): Drop progname.
43244         (Makefile.am): Delete unneeded LDADD.
43245         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
43246
43247         dirname: split into dirname-lgpl
43248         * modules/dirname-lgpl: New module.
43249         * modules/dirname (Files): Move library-safe files into
43250         dirname-lgpl.
43251         (Depends-on): Add dirname-lgpl.
43252         (configure.ac): Declare witness.
43253         * modules/double-slash-root (License): Relax license.
43254         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
43255         module.
43256         * lib/dirname.c (dir_len, mdir_name): Move...
43257         * lib/dirname-lgpl.c: ...into new file.
43258         * lib/basename.c (last_component, base_len): Move...
43259         * lib/basename-lgpl.c: ...into new file.
43260         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
43261         (gl_DIRNAME): Use it.
43262         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
43263         Mention new module.
43264         * modules/dirname-tests (Depends-on): Add progname.
43265         * tests/test-dirname.c (program_name): Delete.
43266
43267         mkdir: make safe for libraries
43268         * modules/mkdir (Depends-on): Drop xalloc.
43269         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
43270         exit.
43271
43272         tests: avoid some compiler warnings
43273         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
43274         literals.
43275         * tests/test-memchr.c (main): Avoid type mismatch.
43276         * tests/test-arpa_inet.c (main): Avoid unused parameters.
43277         * tests/test-base64.c (main): Likewise.
43278         * tests/test-getdelim.c (main): Likewise.
43279         * tests/test-gethostname.c (main): Likewise.
43280         * tests/test-getline.c (main): Likewise.
43281         * tests/test-netinet_in.c (main): Likewise.
43282         * tests/test-select.c (open_server_socket, main): Likewise.
43283         * tests/test-select-stdin.c (main): Likewise.
43284         * tests/test-sockets.c (main): Likewise.
43285         * tests/test-strsignal.c (main): Likewise.
43286         * tests/test-sys_select.c (main): Likewise.
43287         * tests/test-sys_socket.c (main): Likewise.
43288         * tests/test-u64.c (main): Likewise.
43289         * tests/test-xfprintf-posix.c (main): Likewise.
43290         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
43291
43292         sockets: avoid compiler warning
43293         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
43294
43295         maint: detect usage(1) and other suspicious exits
43296         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
43297
43298 2009-10-29  Jim Meyering  <meyering@redhat.com>
43299
43300         timespec: long-to-int truncation could make timespec_cmp malfunction
43301         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
43302         a multiple of 2^32 nanoseconds as no difference.
43303
43304 2009-10-28  Jim Meyering  <meyering@redhat.com>
43305
43306         fprintftime: wrap macro code argument in "do {...} while(0)"
43307         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
43308         cpy macro must be a statement that can be followed by a semicolon.
43309         Now that the else clause contains a comment and is hence longer
43310         than one line, I require curly braces.  That in turn requires
43311         that we wrap this code block in the standard do...while(0).
43312
43313         fprintftime: remove stray semicolon from previous change
43314         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
43315
43316         fprintftime: avoid a warning about ignored fwrite return value
43317         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
43318         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
43319         that is unsafe.
43320         * modules/fprintftime (Depends-on): Add ignore-value.
43321
43322         exclude: avoid an unwarranted warning
43323         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
43324
43325 2009-10-27  Eric Blake  <ebb9@byu.net>
43326
43327         fseek: avoid compilation failure when fflush is replaced
43328         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
43329         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
43330         module is in use.
43331         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
43332         module is not in use; since REPLACE_FSEEK worked otherwise.
43333         (GNULIB_FTELLO): Likewise for ftell.
43334         Reported by Ian Beckwith and others.
43335
43336 2009-10-27  Bruno Haible  <bruno@clisp.org>
43337
43338         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
43339         Reported by Jim Meyering.
43340
43341 2009-10-27  Jim Meyering  <jim@meyering.net>
43342             Bruno Haible  <bruno@clisp.org>
43343
43344         Avoid warning despite dropping the return value of fwrite.
43345         * lib/unicodeio.c: Include ignore-value.h.
43346         (fwrite_success_callback): Explicitly ignore fwrite's return value.
43347         * modules/unicodeio (Depends-on): Add ignore-value.
43348
43349 2009-10-26  Eric Blake  <ebb9@byu.net>
43350
43351         areadlinkat: fix fallback path
43352         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
43353         pointer and zero.
43354
43355 2009-10-22  Pádraig Brady  <P@draigBrady.com>
43356
43357         Use a better IO block size for modern systems
43358         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
43359         * lib/md2.c: Likewise.
43360         * lib/md4.c: Likewise.
43361         * lib/md5.c: Likewise.
43362         * lib/sha1.c: Likewise.
43363         * lib/sha256.c: Likewise.
43364         * lib/sha512.c: Likewise.
43365
43366 2009-10-22  Eric Blake  <ebb9@byu.net>
43367
43368         tests: avoid several compiler warnings
43369         * tests/test-getcwd.c (main): Avoid buffer underflow.
43370         * tests/test-getdate.c (main): String literals are not safe with
43371         putenv, so use setenv.  Declare unused argument.
43372         * modules/getdate-tests (Depends-on): Add setenv.
43373         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
43374         problems with string literals in char *.
43375         * tests/test-hash.c (main): Avoid shadowing declaration.
43376         (insert_new): Treat string literals as char const *.
43377         * tests/test-getopt.h (test_getopt): Likewise.
43378         (getopt_loop): Alter types to minimize casting elsewhere.
43379         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
43380         (test_getopt_long_posix): Likewise.
43381         (do_getopt_long): Add wrapper to minimize casting.
43382         * tests/test-atexit.c (clear_temp_file): Use void.
43383         * tests/test-areadlink-with-size.c (main): Declare unused
43384         arguments.
43385         * tests/test-areadlink.c (main): Likewise.
43386         * tests/test-areadlinkat-with-size.c (main): Likewise.
43387         * tests/test-areadlinkat.c (main): Likewise.
43388         * tests/test-canonicalize-lgpl.c (main): Likewise.
43389         * tests/test-canonicalize.c (main): Likewise.
43390         * tests/test-dirent-safer.c (main): Likewise.
43391         * tests/test-dirname.c (main): Likewise.
43392         * tests/test-dup2.c (main): Likewise.
43393         * tests/test-fchdir.c (main): Likewise.
43394         * tests/test-fcntl-h.c (main): Likewise.
43395         * tests/test-fcntl-safer.c (main): Likewise.
43396         * tests/test-fdopendir.c (main): Likewise.
43397         * tests/test-fdutimensat.c (main): Likewise.
43398         * tests/test-fflush.c (main): Likewise.
43399         * tests/test-filenamecat.c (main): Likewise.
43400         * tests/test-filevercmp.c (main): Likewise.
43401         * tests/test-fopen-safer.c (main): Likewise.
43402         * tests/test-fopen.c (main): Likewise.
43403         * tests/test-fpending.c (main): Likewise.
43404         * tests/test-fpurge.c (main): Likewise.
43405         * tests/test-freading.c (main): Likewise.
43406         * tests/test-fstatat.c (main): Likewise.
43407         * tests/test-fsync.c (main): Likewise.
43408         * tests/test-futimens.c (main): Likewise.
43409         * tests/test-getndelim2.c (main): Likewise.
43410         * tests/test-gettimeofday.c (main): Likewise.
43411         * tests/test-getopt.c (main): Likewise.
43412         * tests/test-i-ring.c (main): Likewise.
43413         * tests/test-inttypes.c (main): Likewise.
43414         * tests/test-link.c (main): Likewise.
43415         * tests/test-lstat.c (main): Likewise.
43416         * tests/test-math.c (main): Likewise.
43417         * tests/test-md5.c (main): Likewise.
43418         * tests/test-memchr2.c (main): Likewise.
43419         * tests/test-memrchr.c (main): Likewise.
43420         * tests/test-mkdir.c (main): Likewise.
43421         * tests/test-mkdirat.c (main): Likewise.
43422         * tests/test-mkfifoat.c (main): Likewise.
43423         * tests/test-open.c (main): Likewise.
43424         * tests/test-openat-safer.c (main): Likewise.
43425         * tests/test-openat.c (main): Likewise.
43426         * tests/test-quotearg.c (main): Likewise.
43427         * tests/test-rawmemchr.c (main): Likewise.
43428         * tests/test-readlink.c (main): Likewise.
43429         * tests/test-remove.c (main): Likewise.
43430         * tests/test-rename.c (main): Likewise.
43431         * tests/test-renameat.c (main): Likewise.
43432         * tests/test-rmdir.c (main): Likewise.
43433         * tests/test-sha1.c (main): Likewise.
43434         * tests/test-signal.c (main): Likewise.
43435         * tests/test-sigaction.c (main): Likewise.
43436         * tests/test-stat.c (main): Likewise.
43437         * tests/test-stat-time.c (main): Likewise.
43438         * tests/test-stddef.c (main): Likewise.
43439         * tests/test-stdint.c (main): Likewise.
43440         * tests/test-stdio.c (main): Likewise.
43441         * tests/test-stdlib.c (main): Likewise.
43442         * tests/test-strchrnul.c (main): Likewise.
43443         * tests/test-strerror.c (main): Likewise.
43444         * tests/test-string.c (main): Likewise.
43445         * tests/test-strtod.c (main): Likewise.
43446         * tests/test-strverscmp.c (main): Likewise.
43447         * tests/test-symlink.c (main): Likewise.
43448         * tests/test-symlinkat.c (main): Likewise.
43449         * tests/test-sys_stat.c (main): Likewise.
43450         * tests/test-sys_time.c (main): Likewise.
43451         * tests/test-time.c (main): Likewise.
43452         * tests/test-unistd.c (main): Likewise.
43453         * tests/test-unlink.c (main): Likewise.
43454         * tests/test-unlinkat.c (main): Likewise.
43455         * tests/test-utimens.c (main): Likewise.
43456         * tests/test-utimensat.c (main): Likewise.
43457         * tests/test-version-etc.c (main): Likewise.
43458         * tests/test-wchar.c (main): Likewise.
43459         * tests/test-wctype.c (main): Likewise.
43460         * tests/test-xprintf-posix.c (main): Likewise.
43461         * tests/test-posixtm.c (main): Likewise.
43462         (STREQ): Delete unused macro.
43463         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
43464         shadowed variables.
43465         * tests/test-memchr.c (main): Likewise.
43466
43467 2009-10-21  Eric Blake  <ebb9@byu.net>
43468
43469         areadlinkat: avoid failure on older glibc
43470         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
43471         rather than mis-comparing 0 against FUNC_RESULT of char*.
43472
43473 2009-10-21  Bruno Haible  <bruno@clisp.org>
43474
43475         * modules/stpncpy (License): Relicense under LGPLv2+.
43476         Reported by David Lutterkort <lutter@redhat.com>.
43477
43478 2009-10-20  Eric Blake  <ebb9@byu.net>
43479
43480         utimensat: work around Solaris 9 bug
43481         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
43482         has trailing slash bugs.
43483         * tests/test-lutimens.h (test_lutimens): Enhance test.
43484         * tests/test-utimens.h (test_utimens): Likewise.
43485         * doc/posix-functions/utime.texi (utime): Enhance documentation.
43486         * doc/posix-functions/utimes.texi (utimes): Likewise.
43487         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
43488         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
43489         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
43490         * doc/posix-functions/futimens.texi (futimens): Likewise.
43491
43492         fdutimensat: new module
43493         * modules/fdutimensat: New file.
43494         * lib/fdutimensat.c (fdutimensat): Likewise.
43495         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
43496         * MODULES.html.sh (File system functions): Mention module.
43497         * modules/fdutimensat-tests: New test.
43498         * tests/test-fdutimensat.c: Likewise.
43499
43500         doc: regenerate INSTALL
43501         * doc/INSTALL: Reflect recent autoconf update.
43502         * doc/INSTALL.ISO: Likewise.
43503         * doc/INSTALL.UTF-8: Likewise.
43504
43505 2009-10-20  Pádraig Brady  <P@draigBrady.com>
43506
43507         acl: warn if ACL support is not detected
43508         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
43509
43510 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
43511
43512         * lib/nproc.h: Add extern "C" block for C++.
43513
43514 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
43515             Bruno Haible  <bruno@clisp.org>
43516
43517         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
43518         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
43519         * doc/posix-functions/isalpha.texi: Likewise.
43520         * doc/posix-functions/isblank.texi: Likewise.
43521         * doc/posix-functions/iscntrl.texi: Likewise.
43522         * doc/posix-functions/isdigit.texi: Likewise.
43523         * doc/posix-functions/isgraph.texi: Likewise.
43524         * doc/posix-functions/islower.texi: Likewise.
43525         * doc/posix-functions/isprint.texi: Likewise.
43526         * doc/posix-functions/ispunct.texi: Likewise.
43527         * doc/posix-functions/isspace.texi: Likewise.
43528         * doc/posix-functions/isupper.texi: Likewise.
43529         * doc/posix-functions/isxdigit.texi: Likewise.
43530
43531 2009-10-18  Bruno Haible  <bruno@clisp.org>
43532
43533         Tests for module 'isblank'.
43534         * modules/isblank-tests: New file.
43535         * tests/test-isblank.c: New file.
43536
43537         New module 'isblank'.
43538         * lib/isblank.c: New file.
43539         * m4/isblank.m4: New file.
43540         * modules/isblank: New file.
43541         * doc/posix-functions/isblank.texi: Mention the new module.
43542
43543 2009-10-18  Bruno Haible  <bruno@clisp.org>
43544
43545         New module 'ctype'.
43546         * lib/ctype.in.h: New file.
43547         * m4/ctype.m4: New file.
43548         * modules/ctype: New file.
43549         * doc/posix-headers/ctype.texi: Mention the new module.
43550
43551 2009-10-18  Jim Meyering  <meyering@redhat.com>
43552
43553         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
43554         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
43555         right after its initialization, rather than farther down.
43556         Keeping these in close proximity makes it easier to ensure
43557         that each such variable is initialized.  E.g.,
43558
43559             LIB_CLOCK_GETTIME=
43560             AC_SUBST([LIB_CLOCK_GETTIME])
43561
43562         This change also increments these serial numbers.
43563         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
43564         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
43565         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
43566
43567 2009-10-18  Bruno Haible  <bruno@clisp.org>
43568
43569         Don't let environment variables perturb build.
43570         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
43571         (gl_PREREQ_GETHRXTIME): ... not here.
43572
43573 2009-10-18  Bruno Haible  <bruno@clisp.org>
43574
43575         Avoid symlink attack in localcharset module.
43576         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
43577         (O_NOFOLLOW): Define fallback.
43578         (get_charset_aliases): Don't open the file if it is a symbolic link.
43579         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
43580         gl_FCNTL_H.
43581         (gl_FCNTL_H): Require it.
43582         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
43583         * modules/localcharset (Files): Add m4/fcntl_h.m4.
43584         Reported by Fergal Glynn <fglynn@veracode.com>.
43585
43586 2009-10-18  Bruno Haible  <bruno@clisp.org>
43587
43588         Implement nproc for mingw.
43589         * lib/nproc.c: Include <windows.h>
43590         (num_processors): On native Windows platforms, try GetSystemInfo.
43591
43592 2009-10-18  Bruno Haible  <bruno@clisp.org>
43593
43594         Implement nproc for IRIX.
43595         * lib/nproc.c: Include <sys/sysmp.h>.
43596         (num_processors): On IRIX systems, try sysmp.
43597         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
43598
43599 2009-10-18  Bruno Haible  <bruno@clisp.org>
43600
43601         Implement nproc for HP-UX.
43602         * lib/nproc.c: Include <sys/pstat.h>
43603         (num_processors): On HP-UX systems, try pstat_getdynamic.
43604         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
43605         pstat_getdynamic.
43606
43607 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
43608             Bruno Haible  <bruno@clisp.org>
43609
43610         Implement nproc for NetBSD, OpenBSD.
43611         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
43612         (ARRAY_SIZE): New macro.
43613         (num_processors): On BSD systems, try sysctl of HW_NCPU.
43614         * m4/nproc.m4: New file.
43615         * modules/nproc (Files): Add m4/nproc.m4.
43616         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
43617         (Makefile.am): Instead, augment lib_SOURCES.
43618
43619 2009-10-18  Bruno Haible  <bruno@clisp.org>
43620
43621         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
43622         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
43623         sys/param.h.
43624
43625 2009-10-16  Eric Blake  <ebb9@byu.net>
43626
43627         utimensat: new module
43628         * modules/utimensat: New file.
43629         * lib/utimensat.c (utimensat): Likewise.
43630         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
43631         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
43632         so we can work around Linux bugs.
43633         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
43634         * modules/sys_stat (Makefile.am): Substitute them.
43635         * lib/sys_stat.in.h (utimensat): Declare it.
43636         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
43637         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
43638         * modules/utimensat-tests: New test.
43639         * tests/test-utimensat.c: Likewise.
43640
43641         utimens: let lutimens work on non-symlinks
43642         * lib/utimens.c (lutimens): Fall back to utimens rather than
43643         failing with ENOSYS, when file is not a symlink.
43644         (utimens): Reduce redirection.
43645         * tests/test-lutimens.h (test_lutimens): Update test to cover
43646         non-symlinks.
43647         * tests/test-utimens.h (test_utimens): Update test to cover
43648         symlinks.
43649         * tests/test-utimens.c (main): Update caller.
43650
43651         utimens: cache whether utimensat syscall works
43652         * lib/utimens.c (utimensat_works_really): New cache variable.
43653         (fdutimens, lutimens): Use it to avoid failing syscall.
43654
43655         test-stat-time, test-utimens: improve portability
43656         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
43657         ext4 on alpha, and for cygwin.
43658         * tests/test-utimens-common.h: New file.
43659         (nap): Factor delays into single function.
43660         * tests/test-lutimens.h (test_lutimens): Use new header.
43661         * tests/test-futimens.h (test_futimens): Likewise.
43662         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
43663         timestamps to occur from same machine, as was done previously for
43664         test_utimens.
43665         * modules/utimens-tests (Files): Ship new file.
43666         * modules/futimens-tests (Files): Likewise.
43667         Reported in part by Jim Meyering.
43668
43669         sys_stat: sort replacement declarations
43670         * lib/sys_stat.in.h: Sort declarations.
43671         * lib/futimens.c (futimens): Fix typo.
43672
43673 2009-10-15  Jim Meyering  <meyering@redhat.com>
43674
43675         don't let environment settings perturb build
43676         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
43677         could cause a configure-time and/or build-time malfunction.
43678         Typically, a configure-time function-in-library test is performed
43679         via code like this:
43680
43681           LIB_VAR=
43682           AC_SUBST([LIB_VAR])
43683           prefix_saved_LIBS=$LIBS
43684             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
43685                        [test "$ac_cv_search_FUNC" = "none required" ||
43686                         LIB_VAR=$ac_cv_search_FUNC])
43687           LIBS=$prefix_saved_LIBS
43688
43689         However, in each of the files affected by this change, the LIB_VAR=
43690         initialization was omitted.  Thus, when set in the environment, its
43691         value would propagate into generated Makefiles when FUNC is not found
43692         in LIB_NAME.
43693         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
43694         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
43695         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
43696
43697 2009-10-14  Eric Blake  <ebb9@byu.net>
43698
43699         fchdir: avoid infinite recursion in mingw
43700         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
43701         recursing.
43702
43703         test-stat-time: port to mingw
43704         * tests/test-stat-time.c (force_unlink): Return a value.
43705         (test_ctime) [W32]: Fix compilation error.
43706         (nap): Don't call usleep with too large an argument.  Use
43707         force_unlink.
43708         * doc/pastposix-functions/usleep.texi (usleep): Document the
43709         portability issue.
43710
43711 2009-10-13  Jim Meyering  <meyering@redhat.com>
43712
43713         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
43714         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
43715         * modules/pipe-filter-ii: Likewise.
43716         * modules/sys_socket-tests: Likewise.
43717         * modules/tsearch-tests: Likewise.
43718         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
43719         (check): Depend on it.
43720
43721 2009-10-12  Eric Blake  <ebb9@byu.net>
43722
43723         utimens-tests: port to NFS file systems
43724         * tests/test-utimens.h (test_utimens): Refactor utimecmp
43725         comparisons to avoid spurious failures from timestamp drift
43726         between NFS machines.
43727
43728 2009-10-12  Eric Blake  <ebb9@byu.net>
43729
43730         stat-time-tests: minor cleanups
43731         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
43732         * tests/test-stat-time.c (nap): Separate assignment from call.
43733         Suggested by Paolo Bonzini and Bruno Haible.
43734
43735         sys_stat: guarantee struct timespec
43736         * lib/sys_stat.in.h (includes): Always include <time.h>
43737         * modules/sys_stat (Depends-on): Add time.
43738         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
43739         mode_t permission values.
43740         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
43741         get at subsecond timestamps.
43742
43743 2009-10-10  Eric Blake  <ebb9@byu.net>
43744
43745         futimens: new module
43746         * modules/futimens: New file.
43747         * lib/futimens.c (futimens): Likewise.
43748         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
43749         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
43750         we can work around Linux bugs.
43751         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
43752         * modules/sys_stat (Makefile.am): Substitute them.
43753         * lib/sys_stat.in.h (futimens): Declare it.
43754         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
43755         * doc/posix-functions/futimens.texi (futimens): Likewise.
43756         * modules/futimens-tests: New test.
43757         * tests/test-futimens.c: Likewise.
43758
43759         utimens: introduce fdutimens
43760         * lib/utimens.h (fdutimens): New prototype.
43761         * lib/utimens.c (gl_futimens): Move guts...
43762         (fdutimens): ...to new interface.
43763         * tests/test-utimens.c (do_fdutimens): Use it.
43764
43765         utimens: add UTIME_NOW and UTIME_OMIT support
43766         * lib/utimens.c (validate_timespec, update_timespec): New helper
43767         functions.
43768         (gl_futimens, lutimens): Use them.
43769         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
43770         stdbool, sys_stat.
43771         (Link): Mention resulting library dependency.
43772         * modules/utimecmp (Link): Likewise.
43773         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
43774         (Makefile.am): Pick up library dependency.
43775         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
43776         definition.
43777         * tests/test-sys_stat.c: Test the definitions.
43778         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
43779         * NEWS: Document library dependency.
43780
43781         utimecmp: support symlink timestamps
43782         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
43783         hashing when possible.  Use pathconf when available.
43784         (SYSCALL_RESOLUTION): Recognize tighter resolution.
43785         * modules/utimecmp (Depends-on): Add lstat.
43786
43787         utimens: add lutimens interface
43788         * lib/utimens.c (lutimens): New function.
43789         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
43790         * lib/utimens.h (lutimens): Declare new interface.
43791         * tests/test-utimens.c (main): Enhance test.
43792         * tests/test-lutimens.h (test_lutimens): New file.
43793         * modules/utimens-tests (Files): Distribute it.
43794         (Depends-on): Add symlink.
43795         (configure.ac): Check for usleep.
43796
43797         utimens: validate futimens usage
43798         * lib/utimens.c (gl_futimens): Require valid fd up front, using
43799         fewer syscalls on failure later on.  Avoid compiler warning on
43800         mingw.
43801         * modules/utimens (Depends-on): Add dup2.
43802
43803         utimens: add test
43804         * modules/utimens-tests: New test.
43805         * tests/test-utimens.h: New file.
43806         * tests/test-futimens.h: Likewise.
43807         * tests/test-utimens.c: Likewise.
43808
43809         doc: mention timestamp portability issues
43810         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
43811         instead.
43812         * doc/posix-functions/utime.texi (utime): Likewise.
43813         * doc/posix-functions/utimes.texi (utimes): Likewise.
43814         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
43815         instead.
43816         * doc/posix-functions/futimens.texi (futimens): Mention utimens
43817         module.
43818         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
43819         Mention weakness with symlink timestamps.
43820         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
43821         to utimensat/futimens instead.
43822         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
43823
43824         test-dup2: enhance test
43825         * tests/test-dup2.c (main): Also check AT_FDCWD.
43826
43827         test-stat-time: avoid more spurious failures
43828         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
43829         xfs; and avoid race if the two timestamps cross quantization edge.
43830
43831         relocatable: prefer 'file system' over 'filesystem'
43832         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
43833         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
43834         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
43835         * doc/relocatable.texi (Enabling Relocatability): Likewise.
43836         * lib/relocatable.c (compute_curr_prefix): Likewise.
43837
43838 2009-10-10  Jim Meyering  <meyering@redhat.com>
43839
43840         stat-time-tests: check for the usleep function
43841         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
43842
43843 2009-10-10  Bruno Haible  <bruno@clisp.org>
43844
43845         * modules/xnanosleep: Put the Link section after the Include section.
43846
43847 2009-10-09  Eric Blake  <ebb9@byu.net>
43848
43849         dup2: work around FreeBSD 6.1 bug
43850         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
43851         * doc/posix-functions/dup2.texi (dup2): Document it.
43852         Reported by Nelson H. F. Beebe and Jim Meyering.
43853
43854         test-stat-time: port to buggy NFS clients
43855         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
43856         (test_ctime): Also skip test if mtime and ctime are skewed.
43857
43858         maint: prefer 'file system' over 'filesystem'
43859         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
43860         * doc/posix-functions/lstat.texi (lstat): Likewise.
43861         * lib/file-has-acl.c (file_has_acl): Likewise.
43862         * lib/fwriteerror.c [TEST]: Likewise.
43863         * tests/test-areadlink.h (test_areadlink): Likewise.
43864         * tests/test-areadlinkat-with-size.c (main): Likewise.
43865         * tests/test-areadlinkat.c (main): Likewise.
43866         * tests/test-canonicalize-lgpl.c (main): Likewise.
43867         * tests/test-canonicalize.c (main): Likewise.
43868         * tests/test-fstatat.c (main): Likewise.
43869         * tests/test-linkat.c (main): Likewise.
43870         * tests/test-lstat.h (test_lstat_func): Likewise.
43871         * tests/test-mkdir.h (test_mkdir): Likewise.
43872         * tests/test-readlink.h (test_readlink): Likewise.
43873         * tests/test-remove.c (main): Likewise.
43874         * tests/test-rename.h (test_rename): Likewise.
43875         * tests/test-renameat.c (main): Likewise.
43876         * tests/test-rmdir.h (test_rmdir_func): Likewise.
43877         * tests/test-symlink.h (test_symlink): Likewise.
43878         * tests/test-symlinkat.c (main): Likewise.
43879         * tests/test-unlink.h (test_unlink_func): Likewise.
43880         * tests/test-unlinkat.c (main): Likewise.
43881
43882         maint: make realtime library usage explicit
43883         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
43884         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
43885         * modules/settime (Link): Likewise.
43886         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
43887
43888         test-stat-time: speed up execution
43889         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
43890         warning on mingw.
43891         (nap): New helper function.
43892         (prepare_test): Use it to reduce sleep time.
43893         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
43894         execution.
43895         * modules/stat-time-tests (configure.ac): Check for usleep.
43896
43897 2009-10-09  Jim Meyering  <meyering@redhat.com>
43898
43899         selinux-h: always use getfilecon wrappers
43900         * lib/getfilecon.c: New file.
43901         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
43902         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
43903         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
43904         (fgetfilecon): Provide a stub.
43905         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
43906         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
43907         file unconditionally.
43908         When <selinux/selinux.h> is found, arrange to use wrappers.
43909         * modules/selinux-h (Files): Add getfilecon.c.
43910         (Makefile.am): Substitute include-next-related bits
43911         into the now-always-generated selinux/selinux.h file.
43912         * doc/glibc-functions/lgetfilecon.texi: New file.
43913         * doc/glibc-functions/fgetfilecon.texi: New file.
43914         * doc/glibc-functions/getfilecon.texi: New file.
43915         * doc/glibc-functions/getfilecon-desc.texi: New file.
43916         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
43917         which to pull in the new files.
43918         * MODULES.html.sh (Misc): Add selinux-h.
43919
43920 2009-10-08  Jim Meyering  <meyering@redhat.com>
43921
43922         unistd: fix comment typo
43923         * lib/unistd.in.h (euidaccess): Fix a comment typo.
43924
43925 2009-10-08  Eric Blake  <ebb9@byu.net>
43926
43927         areadlink: use SIZE_MAX consistently
43928         * modules/areadlink (Depends-on): Add stdint.
43929         * modules/areadlink-with-size (Depends-on): Likewise.
43930         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
43931         gives NULL; drop sys/types, since unistd gives size_t; and add
43932         stdint for SIZE_MAX.
43933         (SIZE_MAX): Rely on headers.
43934         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
43935         and add stdint.
43936         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
43937         (SIZE_MAX): Likewise.
43938         (INITIAL_BUF_SIZE): Turn into enum.
43939         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
43940
43941 2009-10-08  Jim Meyering  <meyering@redhat.com>
43942
43943         areadlinkat: avoid compilation failure
43944         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
43945         Fix typo in comment.
43946
43947 2009-10-07  Eric Blake  <ebb9@byu.net>
43948
43949         areadlinkat-with-size: new module
43950         * modules/areadlinkat-with-size: New module.
43951         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
43952         * lib/areadlink.h (areadlinkat): Declare it.
43953         * MODULES.html.sh (File system functions): Mention it.
43954         * modules/areadlinkat-with-size-tests: New test.
43955         * tests/test-areadlinkat-with-size.c: New file.
43956
43957         xreadlinkat: new module
43958         * modules/xreadlinkat: New module.
43959         * lib/xreadlinkat.c (xreadlinkat): New file.
43960         * lib/xreadlink.h (xreadlinkat): Declare it.
43961         * MODULES.html.sh (File system functions): Mention it.
43962
43963         areadlinkat: new module
43964         * lib/at-func.c (FUNC_FAIL): New define.
43965         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
43966         * modules/areadlinkat: New module.
43967         * lib/linkat.c (areadlinkat): Move...
43968         * lib/areadlinkat.c (areadlinkat): ...to new file.
43969         * lib/areadlink.h (areadlinkat): Declare it.
43970         * modules/linkat (Depends-on): Add areadlinkat.
43971         * MODULES.html.sh (File system functions): Mention it.
43972         * modules/areadlinkat-tests: New test.
43973         * tests/test-areadlinkat.c: New file.
43974
43975         areadlink, areadlink-with-size: add tests
43976         * modules/areadlink-tests: New test.
43977         * modules/areadlink-with-size-tests: Likewise.
43978         * tests/test-areadlink.h: New file.
43979         * tests/test-areadlink.c: Likewise.
43980         * tests/test-areadlink-with-size.c: Likewise.
43981
43982         maint: minor cleanups
43983         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
43984         _UNUSED_PARAMETER_ instead.
43985         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
43986         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
43987         * modules/linkat-tests (Files): Distribute test-link.h.
43988
43989         openat, utimens: whitespace cleanup
43990         * lib/openat.c: Prefer space throughout, rather than mix of 8
43991         spaces vs. tabs.
43992         * lib/at-func.c: Likewise.
43993         * lib/utimens.c: Likewise.
43994
43995         openat: avoid using wrong fd
43996         * lib/openat.c (openat_permissive): Reject user's fd if saving the
43997         working directory chooses same fd.
43998         * lib/at-func.c (AT_FUNC_NAME): Likewise.
43999
44000         mkdir, mkdirat: fix cygwin 1.5.x bug
44001         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
44002         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
44003         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
44004         bug.
44005         (gl_PREREQ_MKDIR): Delete unused macro.
44006         * modules/mkdir (Files): Track file rename.
44007         (configure.ac): Update macro name.
44008         * modules/openat (Depends-on): Add mkdir.
44009         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
44010
44011         mkdir, mkdirat: add tests
44012         * modules/mkdir-tests: New test.
44013         * tests/test-mkdir.h: New file.
44014         * tests/test-mkdir.c: Likewise.
44015         * tests/test-mkdirat.c: Likewise.
44016         * modules/openat-tests (Files): Add new files.
44017         (Makefile.am): Run new test.
44018
44019 2009-10-06  Eric Blake  <ebb9@byu.net>
44020
44021         doc: tweak *at function documentation
44022         * doc/posix-functions/faccessat.texi (faccessat): Mention
44023         known issue with replacement.
44024         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
44025         * doc/posix-functions/linkat.texi (linkat): Likewise.
44026         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
44027         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
44028         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
44029         * doc/posix-functions/renameat.texi (renameat): Likewise.
44030         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
44031
44032         openat: fix GNU/Hurd bug in unlinkat
44033         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
44034         broken.
44035         * doc/posix-functions/unlink.texi (unlink): Document this.
44036         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
44037
44038         fdopendir: fix GNU/Hurd bug
44039         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
44040         allowing non-directory fds.
44041         * lib/fdopendir.c (rpl_fdopendir): Work around it.
44042         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
44043         * modules/dirent (Makefile.am): Substitute it.
44044         * lib/dirent.in.h (fdopendir): Declare replacement.
44045         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
44046         * tests/test-fdopendir.c (main): Test something other than
44047         /dev/null, since on Hurd that behaves like a directory.
44048
44049         test-symlink: port to GNU/Hurd
44050         * tests/test-symlink.h (test_symlink): Relax expected errno.
44051
44052         doc: tweak more cygwin information
44053         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
44054         now compatible with glibc.
44055         * doc/posix-functions/getopt.texi (getopt): Likewise.
44056
44057         getopt-gnu: add another test
44058         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
44059         guarantee behavior relied on by m4.
44060         * tests/test-getopt.c (main): Use it.
44061         * modules/getopt-posix-tests (Depends-on): Add setenv.
44062         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
44063
44064         getopt: fix compilation on darwin
44065         * lib/getopt.in.h (includes): Leave breadcrumbs during system
44066         include.
44067         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
44068         Reported by Ludovic Courtès.
44069
44070 2009-10-06  Bruno Haible  <bruno@clisp.org>
44071
44072         * modules/size_max (Description): Discourage its use.
44073         Reported by Simon Josefsson.
44074
44075 2009-10-06  Jim Meyering  <meyering@redhat.com>
44076
44077         linkat: avoid compilation failure
44078         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
44079
44080 2009-10-05  Eric Blake  <ebb9@byu.net>
44081
44082         linkat: support Linux 2.6.17
44083         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
44084         linkat on Linux, but allow cache variable override.
44085         * lib/linkat.c (rpl_linkat): Define override.
44086         * modules/linkat (Depends-on): Add symlinkat.
44087         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
44088         * modules/unistd (Makefile.am): Substitute it.
44089         * lib/unistd.in.h (linkat): Declare replacement.
44090         Reported by Pádraig Brady.
44091
44092         quotearg: port test to systems with C.UTF-8 locale
44093         * tests/test-quotearg.c (struct result_strings): Add another
44094         member, differentiating between C.ASCII and C.UTF-8 handling.
44095         (compare_strings): Add parameter.
44096         (main): Adjust all callers.
44097
44098         getopt: avoid clash with FreeBSD _getopt_internal
44099         * lib/getopt.in.h (_getopt_internal): Override the name.
44100         * lib/getopt_int.h (includes): Pick up any overrides.
44101         Reported by Reuben Thomas.
44102
44103         hash: allow C89 compilation
44104         * lib/hash.c (check_tuning): Move declaration before statement.
44105         Reported by Reuben Thomas.
44106
44107 2009-10-05  Karl Berry  <karl@gnu.org>
44108
44109         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
44110
44111 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
44112             Bruno Haible  <bruno@clisp.org>
44113
44114         * lib/uname.c (uname): Use a table-driven algorithm to compute
44115         Windows NT versions.
44116
44117 2009-10-04  Bruno Haible  <bruno@clisp.org>
44118
44119         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
44120         program_invocation_short_name.
44121         * modules/progname (configure.ac): Test for presence of
44122         program_invocation_short_name.
44123         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
44124
44125 2009-10-04  Bruno Haible  <bruno@clisp.org>
44126
44127         * lib/progname.c (set_program_name): Fix comment.
44128         Reported by Jim Meyering.
44129
44130 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
44131             Bruno Haible  <bruno@clisp.org>
44132
44133         * lib/uname.c: Include <string.h>.
44134         (uname): Do only one call to GetVersionEx in the common case.
44135
44136 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
44137             Bruno Haible  <bruno@clisp.org>
44138
44139         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
44140         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
44141         (uname): Add support for Windows CE and various non-x86 CPU types.
44142
44143 2009-10-03  Bruno Haible  <bruno@clisp.org>
44144
44145         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
44146         invocation to tests/configure.ac.
44147         Reported by Ian Beckwith <ianb@erislabs.net>.
44148
44149 2009-10-02  Eric Blake  <ebb9@byu.net>
44150
44151         fchdir: avoid compiler warning
44152         * lib/fchdir.c (canonicalize_file_name)
44153         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
44154
44155         test-open: support mingw errno values
44156         * tests/test-open.h (test_open): Relax test.
44157         * tests/test-fopen.h (test_fopen): Likewise.
44158         * tests/test-openat-safer.c (main): Likewise.
44159
44160         open: fix opening directory on mingw
44161         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
44162
44163         test-open: on GNU/Hurd, /dev/null is a directory
44164         * tests/test-fopen.h (main): Rename...
44165         (test_fopen): ...to this.  Use a guaranteed non-directory when
44166         confirming open behavior on trailing slash.
44167         * tests/test-openat-safer.c (main): Likewise.
44168         * tests/test-open.h (main): Likewise....
44169         (test_open): ...to this.
44170         * tests/test-fopen.c (main): Adjust caller.
44171         * tests/test-fopen-safer.c (main): Likewise.
44172         * tests/test-open.c (main): Likewise.
44173         * tests/test-fcntl-safer.c (main): Likewise.
44174         Reported by Samuel Thibault.
44175
44176         rename, fchdir: don't ignore chdir failure
44177         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
44178         * lib/rename.c (rpl_rename) [W32]: Likewise.
44179         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
44180         an empty destination directory if source cannot be renamed,
44181         although there is still possibility for failure.
44182         * doc/posix-functions/rename.texi (rename): Document the race.
44183         Reported by Jim Meyering.
44184
44185         maint: cleanup whitespace in recent commits
44186         * lib/rename.c (rpl_rename): Remove tabs.
44187         * tests/test-link.h (test_link): Likewise.
44188         * lib/fchdir.c (get_name): Likewise.
44189         Reported by Jim Meyering.
44190
44191 2009-10-02  Ben Pfaff  <blp@gnu.org>
44192
44193         relocatable-prog-wrapper: Add missing dependency on
44194         double-slash-root.
44195         * modules/relocatable-prog-wrapper: Add dependency.
44196         Reported by Ian Beckwith <ianb@erislabs.net>.
44197
44198 2009-10-02  Eric Blake  <ebb9@byu.net>
44199
44200         renameat: fix Solaris bugs
44201         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
44202         needed fixing.
44203         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
44204         * modules/stdio (Makefile.am): Substitute it.
44205         * lib/stdio.in.h (renameat): Declare replacement.
44206         * lib/renameat.c (rpl_renameat): Implement fix.
44207
44208         renameat: new module
44209         * modules/renameat: New file.
44210         * lib/renameat.c (renameat): Likewise.
44211         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
44212         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
44213         * modules/stdio (Makefile.am): Substitute them.
44214         * lib/stdio.in.h (renameat): Declare it.
44215         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
44216         * doc/posix-functions/renameat.texi (renameat): Likewise.
44217         * modules/renameat-tests: New test.
44218         * tests/test-renameat.c: Likewise.
44219
44220         rename: fix mingw bugs
44221         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
44222         directory overwrite bugs.
44223
44224         rename: fix another cygwin 1.5 bug
44225         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
44226         checks.
44227         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
44228         unnecessary cygwin workarounds.  Also work around bug with moving
44229         full directory onto an empty one.
44230         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
44231
44232         rename-dest-slash: merge into rename module
44233         * modules/rename-dest-slash (Status): Mark obsolete.
44234         (Depends-on): Add rename.
44235         (Files): Let rename do it all.
44236         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
44237         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
44238         * m4/rename-dest-slash.m4: ...so this file can be deleted.
44239         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
44240         * lib/rename.c (rpl_rename): Update comments.
44241
44242         rename: fix cygwin 1.5.x bugs
44243         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
44244         * lib/rename.c (rpl_rename): Work around them.
44245         * modules/rename (Depends-on): Add same-inode.
44246
44247         rename: fix Solaris 10 bug
44248         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
44249         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
44250         was the only bug.
44251
44252         rename: fix Solaris 9 bug
44253         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
44254         on non-directory.  Avoid calling exit.
44255         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
44256         strdup.
44257         * modules/rename-tests (Depends-on): Drop lstat.
44258         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
44259         (gl_PREREQ_RENAME): Delete unused macro.
44260
44261         rename-dest-slash: fix NetBSD bug
44262         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
44263         links.
44264         * modules/rename-dest-slash (Depends-on): Add same-inode.
44265
44266         rename-tests: new test, exposes several platform bugs
44267         * modules/rename-tests: New file.
44268         * tests/test-rename.h: Likewise.
44269         * tests/test-rename.c: Likewise.
44270         * doc/posix-functions/rename.texi (rename): Improve documentation,
44271         including bugs that will eventually be fixed in gnulib.
44272
44273 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
44274
44275         * lib/uname.c: Include <stdlib.h>
44276         (uname): Assume version info is available.
44277
44278 2009-10-02  Jim Meyering  <meyering@redhat.com>
44279
44280         gnu-web-doc-update: correct --help output
44281         * build-aux/gnu-web-doc-update: Make --help output relevant.
44282
44283         gnu-web-doc-update: add standard options
44284         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
44285
44286         gnu-web-doc-update: New module.
44287         Use this script to automatically update the on-line web documentation
44288         for your GNU project at http://www.gnu.org/software/$pkg/manual/
44289         * modules/gnu-web-doc-update: New file, from coreutils.
44290         * build-aux/gnu-web-doc-update: New script.
44291
44292 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
44293
44294         link: LoadLibrary is not needed.
44295         * lib/link.c: Use GetModuleHandle.
44296
44297 2009-10-01  Eric Blake  <ebb9@byu.net>
44298
44299         getopt: bump serial number
44300         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
44301         change.
44302
44303         tests: tighten link, rmdir, and remove tests
44304         * tests/test-link.h (includes): No need to use <config.h> here.
44305         Clean up if directory hard link was created, otherwise test for
44306         trailing '.'.
44307         * tests/test-linkat.c (main): Simplify.
44308         * tests/test-remove.c (main): Enhance test for trailing '.'.
44309         * tests/test-rmdir.h (test_rmdir_func): Likewise.
44310
44311 2009-10-01  Jim Meyering  <meyering@redhat.com>
44312
44313         maint.mk: requiring "make major" was annoying, for a "minor" release.
44314         What is intended is "stable", to contrast with alpha and beta,
44315         so require "make stable", not "make major".
44316         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
44317         (get_tool_versions): Likewise.
44318         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
44319
44320 2009-09-30  Ben Pfaff  <blp@gnu.org>
44321
44322         Fix broken build of replacement for Windows tmpfile().
44323         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
44324         flags argument added along with the 'mkostemp' module.
44325
44326 2009-09-28  Bruno Haible  <bruno@clisp.org>
44327
44328         Avoid identifier clash with POSIX function 'remove' defined as a macro.
44329         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
44330         to 'remove_elt'.
44331         (gl_list_remove): Update.
44332         * lib/gl_list.c (gl_list_remove): Update.
44333         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
44334         to 'remove_elt'.
44335         (gl_oset_remove): Update.
44336         * lib/gl_list.c (gl_oset_remove): Update.
44337         Reported by Eric Blake.
44338
44339 2009-09-28  Eric Blake  <ebb9@byu.net>
44340
44341         doc: mention yet more cygwin 1.7 status
44342         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
44343         cygwin.
44344         * doc/glibc-functions/execvpe.texi (execvpe): New file.
44345         * doc/gnulib.texi (Glibc unistd.h): Mention it.
44346
44347         argp: fix test failure
44348         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
44349         that are not upper-case.  Pass correct range to tolower.
44350
44351 2009-09-27  Jim Meyering  <meyering@redhat.com>
44352
44353         test-yesno: work around sparc-dash here-document infelicity
44354         Without this change, the literal \177 byte in a here document
44355         would make dash 0.5.5.1-3 access uninitialized memory.
44356         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
44357         Instead, use a marker, "@", and filter through tr to create the desired
44358         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
44359
44360 2009-09-27  Bruno Haible  <bruno@clisp.org>
44361
44362         Disable untested support for new flavours of ACLs on AIX.
44363         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
44364         progress.
44365         * lib/set-mode-acl.c (qset_acl): Likewise.
44366
44367 2008-12-07  Bruno Haible  <bruno@clisp.org>
44368
44369         Add support for new flavours of ACLs on AIX. (Untested.)
44370         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
44371         (file_has_acl): Add support for newer AIX.
44372         * lib/set-mode-acl.c (qset_acl): Likewise.
44373         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
44374         Rainer Tammer <tammer@tammer.net>.
44375
44376 2009-09-26  Eric Blake  <ebb9@byu.net>
44377
44378         argp: fix compilation of getopt
44379         * lib/getopt.in.h (includes): Use different guard than glibc.
44380         Reported by Sergey Poznyakoff.
44381
44382         doc: mention more cygwin 1.7 status
44383         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
44384         bug.
44385         * doc/posix-functions/execl.texi (execl): Likewise.
44386         * doc/posix-functions/execle.texi (execle): Likewise.
44387         * doc/posix-functions/execlp.texi (execlp): Likewise.
44388         * doc/posix-functions/execv.texi (execv): Likewise.
44389         * doc/posix-functions/execve.texi (execve): Likewise.
44390         * doc/posix-functions/execvp.texi (execvp): Likewise.
44391         * doc/glibc-functions/canonicalize_file_name.texi
44392         (canonicalize_file_name): Cygwin 1.7 now provides this.
44393         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
44394         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
44395         on AT_SYMLINK_NOFOLLOW.
44396
44397 2009-09-24  Eric Blake  <ebb9@byu.net>
44398
44399         test-linkat: make test more robust
44400         * tests/test-linkat.c (main): Avoid collision with EEXIST.
44401
44402         getopt: fix inclusion guards for cygwin
44403         * modules/getopt-posix (Depends-on): Add include-next.
44404         (Makefile.am): Substitute more items in replacement header.
44405         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
44406         <getopt.h>.
44407         * lib/getopt.in.h (includes): Use split inclusion guard, and
44408         prefer <getopt.h> over include <unistd.h> when one is present.
44409         (option): Also override name of 'struct option'.
44410
44411         same-inode: revert prior change; it is not yet ready
44412         * NEWS: Undo mention of this change.
44413         * lib/same-inode.h (same-inode.h): Undo tri-state change.
44414         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
44415         * lib/cycle-check.c (cycle_check): Likewise.
44416         * lib/same.c (same_name): Likewise.
44417         * lib/at-func2.c (at_func2): Likewise.
44418
44419 2009-09-23  Eric Blake  <ebb9@byu.net>
44420
44421         linkat: new module
44422         * modules/linkat: New file.
44423         * lib/at-func2.c (at_func2): Likewise.
44424         * lib/linkat.c (linkat): Likewise.
44425         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
44426         * lib/openat-priv.h (at_func2): Add declaration.
44427         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
44428         * modules/unistd (Makefile.am): Substitute them.
44429         * lib/unistd.in.h (linkat): Declare it.
44430         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
44431         * doc/posix-functions/linkat.texi (linkat): Likewise.
44432         * doc/posix-functions/link.texi (link): Tweak wording.
44433         * tests/test-link.c (main): Move guts...
44434         * tests/test-link.h (test_link): ...into new file.
44435         * modules/linkat-tests: New test.
44436         * tests/test-linkat.c: Likewise.
44437         * modules/link-tests (Files): Ship new file.
44438         (Depends-on): Add stdbool.
44439
44440         dirname: add library-safe mdir_name
44441         * lib/dirname.h (mdir_name): New prototype.
44442         * lib/dirname.c (dir_name): Move guts...
44443         (mdir_name): ...to new function that avoids xalloc_die.
44444
44445         fchdir: another mingw fix
44446         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
44447         * lib/fchdir.c (get_name): New helper method; skips canonicalize
44448         on mingw (where it has not yet been ported), and make it optional
44449         elsewhere.
44450         (_gl_register_fd): Use it.
44451
44452         same-inode: make SAME_INODE tri-state, to port to mingw
44453         * NEWS: Mention this change.
44454         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
44455         st_ino always being 0.
44456         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
44457         * lib/cycle-check.c (cycle_check): Likewise.
44458         * lib/same.c (same_name): Likewise.
44459
44460         lstat: avoid mingw compilation error
44461         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
44462         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
44463         lstat ourselves.
44464         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
44465         was adequate.
44466         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
44467         the checks for lstat.
44468         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
44469
44470         link: fix test failure on Solaris 9
44471         * lib/link.c (rpl_link): Don't assume link will catch bogus
44472         trailing slash on source.
44473
44474         test-symlinkat: enhance test
44475         * tests/test-readlink.c (main): Move guts...
44476         * tests/test-readlink.h (test_readlink): ...into new file.
44477         * tests/test-symlink.c (main): Move guts...
44478         * tests/test-symlink.h (test_symlink): ...into new file.
44479         * tests/test-symlinkat.c (main): Use new files for further
44480         coverage.
44481         (do_symlink, do_readlink): New helper functions.
44482         * modules/symlink-tests (Files): Ship new file.
44483         (Depends-on): Add stdbool.
44484         * modules/readlink-tests (Files): Ship new file.
44485         (Depends-on): Add stdbool.
44486         * modules/symlinkat-tests (Files): Use new files.
44487
44488 2009-09-23  Eric Blake  <ebb9@byu.net>
44489
44490         readlink: document portability issue with symlink length
44491         * doc/posix-functions/lstat.texi (lstat): Mention that some file
44492         systems have bogus st_size on symlinks, and mention the
44493         areadlink-with-size module.
44494         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
44495         * doc/posix-functions/readlink.texi (readlink): Mention the
44496         areadlink module, and ERANGE failure.
44497         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
44498         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
44499
44500         readlink: fix Solaris 9 bug with trailing slash
44501         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
44502         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
44503         * doc/posix-functions/readlink.texi (readlink): Document this.
44504         * modules/readlink-tests: New test.
44505         * tests/test-readlink.c: Likewise.
44506
44507         readlink: fix cygwin 1.5.x bug with return type
44508         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
44509         * lib/unistd.in.h (readlink): Use ssize_t.
44510         * lib/readlink.c (readlink): Likewise.
44511         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
44512         * modules/unistd (Makefile.am): Substitute it.
44513         * lib/unistd.in.h (readlink): Declare replacement.
44514         * doc/posix-functions/readlink.texi (readlink): Document this.
44515
44516         symlink: use throughout gnulib
44517         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
44518         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
44519         symlink is not used.
44520         * modules/symlinkat (Depends-on): Add symlink.
44521         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
44522         * modules/canonicalize-tests (Depends-on): Likewise.
44523         * modules/lstat-tests (Depends-on): Likewise.
44524         * modules/openat-tests (Depends-on): Likewise.
44525         * modules/remove-tests (Depends-on): Likewise.
44526         * modules/rmdir-tests (Depends-on): Likewise.
44527         * modules/unlink-tests (Depends-on): Likewise.
44528         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
44529         * tests/test-canonicalize.c (symlink): Likewise.
44530         * tests/test-fstatat.c (symlink): Likewise.
44531         * tests/test-lstat.c (symlink): Likewise.
44532         * tests/test-remove.c (symlink): Likewise.
44533         * tests/test-rmdir.c (symlink): Likewise.
44534         * tests/test-unlink.c (symlink): Likewise.
44535         * tests/test-unlinkat.c (symlink): Likewise.
44536
44537         symlink: new module, for Solaris 9 bug
44538         * modules/symlink: New file.
44539         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
44540         * lib/symlink.c: Likewise.
44541         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
44542         * modules/unistd (Makefile.am): Substitute them.
44543         * lib/unistd.in.h (symlink): Declare replacement.
44544         * MODULES.html.sh (File system functions): Mention it.
44545         * doc/posix-functions/symlink.texi (symlink): Likewise.
44546         * modules/symlink-tests: New test.
44547         * tests/test-symlink.c: Likewise.
44548
44549 2009-09-23  Bruno Haible  <bruno@clisp.org>
44550
44551         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
44552         when needed.
44553         Test case: gnulib-tool --import --with-tests atexit inttypes.
44554         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
44555
44556 2009-09-23  Bruno Haible  <bruno@clisp.org>
44557
44558         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
44559         subcommand, not in a subshell.
44560
44561 2009-09-22  Eric Blake  <ebb9@byu.net>
44562
44563         unistd: sort replacement declarations
44564         * lib/unistd.in.h: Sort declarations.
44565
44566         open, openat: minor optimization
44567         * lib/open.c (open): If open succeeded, len is non-zero.
44568         * lib/openat.c (rpl_openat): Likewise.
44569
44570         link-follow: ensure correct result
44571         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
44572         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
44573         distinguish between possible failures.
44574
44575 2009-09-21  Eric Blake  <ebb9@byu.net>
44576
44577         fts: avoid compiler warning
44578         * lib/fts.c (dirent_inode_sort_may_be_useful)
44579         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
44580
44581 2009-09-19  Bruno Haible  <bruno@clisp.org>
44582
44583         * lib/progreloc.c (canonicalize_file_name): New declaration.
44584
44585 2009-09-19  Eric Blake  <ebb9@byu.net>
44586
44587         link: fix quoting
44588         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
44589
44590         openat: fix openat bugs on Solaris 9
44591         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
44592         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
44593         * modules/openat (Depends-on): Add open.
44594         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
44595         * modules/fcntl-h (Makefile.am): Substitute it.
44596         * lib/fcntl.in.h (openat): Declare replacement.
44597         * doc/posix-functions/openat.texi (openat): Document this.
44598
44599         openat: move fstatat and unlinkat into correct files
44600         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
44601         compiled.
44602         * lib/openat.c (fstatat, unlinkat): Move...
44603         * lib/fstatat.c (fstatat): ...into correct files.
44604         * lib/unlinkat.c (unlinkat): Likewise.
44605
44606         openat: fix unlinkat bugs on Solaris 9
44607         * lib/unlinkat.c (unlinkat): New file.
44608         * modules/openat (Depends-on): Add unlink.
44609         (Files): Distribute it.
44610         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
44611         trailing slash behavior is broken.
44612         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
44613         * modules/unistd (Makefile.am): Substitute it.
44614         * lib/unistd.in.h (unlinkat): Declare replacement.
44615         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
44616
44617         openat: fix fstatat bugs on Solaris 9
44618         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
44619         stat.
44620         * doc/posix-functions/fstatat.texi (fstatat): Document this.
44621
44622         test-unlinkat: enhance test, to expose Solaris 9 bug
44623         * tests/test-unlink.c (main): Factor guts...
44624         * tests/test-unlink.h (test_rmdir_func): ...into new file.
44625         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
44626         * tests/test-rmdir.c (main): Adjust caller.
44627         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
44628         (unlinker): New helper function.
44629         (rmdirat): Enhance check.
44630         * modules/rmdir-tests (Depends-on): Add stdbool.
44631         * modules/unlink-tests (Depends-on): Likewise.
44632         (Files): Add test-unlink.h.
44633         * modules/openat-tests (Files): Likewise.
44634         (Depends-on): Add unlinkdir.
44635
44636         test-fstatat: new test, to expose Solaris 9 bugs
44637         * tests/test-stat.c (main): Factor guts...
44638         * tests/test-stat.h (test_stat_func): ...into new file.
44639         * tests/test-lstat.c (main): Factor guts...
44640         * tests/test-lstat.h (test_lstat_func): ...into new file.
44641         * tests/test-fstatat.c: New file.
44642         * modules/stat-tests (Files): Add test-stat.h.
44643         * modules/lstat-tests (Files): Add test-lstat.h.
44644         (Depends-on): Add stdbool.
44645         * modules/openat-tests (Depends-on): Add pathmax.
44646         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
44647         (Makefile.am): Run new test.
44648
44649         remove: new module, for mingw and Solaris 9 bugs
44650         * modules/remove: New file.
44651         * lib/remove.c: Likewise.
44652         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
44653         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
44654         * modules/stdio (Makefile.am): Use them.
44655         * lib/stdio.in.h (remove): Declare replacement.
44656         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
44657         * doc/posix-functions/remove.texi (remove): Likewise.
44658         * modules/remove-tests: New test.
44659         * tests/test-remove.c: Likewise.
44660
44661         unlink: new module, for Solaris 9 bug
44662         * modules/unlink: New file.
44663         * lib/unlink.c: Likewise.
44664         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
44665         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
44666         * modules/unistd (Makefile.am): Use them.
44667         * lib/unistd.in.h (stat): Declare replacement.
44668         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
44669         * doc/posix-functions/unlink.texi (unlink): Likewise.
44670         * modules/unlink-tests: New test.
44671         * tests/test-unlink.c: Likewise.
44672
44673         lstat: fix Solaris 9 bug
44674         * lib/lstat.c (lstat): Also check for trailing slash on
44675         non-symlink, non-directories.  Use stat module to simplify logic.
44676         * doc/posix-functions/lstat.texi (lstat): Document it.
44677         * modules/lstat-tests (Depends-on): Add errno, same-inode.
44678         (configure.ac): Check for symlink.
44679         * tests/test-lstat.c (main): Add more tests.
44680
44681         stat: add as dependency to other modules
44682         * modules/chown (Depends-on): Add stat.
44683         * modules/euidaccess (Depends-on): Likewise.
44684         * modules/fchdir (Depends-on): Likewise.
44685         * modules/isdir (Depends-on): Likewise.
44686         * modules/link (Depends-on): Likewise.
44687         * modules/lstat (Depends-on): Likewise.
44688         * modules/mkdir-p (Depends-on): Likewise.
44689         * modules/modechange (Depends-on): Likewise.
44690         * modules/open (Depends-on): Likewise.
44691         * modules/readlink (Depends-on): Likewise.
44692         * modules/same (Depends-on): Likewise.
44693
44694         stat: fix Solaris 9 bug
44695         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
44696         slash.
44697         * lib/stat.c (rpl_stat): Work around it.
44698         * doc/posix-functions/stat.texi (stat): Update documentation.
44699
44700         stat: new module, for mingw bug
44701         * modules/stat: New file.
44702         * lib/stat.c: Likewise.
44703         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
44704         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
44705         * modules/sys_stat (Makefile.am): Use them.
44706         * lib/sys_stat.in.h (stat): Declare replacement.
44707         * lib/openat.c (fstatat): Deal with lstat and stat being function
44708         macros.
44709         * modules/openat (Depends-on): Add inline.
44710         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
44711         * doc/posix-functions/stat.texi (stat): Likewise.
44712         * modules/stat-tests: New test.
44713         * tests/test-stat.c: Likewise.
44714
44715 2009-09-19  Jim Meyering  <meyering@redhat.com>
44716
44717         syntax-check: detect unnecessary inclusion of canonicalize.h
44718         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
44719
44720 2009-09-19  Eric Blake  <ebb9@byu.net>
44721
44722         canonicalize-lgpl: adjust clients to use correct header
44723         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
44724         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
44725         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
44726         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
44727         * lib/progreloc.c (includes): Likewise.
44728
44729 2009-09-19  Jim Meyering  <meyering@redhat.com>
44730
44731         test-posixtm.c: correct a comment
44732         * tests/test-posixtm.c: Correct first-line comment.
44733         Spotted by Eric Blake.
44734
44735 2009-09-16  Jim Meyering  <meyering@redhat.com>
44736
44737         posixtm-tests: make T const-correct; add a test case
44738         * tests/test-posixtm.c (T): Declare const.
44739         Add a test for -(2^31+1).
44740         Remove useless can-succeed-only-in-2002 test.
44741
44742         posixtm-tests: adjust the sole failing test
44743         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
44744         expected output matches what mktime now produces.  Cross-checked via
44745         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
44746
44747         posixtm: move #ifdef'd tests into a new module
44748         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
44749         * tests/test-posixtm.c: ... this new file.
44750         * modules/posixtm-tests: New module.
44751
44752 2009-09-19  Eric Blake  <ebb9@byu.net>
44753
44754         openat: simplify use of at-func.c
44755         * lib/at-func.c (includes): Include prerequisites here, to
44756         simplify requirements on client files.
44757         * lib/openat-priv.h: Add double-inclusion guard.
44758         * lib/faccessat.c (includes): Simplify.
44759         * lib/fchmodat.c (includes): Likewise.
44760         * lib/fchownat.c (includes): Likewise.
44761         * lib/mkdirat.c (includes): Likewise.
44762         * lib/mkfifoat.c (includes): Likewise.
44763         * lib/symlinkat.c (includes): Likewise.
44764
44765         openat: allow return of fd 0
44766         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
44767         * modules/save-cwd (Depends-on): Replace fcntl-safer with
44768         unistd-safer.
44769         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
44770         <fcntl.h>; this module does not leak fds.
44771         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
44772         must be allowed to return 0, leaving openat_safer to add the
44773         safety.
44774         (openat_permissive): Avoid writing to just-opened fd 2 if
44775         restoring the current directory fails.
44776         * lib/openat-die.c (openat_restore_fail): Add comment.
44777         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
44778         (save_cwd): Guarantee safe fd, but without use of open_safer.
44779         * tests/test-openat.c: New test.
44780         * modules/openat-tests (Files, Makefile.am): Distribute and build
44781         new file.
44782
44783         relocatable-prog-wrapper: fix build
44784         * modules/relocatable-prog-wrapper (Files): Update name of
44785         canonicalize m4 file, broken on 2009-09-17.
44786         Reported by emad hajjar <aleppos@hotmail.com>.
44787
44788 2009-09-19  Bruno Haible  <bruno@clisp.org>
44789
44790         * lib/safe-alloc.h: Use the standard header with GPL copyright.
44791         * lib/safe-alloc.c: Likewise.
44792         Reported by Ian Beckwith <ianb@erislabs.net>.
44793
44794 2009-09-18  Bruno Haible  <bruno@clisp.org>
44795
44796         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
44797         Reported by <erobles@sensacd.com.mx>.
44798
44799 2009-09-17  Eric Blake  <ebb9@byu.net>
44800
44801         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
44802         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
44803         slashes when checking if last component is missing.
44804         * tests/test-canonicalize.c (main): Test this.
44805
44806         canonicalize, canonicalize-lgpl: honor // if distinct from /
44807         * modules/canonicalize (Files): Add double-slash-root.m4.
44808         * modules/canonicalize-lgpl (Files): Likewise.
44809         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
44810         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
44811         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
44812         fallback definition.
44813         (canonicalize_filename_mode): Use it to protect //.
44814         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
44815         (__realpath): Likewise.
44816         * tests/test-canonicalize.c (main): Test this.
44817         * tests/test-canonicalize-lgpl.c (main): Likewise.
44818         * modules/canonicalize-tests (Depends-on): Add same-inode.
44819         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
44820
44821         canonicalize-lgpl: fix glibc bug with trailing slash
44822         * m4/canonicalize-lgpl.m4: Move contents...
44823         * m4/canonicalize.m4: ...here.
44824         (gl_CANONICALIZE_LGPL): Factor realpath check...
44825         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
44826         glibc 2.3.5 bug, fixed 2005-04-27.
44827         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
44828         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
44829         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
44830         * modules/canonicalize-lgpl (Files): Manage file rename.
44831         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
44832         * modules/stdlib (Makefile.am): Substitute witness.
44833         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
44834         is needed.
44835         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
44836         replacement is required.
44837         * lib/canonicalize.c (canonicalize_file_name): Likewise.
44838         * doc/glibc-functions/canonicalize_file_name.texi
44839         (canonicalize_file_name): Document this.
44840         * doc/posix-functions/realpath.texi (realpath): Likewise.
44841
44842         canonicalize-lgpl: reject non-directory with trailing slash
44843         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
44844         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
44845         catches failures in glibc 2.3.5.
44846         * tests/test-canonicalize.c (main): Likewise.
44847
44848         canonicalize-lgpl: use native realpath if it works
44849         * lib/canonicalize-lgpl.c (realpath): Guard with
44850         FUNC_REALPATH_WORKS.
44851         * lib/stdlib.in.h (realpath): Make declaration optional based on
44852         HAVE_REALPATH.
44853         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
44854         native realpath works.
44855         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
44856         * modules/stdlib (Makefile.am): Substitute witness.
44857
44858         canonicalize, canonicalize-lgpl: use <stdlib.h>
44859         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
44860         (Include): Mention <stdlib.h>.
44861         (configure.ac): Mention functions we provide.
44862         * modules/canonicalize (configure.ac): Likewise.
44863         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
44864         realpath if canonicalize_file_name is missing.
44865         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
44866         * modules/stdlib (Makefile.am): Substitute witnesses.
44867         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
44868         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
44869         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
44870         * NEWS: Document this.
44871         * doc/glibc-functions/canonicalize_file_name.texi
44872         (canonicalize_file_name): Likewise.
44873         * doc/posix-functions/realpath.texi (realpath): Likewise.
44874         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
44875
44876         test-canonicalize: consolidate into single C program
44877         * tests/test-canonicalize.sh: Delete; move setup into...
44878         * tests/test-canonicalize.c (main): ...the program, making it
44879         easier to run in debugger.  Add some tests.
44880         * modules/canonicalize-tests (Files): Remove unused file.
44881         (Depends-on): Add progname.
44882         (configure.ac, Makefile.am): Simplify.
44883
44884         test-canonicalize-lgpl: consolidate into single C program
44885         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
44886         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
44887         easier to run in debugger.  Add some tests.
44888         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
44889         (configure.ac, Makefile.am): Simplify.
44890
44891         canonicalize: avoid resolvepath
44892         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
44893         unnecessary checks.
44894         * lib/canonicalize.c (includes): Simplify.
44895         (canonicalize_file_name): Drop resolvepath implementation.
44896         * modules/canonicalize (Depends-on): Drop filenamecat.
44897
44898         canonicalize: don't lose errno
44899         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
44900         over calls to free.
44901
44902         canonicalize: simplify errno handling
44903         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
44904         assignment.
44905
44906         canonicalize, canonicalize-lgpl: update module dependencies
44907         * modules/canonicalize (Depends-on): Add extensions, lstat,
44908         pathmax, stdlib.
44909         (Files): Drop pathmax.h.
44910         (configure.ac): Adjust macro name.
44911         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
44912         lstat, stdlib, sys_stat.
44913         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
44914         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
44915         extensions.
44916         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
44917         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
44918         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
44919         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
44920         declaration, if available.
44921         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
44922         we can rely on the readlink module.
44923         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
44924         (includes): Use <unistd.h> unconditionally.
44925
44926 2009-09-17  Eric Blake  <ebb9@byu.net>
44927
44928         maint: make Include sections of modules consistent
44929         * modules/alloca: Use only header name; no need to list #include.
44930         * modules/alloca-opt: Likewise.
44931         * modules/arpa_inet: Likewise.
44932         * modules/canon-host: Likewise.
44933         * modules/configmake: Likewise.
44934         * modules/dirent: Likewise.
44935         * modules/eealloc: Likewise.
44936         * modules/environ: Likewise.
44937         * modules/fchdir: Likewise.
44938         * modules/fcntl: Likewise.
44939         * modules/fcntl-h: Likewise.
44940         * modules/gethrxtime: Likewise.
44941         * modules/gettime: Likewise.
44942         * modules/ignore-value: Likewise.
44943         * modules/inet_ntop: Likewise.
44944         * modules/inet_pton: Likewise.
44945         * modules/inttypes: Likewise.
44946         * modules/isnand-nolibm: Likewise.
44947         * modules/isnanf-nolibm: Likewise.
44948         * modules/mbchar: Likewise.
44949         * modules/mbfile: Likewise.
44950         * modules/mbiter: Likewise.
44951         * modules/mbuiter: Likewise.
44952         * modules/netdb: Likewise.
44953         * modules/netinet_in: Likewise.
44954         * modules/nproc: Likewise.
44955         * modules/pagealign_alloc: Likewise.
44956         * modules/poll: Likewise.
44957         * modules/printf-frexp: Likewise.
44958         * modules/pthread: Likewise.
44959         * modules/putenv: Likewise.
44960         * modules/random_r: Likewise.
44961         * modules/relocatable-prog: Likewise.
44962         * modules/search: Likewise.
44963         * modules/select: Likewise.
44964         * modules/selinux-h: Likewise.
44965         * modules/settime: Likewise.
44966         * modules/signal: Likewise.
44967         * modules/size_max: Likewise.
44968         * modules/socklen: Likewise.
44969         * modules/ssize_t: Likewise.
44970         * modules/stdarg: Likewise.
44971         * modules/stdbool: Likewise.
44972         * modules/stddef: Likewise.
44973         * modules/stdint: Likewise.
44974         * modules/stdio: Likewise.
44975         * modules/stdlib: Likewise.
44976         * modules/string: Likewise.
44977         * modules/strings: Likewise.
44978         * modules/sys_file: Likewise.
44979         * modules/sys_ioctl: Likewise.
44980         * modules/sys_select: Likewise.
44981         * modules/sys_socket: Likewise.
44982         * modules/sys_stat: Likewise.
44983         * modules/sys_time: Likewise.
44984         * modules/sys_times: Likewise.
44985         * modules/sys_utsname: Likewise.
44986         * modules/sys_wait: Likewise.
44987         * modules/sysexits: Likewise.
44988         * modules/time: Likewise.
44989         * modules/times: Likewise.
44990         * modules/tmpfile: Likewise.
44991         * modules/trim: Likewise.
44992         * modules/unistd: Likewise.
44993         * modules/wchar: Likewise.
44994         * modules/wctype: Likewise.
44995
44996 2009-09-17  Bruno Haible  <bruno@clisp.org>
44997
44998         Make getdate.y compile on QNX and NetBSD 5 / i386.
44999         * m4/getdate.m4 (gl_GETDATE): Conditionally define
45000         TIME_T_FITS_IN_LONG_INT.
45001         * lib/getdate.y (long_time_t): New type.
45002         (relative_time): Change type of 'seconds' field to long_time_t.
45003         (get_date): Update types of local variables. Check against overflow
45004         during conversion from long_time_t to time_t.
45005         Reported by Matt Kraai <kraai@ftbfs.org>
45006         and Hasso Tepper <hasso@netbsd.org>.
45007
45008 2009-09-17  Bruno Haible  <bruno@clisp.org>
45009
45010         * modules/COPYING: Update copyright years.
45011         * modules/README: Likeiwse.
45012         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
45013         Reported by Ian Beckwith <ianb@erislabs.net>.
45014
45015 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
45016
45017         * users.txt: Update references for gnuit package.
45018
45019 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
45020
45021         * m4/getdelim.m4: Fix typo in copyright line.
45022
45023 2009-09-17  Bruno Haible  <bruno@clisp.org>
45024
45025         * lib/atoll.c: Use the standard header with GPL copyright.
45026         * lib/argz.in.h: Likewise.
45027         * lib/glob.c: Likewise.
45028         * lib/glob-libc.h: Likewise.
45029         * lib/random_r.c: Likewise.
45030         * lib/siglist.h: Likewise.
45031         * lib/strsignal.c: Likewise.
45032         Reported by Ian Beckwith <ianb@erislabs.net>.
45033
45034 2009-09-17  Eric Blake  <ebb9@byu.net>
45035
45036         rmdir: ensure correct dependency order
45037         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
45038
45039 2009-09-17  Bruno Haible  <bruno@clisp.org>
45040
45041         Disable assertion that fails on NetBSD 5 / i386.
45042         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
45043         Reported by Sam Steingold <sds@gnu.org>
45044         and Hasso Tepper <hasso@netbsd.org>.
45045
45046 2009-09-16  Eric Blake  <ebb9@byu.net>
45047
45048         unlinkdir: port to mingw
45049         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
45050         on which no one can unlink a directory.
45051
45052         stdlib: sort witness names
45053         * modules/stdlib (Makefile.am): Sort replacements.
45054         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
45055         * lib/stdlib.in.h: Likewise.
45056
45057         parse-duration-tests: avoid link failure
45058         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
45059         LIBINTL.
45060         Reported by Tom G. Christensen.
45061
45062         openat-tests: ensure unlinkat behaves like rmdir
45063         * tests/test-rmdir.c (main): Factor guts...
45064         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
45065         * modules/rmdir-tests (Files): Ship new file.
45066         * modules/openat-tests: New test.
45067         * tests/test-unlinkat.c: Likewise.
45068
45069         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
45070         * modules/rmdir-errno (Status, Notice): Now obsolete.
45071
45072         rmdir: work around cygwin 1.5.x and mingw bugs
45073         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
45074         * lib/rmdir.c (rmdir): Work around it.
45075         * modules/rmdir (Status, Notice): No longer obsolete.
45076         (Files): Add dos.m4.
45077         (Depends-on): Add unistd.
45078         (configure.ac): Set witnesses.
45079         (License): Relax to LGPLv2+.
45080         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
45081         * modules/unistd (Makefile.am): Substitute witnesses.
45082         * lib/unistd.in.h (rmdir): Declare replacement.
45083         * doc/posix-functions/rmdir.texi (rmdir): Document this.
45084         * modules/rmdir-tests: New tests.
45085         * tests/test-rmdir.c: Likewise.
45086
45087 2009-09-15  Eric Blake  <ebb9@byu.net>
45088
45089         fchdir: improve use of replacement functions
45090         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
45091         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
45092         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
45093         REPLACE_CLOSEDIR.
45094         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
45095         * modules/sys_stat (Makefile.am): Substitute correct witness.
45096         * modules/dirent (Makefile.am): Likewise.
45097         * modules/unistd (Makefile.am): Likewise.
45098         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
45099         * lib/unistd.in.h (dup): Likewise.
45100         * lib/sys_stat.in.h (fstat): Likewise.
45101
45102         maint: ignore gnulib-tool temp files
45103         * .gitignore: Ignore files created during gnulib-tool --test.
45104
45105 2009-09-13  Jim Meyering  <meyering@redhat.com>
45106
45107         posixtm: don't reject a time that specify "60" as the number of seconds
45108         * lib/posixtm.c (posixtime): The code to reject invalid dates
45109         would also reject a time specified with the .60 suffix.
45110         But POSIX allows that, in order to accommodate leap seconds.
45111         So don't reject it.
45112         (main): Adjust tests accordingly.
45113         * modules/posixtm (Depends-on): Add stpcpy.
45114
45115 2009-09-11  Jim Meyering  <meyering@redhat.com>
45116
45117         announce-gen: include [$release_type] in emitted Subject:
45118         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
45119         e.g., [stable] in the emitted Subject: line.
45120
45121 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45122
45123         Remove obsolete macros from several modules.
45124         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
45125         obsolete Autoconf macros with their modern counterparts.
45126         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
45127         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
45128         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
45129         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
45130         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
45131         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
45132         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
45133         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
45134         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
45135         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
45136         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
45137         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
45138         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
45139         * m4/sockets.m4 (gl_SOCKETS): Likewise.
45140         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
45141         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
45142         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
45143         * m4/time_r.m4 (gl_TIME_R): Likewise.
45144         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
45145         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
45146         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
45147
45148         Fix copyright header in build-aux scripts.
45149         * build-aux/git-version-gen: Fix copyright header to match GPLv3
45150         recommendation.
45151         * build-aux/ncftpput-ftp: Likewise.
45152         * build-aux/update-copyright: Likewise.
45153
45154 2009-09-09  Eric Blake  <ebb9@byu.net>
45155
45156         test-link: allow Linux choice of errno
45157         * tests/test-link.c (main): Relax test for alternate error.
45158
45159         strndup: fix improper m4 caching
45160         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
45161         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
45162         (gl_PREREQ_STRNDUP): Delete.
45163         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
45164         * modules/string (Makefile.am): Substitute it.
45165         * lib/string.in.h (strndup): Modernize prototype.
45166
45167         getcwd: port to mingw
45168         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
45169         different from the POSIX assumptions made throughout the getcwd
45170         module; fortunately, the mingw getcwd does not need replacement.
45171         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
45172         * modules/getcwd-tests: New test.
45173         * tests/test-getcwd.c: Likewise.
45174
45175         link: fix platform bugs
45176         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
45177         * lib/link.c (link): Work around them.  Fix related mingw bug.
45178         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
45179         * modules/unistd (Makefile.am): Substitute it.
45180         * lib/unistd.in.h (link): Declare replacement.
45181         * doc/posix-functions/link.texi (link): Document this.
45182         * modules/link (Depends-on): Add strdup-posix, sys_stat.
45183
45184         test-link: consolidate into single C program, test more cases
45185         * tests/test-link.sh: Delete.
45186         * tests/test-link.c: Test more error conditions.  Exposes bugs on
45187         at least Cygwin and Solaris.
45188         * modules/link-tests (Files): Remove unused file.
45189         (Depends-on): Add errno, sys_stat.
45190         (Makefile.am): Simplify.
45191
45192 2009-09-08  Bruno Haible  <bruno@clisp.org>
45193
45194         Work around towlower, towupper bug on mingw.
45195         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
45196         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
45197         * doc/posix-functions/towlower.texi: Mention the mingw bug.
45198         * doc/posix-functions/towupper.texi: Likewise.
45199         Reported by Eric Blake.
45200
45201 2009-09-08  Jim Meyering  <meyering@redhat.com>
45202
45203         build: don't try to run autoheader if we don't use it
45204         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
45205         is not used in configure.ac.
45206
45207 2009-09-08  Eric Blake  <ebb9@byu.net>
45208
45209         euidaccess: fix compilation error
45210         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
45211
45212         rawmemchr: relax license
45213         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
45214         okay.
45215         Reported by Jim Meyering.
45216
45217         mkfifoat: new module
45218         * modules/mkfifoat: New file.
45219         * lib/mkfifoat.c: Likewise.
45220         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
45221         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
45222         * modules/sys_stat (Makefile.am): Use them.
45223         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
45224         * MODULES.html.sh (File system functions): Mention module.
45225         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
45226         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
45227         * modules/mkfifoat-tests: New test.
45228         * tests/test-mkfifoat.c: Likewise.
45229
45230         strchrnul: relax license
45231         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
45232         okay.
45233         Reported by Jim Meyering.
45234
45235 2009-09-08  Eric Blake  <ebb9@byu.net>
45236
45237         fstatat: fix compilation on Solaris
45238         * lib/fstatat.c (includes): Add fcntl.h.
45239         Reported by Pádraig Brady.
45240
45241 2009-09-07  Eric Blake  <ebb9@byu.net>
45242
45243         rename: modernize replacement
45244         * modules/rename (Depends-on): Add stdio.
45245         (configure.ac): Declare witness.
45246         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
45247         stdio take care of replacement.
45248         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
45249         * modules/stdio (Makefile.am): Substitute them.
45250         * lib/stdio.in.h (rename): Declare replacement.
45251         * lib/rename.c (includes): Allow cross-compilation to non-windows
45252         machines.
45253         * doc/posix-functions/rename.texi (rename): Improve
45254         documentation.
45255
45256         stdio: sort witness names
45257         * modules/stdio (Makefile.am): Sort replacements.
45258         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
45259         * lib/stdio.in.h: Likewise.
45260
45261         getcwd: minor cleanups
45262         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
45263         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
45264
45265         openat: provide more convenience names
45266         * modules/faccessat (configure.ac): Add C witness.
45267         * lib/unistd.in.h (readlinkat): Fix typo.
45268         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
45269         convenience wrappers.
45270         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
45271         wrappers in syntax checks.
45272
45273 2009-09-06  Eric Blake  <ebb9@byu.net>
45274
45275         doc: fix comments in recent patches
45276         * lib/faccessat.c: Mention correct function.
45277         * lib/fchmodat.c: Likewise.
45278         * lib/fchownat.c: Likewise.
45279         * lib/symlinkat.c: Likewise.
45280         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
45281         constants.
45282
45283         faccessat, symlinkat: continue cleanup of previous patch
45284         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
45285         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
45286         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
45287         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
45288         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
45289         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
45290         set.
45291
45292 2009-09-06  Bruno Haible  <bruno@clisp.org>
45293
45294         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
45295         (fstatat): Declare if GNULIB_FSTATAT is set.
45296         (mkdirat): Declare if GNULIB_MKDIRAT is set.
45297         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
45298         (unlinkat): Declare if GNULIB_UNLINKAT is set.
45299         * modules/fcntl-h (Files): Remove m4/openat.m4.
45300         * modules/sys_stat (Files): Remove m4/openat.m4.
45301         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
45302         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
45303         * modules/unistd (Files): Remove m4/openat.m4.
45304         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
45305         GNULIB_OPENAT.
45306         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
45307         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
45308         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
45309         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
45310         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
45311         gl_OPENAT_DEFAULTS.
45312         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
45313         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
45314         Don't require gl_OPENAT_DEFAULTS.
45315         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
45316         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
45317         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
45318         (gl_OPENAT_DEFAULTS): Remove macro.
45319
45320 2009-09-06  Bruno Haible  <bruno@clisp.org>
45321
45322         * modules/openat (configure.ac): Remove unneeded witness.
45323
45324 2009-09-06  Bruno Haible  <bruno@clisp.org>
45325
45326         Set errno to ENOSYS when a function is entirely unsupported.
45327         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
45328         EOPNOTSUPP.
45329         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
45330         * modules/chown (Depends-on): Remove errno.
45331
45332 2009-09-06  Bruno Haible  <bruno@clisp.org>
45333
45334         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
45335
45336 2009-09-06  Bruno Haible  <bruno@clisp.org>
45337
45338         * lib/sys_stat.in.h: Fix preprocessor command indentation.
45339
45340 2009-09-06  Ben Pfaff  <blp@gnu.org>
45341             Bruno Haible  <bruno@clisp.org>
45342
45343         Work around a glibc bug in strtok_r.
45344         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
45345         Undefine if UNDEFINE_STRTOK_R is set.
45346         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
45347         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
45348         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
45349         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
45350         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
45351         UNDEFINE_STRTOK_R.
45352         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
45353
45354 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
45355
45356         exclude: minor fix
45357         * lib/exclude.c: Include wctype.h
45358
45359 2009-09-06  Akim Demaille  <demaille@gostai.com>
45360
45361         bootstrap: improve error message
45362         * build-aux/bootstrap (find_tool): Upon failure, report the list
45363         of candidates.
45364         Honor the initial value of the envvar.
45365
45366 2009-09-05  Eric Blake  <ebb9@byu.net>
45367
45368         symlinkat: new module
45369         * modules/symlinkat: New file.
45370         * lib/symlinkat.c: Likewise.
45371         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
45372         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
45373         * modules/unistd (Makefile.am): Use them.
45374         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
45375         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
45376         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
45377         * MODULES.html.sh (File system functions): Mention module.
45378         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
45379         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
45380         * modules/symlinkat-tests: New test.
45381         * tests/test-symlinkat.c: Likewise.
45382
45383         test-openat-safer: add more checks
45384         * tests/test-openat-safer.c (main): Check more code paths.
45385
45386 2009-09-05  Jim Meyering  <meyering@redhat.com>
45387
45388         syntax-check: detect unnecessary inclusion of openat.h
45389         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
45390
45391 2009-09-05  Bruno Haible  <bruno@clisp.org>
45392
45393         Support towlower, towupper.
45394         * doc/posix-functions/towlower.texi: Mention module wctype.
45395         * doc/posix-functions/towupper.texi: Likewise.
45396         * lib/wctype.in.h (towlower, towupper): New functions.
45397         * tests/test-wctype.c: Include stdio.h, stdlib.h.
45398         (ASSERT): New macro.
45399         (e): New variable.
45400         (main): Test also towlower, towupper. Test WEOF argument.
45401         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
45402
45403 2009-09-05  Bruno Haible  <bruno@clisp.org>
45404
45405         Fix conversion behaviour when the input is invalid.
45406         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
45407         mark occurring in first pass of indirect conversion.
45408         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
45409         input.
45410         Found by clang's static analyzer.
45411
45412 2009-09-05  Bruno Haible  <bruno@clisp.org>
45413
45414         * tests/test-striconveh.c (main): Test indirect conversion on platforms
45415         where direct conversion is possible.
45416
45417 2009-09-04  Eric Blake  <ebb9@byu.net>
45418
45419         openat: fail with ENOENT on empty name
45420         * lib/openat-proc.c (openat_proc_name): Special-case the empty
45421         buffer.
45422
45423         link-follow: fix logic bug in prior patch
45424         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
45425         reversed sense of yes and no in prior patch.  Avoid confusing
45426         compilation failure with desired semantics.
45427
45428         link-follow: accommodate mingw and cross-compilation
45429         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
45430         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
45431         cross-compilation results to -1, to make linkat easier to
45432         implement when cross-compiling.  Trivially support mingw.
45433         * modules/link-follow (configure.ac): Call new name.
45434         * NEWS: Mention this.
45435
45436 2009-09-03  Eric Blake  <ebb9@byu.net>
45437
45438         faccessat: compile replacement
45439         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
45440         needed.
45441
45442         fts: fix compilation error
45443         * lib/fts.c (includes): Re-add "openat.h", for
45444         openat_needs_fchdir.
45445
45446         faccessat: new module
45447         * modules/faccessat: New file.
45448         * lib/faccessat.c: Likewise.
45449         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
45450         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
45451         * modules/unistd (Makefile.am): Use it.
45452         * lib/unistd.in.h (faccessat): Declare it.
45453         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
45454         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
45455         * MODULES.html.sh (File system functions): Mention it.
45456         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
45457         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
45458
45459         euidaccess: prefer POSIX over non-standard implementation
45460         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
45461         * lib/euidaccess.c (euidaccess): Use it if available.
45462
45463         openat: make template easier to use
45464         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
45465         AT_FUNC_F2 to be undefined.
45466         (VALIDATE_FLAG): New macro; use it to reject bad flags.
45467         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
45468         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
45469         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
45470         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
45471         Likewise.
45472         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
45473         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
45474         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
45475         Likewise.
45476
45477         openat: declare in POSIX headers
45478         * NEWS: Mention this.
45479         * modules/openat (configure.ac): Declare witnesses.
45480         (Depends-on): Add fcntl-h, sys_stat, unistd.
45481         (Include): Mention correct headers.
45482         * modules/fcntl-h (Depends-on): Add link-warning.
45483         (Files): Add openat.m4.
45484         (Makefile.am): Substitute witnesses.
45485         * modules/sys_stat (Files, Makefile.am): Likewise.
45486         * modules/unistd (Files, Makefile.am): Likewise.
45487         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
45488         (gl_OPENAT_DEFAULTS): New macro.
45489         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
45490         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
45491         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
45492         (SYS_STAT_H): Remove unused variable.
45493         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
45494         * lib/fcntl--.h (includes): Remove unneeded header.
45495         * lib/openat-safer.c (includes): Likewise.
45496         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
45497         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
45498         appropriate headers.
45499         (__OPENAT_PREFIX): Delete.
45500         * lib/fcntl.in.h (openat): Provide declaration.
45501         (AT_FDCWD): Fix Solaris bug.
45502         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
45503         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
45504         * lib/fchmodat.c (includes):  Adjust to find declaration.
45505         * lib/fchownat.c (includes): Likewise.
45506         * lib/mkdirat.c (includes): Likewise.
45507         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
45508         still visible.
45509
45510 2009-09-02  Eric Blake  <ebb9@byu.net>
45511
45512         errno: use consistently
45513         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
45514         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
45515         * lib/canonicalize.c (ELOOP): Likewise.
45516         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
45517         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
45518         * lib/lchown.c (EOPNOTSUPP): Likewise.
45519         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
45520         * lib/savewd.c (ESTALE): Likewise.
45521         * lib/settime.c (ENOSYS): Likewise.
45522         * lib/utimens.c (ENOSYS): Likewise.
45523         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
45524         * lib/chdir-safer.c (ELOOP): Likewise.
45525         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
45526         * modules/c-stack (Depends-on): Add errno.
45527         * modules/canonicalize (Depends-on): Likewise.
45528         * modules/chdir-safer (Depends-on): Likewise.
45529         * modules/fdopendir (Depends-on): Likewise.
45530         * modules/inet_ntop (Depends-on): Likewise.
45531         * modules/inet_pton (Depends-on): Likewise.
45532         * modules/lchown (Depends-on): Likewise.
45533         * modules/openat (Depends-on): Likewise.
45534         * modules/savewd (Depends-on): Likewise.
45535         * modules/settime (Depends-on): Likewise.
45536         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
45537
45538         fts: avoid leaking fds
45539         * modules/fts (Depends-on): Add cloexec.
45540         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
45541         flag.
45542
45543         fts: make directory fds more robust
45544         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
45545         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
45546
45547         backupfile, chdir-long, fts, savedir: make safer
45548         * lib/backupfile.c (includes): Use "dirent--.h", since
45549         numbered_backup can write to stderr during readdir.
45550         * lib/savedir.c (includes): Likewise.
45551         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
45552         emulation can write to stderr on failure.
45553         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
45554         * lib/getcwd.c: Document why opendir_safer is unused.
45555         * lib/glob.c: Likewise.
45556         * lib/scandir.c: Likewise.
45557         * lib/openat-proc.c: Likewise, for open_safer.
45558         * modules/backupfile (Depends-on): Add dirent-safer.
45559         * modules/savedir (Depends-on): Likewise.
45560         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
45561         * modules/chdir-long (Depends-on): Add openat-safer.
45562
45563         openat-safer: new module
45564         * modules/openat-safer: New file.
45565         * lib/openat-safer.c: Likewise.
45566         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
45567         * lib/fcntl-safer.h (openat_safer): Declare.
45568         * lib/fcntl--.h (openat): Override.
45569         * MODULES.html.sh (File descriptor based I/O): Mention it.
45570         * lib/openat.h: Add double-inclusion guards.
45571         * lib/openat.c (includes): Only include "fcntl-safer.h", not
45572         "fcntl--.h", so we can implement openat.
45573         * modules/openat-safer-tests: New test.
45574         * tests/test-openat-safer.c: New file.
45575
45576         dirent-safer: new module
45577         * modules/dirent-safer: New file.
45578         * lib/dirent--.h: Likewise.
45579         * lib/dirent-safer.h: Likewise.
45580         * lib/opendir-safer.c: Likewise.
45581         * m4/dirent-safer.m4: Likewise.
45582         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
45583         * modules/dirent-safer-tests: New test.
45584         * tests/test-dirent-safer.c: New file.
45585         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
45586
45587         fdopendir: optimize on mingw
45588         * lib/unistd.in.h (_gl_directory_name): New prototype.
45589         * lib/fchdir.c (_gl_directory_name): Implement it.
45590         (fchdir): Use it to simplify implementation.
45591         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
45592         fchdir, when available, to avoid calling [f]chdir().
45593
45594         fdopendir: split into its own module
45595         * lib/openat.c (fdopendir): Move...
45596         * lib/fdopendir.c: ...into new file.
45597         * modules/fdopendir: New module.
45598         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
45599         * modules/openat (Depends-on): Add fdopendir.
45600         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
45601         fdopendir here.
45602         * modules/savedir (Depends-on): Only need fdopendir, not full
45603         openat.
45604         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
45605         * lib/openat.h (fdopendir): Drop prototype.
45606         * lib/dirent.in.h (fdopendir): Provide prototype.
45607         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
45608         * modules/dirent (Makefile.am): Substitute them.
45609         * MODULES.html.sh (File system functions): Mention it.
45610         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
45611         * modules/fdopendir-tests: New file.
45612         * tests/test-fdopendir.c: Likewise.
45613
45614         fchdir: use more consistent macro convention
45615         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
45616         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
45617         REPLACE_FCHDIR, rather than relying on config.h macros.
45618         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
45619         inside a single make-time REPLACE_FCHDIR block, rather than using
45620         the config.h FCHDIR_REPLACEMENT.
45621         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
45622         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
45623         Manage fstat replacement.
45624         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
45625         REPLACE_FCHDIR.
45626         * modules/sys_stat (Files): Add m4/unistd_h.m4.
45627         (Makefile.am): Substitute REPLACE_FCHDIR.
45628         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
45629         FCHDIR_REPLACEMENT.
45630         * lib/dup-safer.c (dup_safer): Likewise.
45631         * lib/dup2.c (rpl_dup2): Likewise.
45632         * lib/dup3.c (rpl_dup3): Likewise.
45633         * lib/open.c (rpl_open): Likewise.
45634
45635         fchdir: simplify error handling, and support dup3
45636         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
45637         stdbool, malloc-posix, realloc-posix.
45638         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
45639         (ensure_dirs_slot): Return false on allocation failure.
45640         (rpl_dup2): Delete.
45641         (_gl_register_dup): New function.
45642         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
45643         (_gl_register_fd): Close fd on allocation failure.
45644         * lib/fcntl.in.h (_gl_register_fd): Update signature.
45645         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
45646         prototype.
45647         (rpl_dup2_fchdir): Delete prototype.
45648         * lib/open.c (open): Update caller.
45649         * lib/dup2.c (dup2): Track fchdir metadata.
45650         * lib/dup3.c (dup3): Likewise.
45651         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
45652         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
45653
45654 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45655
45656         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
45657         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
45658         don't pass arguments to AC_OUTPUT.
45659
45660 2009-09-02  Bruno Haible  <bruno@clisp.org>
45661
45662         * modules/mkdtemp (License): Relicense under LGPLv2+.
45663         Reported by Paolo Bonzini.
45664
45665 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45666
45667         Replace uses of obsolete autoconf macros in Jim's modules.
45668         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
45669         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
45670         can evoke a warning from autoconf when run with -Wobsolete
45671         enabled.  They were declared obsolete for good reasons (see
45672         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
45673         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
45674         should not continue using the deprecated macros.
45675         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
45676         obsolete Autoconf macros with modern counterparts.
45677         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
45678         * m4/dos.m4 (gl_AC_DOS): Likewise.
45679         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
45680         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
45681         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
45682         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
45683         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
45684         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
45685         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
45686         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
45687         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
45688         Likewise.
45689         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
45690         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
45691         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
45692         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
45693         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
45694         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
45695
45696 2009-09-01  Eric Blake  <ebb9@byu.net>
45697
45698         fchdir: fix off-by-one bug in previous patch
45699         * lib/fchdir.c (rpl_fstat): Use correct bounds.
45700         (_gl_unregister_fd): Delete useless if.
45701
45702 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
45703
45704         maint.mk: sort the list of syntax-check rules
45705         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
45706         easier to get a sense of progress when the rules are run sequentially
45707         and take a long time.
45708
45709 2009-09-01  Simon Josefsson  <simon@josefsson.org>
45710
45711         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
45712         * modules/netinet_in: Likewise.
45713         * modules/sys_file: Likewise.
45714         * modules/sys_ioctl: Likewise.
45715         * modules/sys_select: Likewise.
45716         * modules/sys_socket: Likewise.
45717         * modules/sys_stat: Likewise.
45718         * modules/sys_time: Likewise.
45719         * modules/sys_times: Likewise.
45720         * modules/sys_utsname: Likewise.
45721         * modules/sys_wait: Likewise.
45722
45723 2009-09-01  Jim Meyering  <meyering@redhat.com>
45724
45725         fts: help ensure that return values are not ignored
45726         * lib/fts_.h (__GNUC_PREREQ): Define.
45727         (__attribute_warn_unused_result__): Define.
45728         (fts_children, fts_close, fts_open, fts_read): Declare with
45729         __attribute_warn_unused_result__.
45730
45731         fts: fts_close now fails also when closing a dir file descriptor fails
45732         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
45733         and propagate to caller, along with errno.
45734
45735         announce-gen: correct formatting in --help output
45736         * build-aux/announce-gen (usage): Move the one-line description in
45737         --help output "up", to where it belongs, just after Usage:.
45738
45739 2009-08-31  Eric Blake  <ebb9@byu.net>
45740
45741         fchdir: port to mingw
45742         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
45743         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
45744         opened, then use a substitute.
45745         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
45746         replacement.
45747         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
45748         (_gl_register_fd): No need to check stat if open already filters
45749         all directories.
45750         (fchdir): Fix error condition to match POSIX.
45751         * modules/fchdir (Depends-on): Add sys_stat.
45752         * doc/posix-functions/open.texi (open): Document the limitation.
45753         * modules/fchdir-tests: New file.
45754         * tests/test-fchdir.c: Likewise.
45755
45756         canonicalize: allow cross-testing from cygwin to mingw
45757         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
45758         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
45759         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
45760         Likewise.
45761         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
45762         target does not support symlinks.
45763         * tests/test-canonicalize-lgpl.sh: Likewise.
45764
45765         chown: avoid compilation warning on mingw
45766         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
45767         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
45768         mingw.
45769         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
45770         * modules/chown (Depends-on): Add errno.
45771
45772 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
45773
45774         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
45775         command.
45776
45777 2009-08-31  Jim Meyering  <meyering@redhat.com>
45778
45779         canonicalize: remove useless initialization
45780         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
45781         initialization of local, "end".
45782
45783 2009-08-30  Bruno Haible  <bruno@clisp.org>
45784
45785         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
45786         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
45787         ENOSYS.
45788
45789 2009-08-30  Bruno Haible  <bruno@clisp.org>
45790
45791         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
45792         /usr/xpg4/bin/tr when it exists.
45793         * tests/test-pipe-filter-gi1.sh: Likewise.
45794
45795 2009-08-30  Bruno Haible  <bruno@clisp.org>
45796
45797         Work around deficient /usr/bin/id program on Solaris.
45798         * tests/test-file-has-acl.sh (ID): New variable.
45799         * tests/test-set-mode-acl.sh (ID): Likewise.
45800         * tests/test-copy-acl.sh (ID): Likewise.
45801         * tests/test-copy-file.sh (ID): Likewise.
45802
45803 2009-08-30  Bruno Haible  <bruno@clisp.org>
45804
45805         New module 'xstriconveh'.
45806         * lib/xstriconveh.h: New file.
45807         * lib/xstriconveh.c: New file.
45808         * modules/xstriconveh: New file.
45809
45810 2009-08-30  Bruno Haible  <bruno@clisp.org>
45811
45812         Make it easier to use mem_cd_iconveh.
45813         * lib/striconveh.h (iconveh_t): New type.
45814         (iconveh_open, iconveh_close): New declarations.
45815         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
45816         with a single 'const iconveh_t *' argument.
45817         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
45818         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
45819         with a single 'const iconveh_t *' argument.
45820         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
45821         * tests/test-striconveh.c (main): Update.
45822         * NEWS: Mention the change.
45823
45824 2009-08-30  Bruno Haible  <bruno@clisp.org>
45825
45826         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
45827         problem.
45828
45829 2009-08-30  Bruno Haible  <bruno@clisp.org>
45830
45831         Work around iconv_open problem on Solaris.
45832         * lib/iconv_open-solaris.gperf: New file.
45833         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
45834         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
45835         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
45836         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
45837         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
45838         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
45839
45840 2009-08-29  Jim Meyering  <meyering@redhat.com>
45841
45842         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
45843         * top/maint.mk (cvs-check): Remove target; it was just an alias
45844         to the better-named vc-diff-check.
45845         (maintainer-distcheck): Remove rule.  It was used only from
45846         the (alpha/beta/major) target, and all of its commands but one
45847         were coreutils-specific.
45848         (vc-dist): Remove rule.
45849         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
45850         Run vc-diff-check, not vc-dist.
45851         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
45852
45853 2009-08-27  Bruno Haible  <bruno@clisp.org>
45854
45855         * tests/test-bitrotate.c (main): Remove test that uses a shift count
45856         of 0.
45857
45858 2009-08-27  Bruno Haible  <bruno@clisp.org>
45859
45860         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
45861         compilers.
45862         * doc/func.texi: Document the SunPRO C bug.
45863
45864 2009-08-27  Bruno Haible  <bruno@clisp.org>
45865
45866         Fix link error on Solaris.
45867         * tests/test-parse-duration.c (xstrdup): Remove function.
45868
45869 2009-08-26  Pádraig Brady  <P@draigbrady.com>
45870
45871         ignore-value: handle pointer types, too
45872         * lib/ignore-value.h (__attribute__): Remove definition.
45873         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
45874         of a more concise and more-often effective "(void) i" statement.
45875         (ignore_ptr): New function to suppress warnings from functions that
45876         return pointers, and to make it explicit that one function doesn't
45877         handle all cases.
45878
45879 2009-08-25  Bruno Haible  <bruno@clisp.org>
45880
45881         dup2: work around a Linux bug.
45882         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
45883         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
45884         * doc/posix-functions/dup2.texi: Mention the Linux bug.
45885         Reported by Simon Josefsson.
45886
45887 2009-08-25  Jim Meyering  <meyering@redhat.com>
45888
45889         libguestfs uses gnulib
45890         * users.txt: Add libguestfs.
45891
45892 2009-08-24  Eric Blake  <ebb9@byu.net>
45893
45894         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
45895         * lib/pipe2.c (includes): Add binary-io.h.
45896         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
45897
45898 2009-08-24  Bruno Haible  <bruno@clisp.org>
45899
45900         Tolerate declared but missing accept4 syscall.
45901         * lib/accept4.c (accept4): Invoke original accept4 function first, if
45902         available.
45903         * lib/sys_socket.in.h (accept4): If the function is already present,
45904         override it.
45905         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
45906         * modules/accept4 (Makefile.am): Compile accept4.c always.
45907         Reported by Paolo Bonzini and Eric Blake.
45908
45909 2009-08-23  Bruno Haible  <bruno@clisp.org>
45910
45911         New module 'accept4'.
45912         * lib/sys_socket.in.h (accept4): New declaration.
45913         * lib/accept4.c: New file.
45914         * m4/accept4.m4: New file.
45915         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
45916         GNULIB_ACCEPT4, HAVE_ACCEPT4.
45917         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
45918         HAVE_ACCEPT4.
45919         * modules/accept4: New file.
45920         * doc/glibc-functions/accept4.texi: Mention the new module.
45921
45922 2009-08-24  Jim Meyering  <meyering@redhat.com>
45923
45924         progname: also set global program_invocation_name, when possible
45925         Before this change, a libtool-enabled program that calls glibc's
45926         error function would report the program name as
45927         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
45928         * modules/progname (configure.ac): Check for a declaration of
45929         program_invocation_name.
45930         * lib/progname.c:  Include <errno.h>.
45931         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
45932         Set program_invocation_name.
45933
45934 2009-08-23  Bruno Haible  <bruno@clisp.org>
45935
45936         * lib/dup3.c: Include <string.h>.
45937
45938 2009-08-23  Bruno Haible  <bruno@clisp.org>
45939
45940         * lib/dup3.c (dup3): Test only once whether the system actually exists.
45941         * lib/pipe2.c (pipe2): Likewise.
45942         Suggested by Eric Blake.
45943
45944 2009-08-23  Bruno Haible  <bruno@clisp.org>
45945
45946         Tolerate declared but missing dup3 syscall.
45947         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
45948         * lib/unistd.in.h (dup3): If the function is already present,
45949         override it.
45950         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
45951         * modules/dup3 (Makefile.am): Compile dup3.c always.
45952         Reported by Paolo Bonzini.
45953
45954 2009-08-23  Bruno Haible  <bruno@clisp.org>
45955
45956         Tolerate declared but missing pipe2 syscall.
45957         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
45958         available.
45959         * lib/unistd.in.h (pipe2): If the function is already present,
45960         override it.
45961         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
45962         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
45963         Reported by Paolo Bonzini.
45964
45965 2009-08-23  Bruno Haible  <bruno@clisp.org>
45966
45967         * lib/pipe2.c (pipe2): Move #ifs inside function.
45968
45969 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
45970
45971         quotearg: document limitations of quote_these_too
45972         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
45973         those limitations are created.
45974         * lib/quotearg.h (set_char_quoting): Document that digits and
45975         letters that are special after backslash are not permitted.
45976         (quotearg_char): Cross-reference set_char_quoting documentation.
45977
45978 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
45979
45980         quotearg: implement custom_quoting_style
45981         * lib/quotearg.c: (struct quoting_options): Add left_quote and
45982         right_quote fields.
45983         (set_custom_quoting): New public function.
45984         (quotearg_buffer_restyled): Add left_quote and right_quote
45985         arguments, handle them very much like locale quoting, and update
45986         all uses.
45987         (quotearg_n_custom): New public function.
45988         (quotearg_n_custom_mem): New public function.
45989         (quotearg_custom): New public function.
45990         (quotearg_custom_mem): New public function.
45991         * lib/quotearg.h: Prototype and document new public functions.
45992         (enum quoting_style): For escape_quoting_style and
45993         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
45994         ignored even though they're otherwise like c_quoting_style.
45995         Add custom_quoting_style member and document with comparison to
45996         clocale_quoting_style.
45997         * tests/test-quotearg.c (custom_quotes): New array.
45998         (custom_results): New array.
45999         (main): Extend to test custom quoting.
46000
46001 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
46002
46003         quotearg: fix right quote escaping when it's in quote_these_too
46004         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
46005         quote, be sure to prepend only one backslash.
46006         * tests/test-quotearg.c (use_quote_double_quotes): New function.
46007         (main): Test it.
46008
46009 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
46010
46011         quotearg-tests: test escaping of embedded locale quotes
46012         * tests/test-quotearg.c (struct result_strings): Add member for
46013         new input.
46014         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
46015         (inputs): Add new input.
46016         (results_g): Add expected results.
46017         (flag_results): Likewise.
46018         (locale_results): Likewise.
46019         (compare_strings): Check those.
46020
46021 2009-08-23  Bruno Haible  <bruno@clisp.org>
46022
46023         Tests for module 'dup3'.
46024         * modules/dup3-tests: New file.
46025         * tests/test-dup3.c: New file.
46026
46027         New module 'dup3'.
46028         * lib/unistd.in.h (dup3): New declaration.
46029         * lib/dup3.c: New file.
46030         * m4/dup3.m4: New file.
46031         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
46032         HAVE_DUP3.
46033         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
46034         * modules/dup3: New file.
46035         * doc/glibc-functions/dup3.texi: Mention the new module.
46036
46037 2009-08-23  Bruno Haible  <bruno@clisp.org>
46038
46039         Tweak the dup2 test.
46040         * tests/test-dup2.c (main): Create the test file empty. Verify that an
46041         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
46042         the test file is still empty. Fix argument order of lseek.
46043
46044 2009-08-23  Bruno Haible  <bruno@clisp.org>
46045
46046         Avoid test link errors when the modules getopt-gnu, gettext are used.
46047         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
46048         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46049
46050 2009-08-23  Bruno Haible  <bruno@clisp.org>
46051
46052         Fix getdtablesize() on mingw.
46053         * lib/getdtablesize.c (getdtablesize): Implement differently.
46054         * lib/unistd.in.h (getdtablesize): Improve comment.
46055
46056 2009-08-23  Bruno Haible  <bruno@clisp.org>
46057
46058         New module 'mkostemp'.
46059         Based on Ulrich Drepper's 2007-08-10 change in glibc.
46060         * lib/stdlib.in.h (mksotemp): New declaration.
46061         * lib/mkostemp.c: New file, from glibc with modifications.
46062         * lib/tempname.h (GT_FILE): Remove outdated comment.
46063         (gen_tempname): Add flags argument.
46064         * lib/tempname.c (__GT_BIGFILE): Remove macro.
46065         (__GT_FILE): Map to 1.
46066         (small_open, large_open): Remove macros.
46067         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
46068         * lib/mkstemp.c (mkstemp): Update.
46069         * lib/mkdtemp.c (mkdtemp): Likewise.
46070         * m4/mkostemp.m4: New file.
46071         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
46072         HAVE_MKOSTEMP.
46073         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
46074         HAVE_MKOSTEMP.
46075         * modules/mkostemp: New file, based on modules/mkstemp.
46076         * doc/glibc-functions/mkostemp.texi: Mention the new module.
46077         * NEWS: Mention the change.
46078
46079 2009-08-23  Bruno Haible  <bruno@clisp.org>
46080
46081         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
46082         Reported by Eric Blake.
46083
46084 2009-08-23  Bruno Haible  <bruno@clisp.org>
46085
46086         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
46087         Reported by Eric Blake.
46088
46089 2009-08-23  Bruno Haible  <bruno@clisp.org>
46090
46091         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
46092         * modules/pipe2 (Depends-on): Likewise.
46093
46094 2009-08-23  Eric Blake  <ebb9@byu.net>
46095
46096         fcntl-h: add O_TTY_INIT support
46097         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
46098         * tests/test-fcntl-h.c (o): Test it.
46099         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
46100
46101         fcntl-h: rename from fcntl, in preparation for fcntl(2)
46102         * modules/fcntl: Move <fcntl.h> header replacement...
46103         * modules/fcntl-h: ...to new name, so as not to collide with
46104         like-named function.
46105         * tests/test-fcntl.c: Rename...
46106         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
46107         * modules/fcntl-tests: Rename...
46108         * modules/fcntl-h-tests: ...to this.  Update test file name.
46109         * modules/chdir-long (Depends-on): Update clients.
46110         * modules/chdir-safer (Depends-on): Likewise.
46111         * modules/fcntl-safer (Depends-on): Likewise.
46112         * modules/fts (Depends-on): Likewise.
46113         * modules/mkancesdirs (Depends-on): Likewise.
46114         * modules/mkdir-p (Depends-on): Likewise.
46115         * modules/open (Depends-on): Likewise.
46116         * modules/savewd (Depends-on): Likewise.
46117         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
46118         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
46119
46120 2009-08-22  Bruno Haible  <bruno@clisp.org>
46121
46122         * modules/binary-io (License): Relicense under LGPL.
46123         * modules/pipe2 (License): Likewise.
46124
46125 2009-08-22  Bruno Haible  <bruno@clisp.org>
46126
46127         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
46128         return value.
46129         * lib/pipe-filter-gi.c (filter_init): Likewise.
46130         Reported by Eric Blake.
46131
46132 2009-08-22  Bruno Haible  <bruno@clisp.org>
46133
46134         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
46135         * modules/pipe (Depends-on): Add pipe2.
46136
46137 2009-08-22  Bruno Haible  <bruno@clisp.org>
46138
46139         Tests for module 'pipe2'.
46140         * modules/pipe2-tests: New file.
46141         * tests/test-pipe2.c: New file.
46142
46143         New module 'pipe2'.
46144         * lib/unistd.in.h (pipe2): New declaration.
46145         * lib/pipe2.c: New file.
46146         * m4/pipe2.m4: New file.
46147         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
46148         HAVE_PIPE2.
46149         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
46150         * modules/pipe2: New file.
46151         * doc/glibc-functions/pipe2.texi: Mention the new module.
46152
46153 2009-08-22  Bruno Haible  <bruno@clisp.org>
46154
46155         Reference some new glibc functions.
46156         * doc/glibc-functions/accept4.texi: New file.
46157         * doc/glibc-functions/dup3.texi: New file.
46158         * doc/glibc-functions/mkostemp.texi: New file.
46159         * doc/glibc-functions/pipe2.texi: New file.
46160         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
46161         (Glibc sys/socket.h): Refer to accept4.
46162         (Glibc unistd.h): Refer to dup3, pipe2.
46163         Reported by Eric Blake.
46164
46165 2009-08-22  Jim Meyering  <meyering@redhat.com>
46166             Bruno Haible  <bruno@clisp.org>
46167
46168         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
46169         This makes it so packages using automake-1.11's silent-rules option
46170         can print e.g., a single "GEN    configmake.h" line, rather than
46171         the 30+ statements that perform the job.  If you want to see the
46172         actual commands, you can still run "make V=1".
46173         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
46174         so that make output is abbreviated when those variables are defined
46175         appropriately.
46176         * modules/argz: Likewise.
46177         * modules/arpa_inet: Likewise.
46178         * modules/byteswap: Likewise.
46179         * modules/configmake: Likewise.
46180         * modules/dirent: Likewise.
46181         * modules/errno: Likewise.
46182         * modules/fcntl: Likewise.
46183         * modules/float: Likewise.
46184         * modules/fnmatch: Likewise.
46185         * modules/getopt-posix: Likewise.
46186         * modules/glob: Likewise.
46187         * modules/iconv_open: Likewise.
46188         * modules/inttypes: Likewise.
46189         * modules/localcharset: Likewise.
46190         * modules/locale: Likewise.
46191         * modules/math: Likewise.
46192         * modules/netdb: Likewise.
46193         * modules/netinet_in: Likewise.
46194         * modules/poll: Likewise.
46195         * modules/posix_spawnp-tests: Likewise.
46196         * modules/sched: Likewise.
46197         * modules/search: Likewise.
46198         * modules/selinux-h: Likewise.
46199         * modules/signal: Likewise.
46200         * modules/spawn: Likewise.
46201         * modules/stdarg: Likewise.
46202         * modules/stdbool: Likewise.
46203         * modules/stddef: Likewise.
46204         * modules/stdint: Likewise.
46205         * modules/stdio: Likewise.
46206         * modules/stdlib: Likewise.
46207         * modules/string: Likewise.
46208         * modules/strings: Likewise.
46209         * modules/sys_file: Likewise.
46210         * modules/sys_ioctl: Likewise.
46211         * modules/sys_select: Likewise.
46212         * modules/sys_socket: Likewise.
46213         * modules/sys_stat: Likewise.
46214         * modules/sys_time: Likewise.
46215         * modules/sys_times: Likewise.
46216         * modules/sys_utsname: Likewise.
46217         * modules/sys_wait: Likewise.
46218         * modules/sysexits: Likewise.
46219         * modules/time: Likewise.
46220         * modules/unistd: Likewise.
46221         * modules/wchar: Likewise.
46222         * modules/wctype: Likewise.
46223
46224 2009-08-22  Jim Meyering  <meyering@redhat.com>
46225
46226         announce-gen: detect write failure
46227         * build-aux/announce-gen: Add Coda at end.
46228         Remove equivalent-but-more-verbose block at top.
46229
46230 2009-08-19  Akim Demaille  <demaille@gostai.com>
46231
46232         bootstrap: --help to stdout.
46233         * bootstrap (usage): Don't send --help to stderr.
46234         Use a here doc instead of a long string.
46235
46236 2009-08-21  Eric Blake  <ebb9@byu.net>
46237
46238         test-popen-safer: split from test-popen
46239         * tests/test-popen.c (main): Move...
46240         * tests/test-popen.h: ...into new file.
46241         * tests/test-popen-safer2.c: New file.
46242         * modules/popen-tests (Files): Add test-popen.h.
46243         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
46244         Suggested by Bruno Haible.
46245
46246         test-fcntl-safer: split from test-open
46247         * tests/test-open.c (main): Move...
46248         * tests/test-open.h: ...into new file.
46249         * tests/test-fcntl-safer.c: New file.
46250         * modules/open-tests (Files): Add test-open.h.
46251         * modules/fcntl-safer-tests: New file.
46252         Suggested by Bruno Haible.
46253
46254         test-fopen-safer: split from test-fopen
46255         * tests/test-fopen.c (main): Move...
46256         * tests/test-fopen.h: ...into new file.
46257         * tests/test-fopen-safer.c: New file.
46258         * modules/fopen-tests (Files): Add test-fopen.h.
46259         * modules/fopen-safer-tests: New file.
46260         Suggested by Bruno Haible.
46261
46262 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
46263
46264         popen-safer: test O_CLOEXEC at run-time.
46265         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
46266
46267 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
46268
46269         fcntl: move more flags to the header
46270         * lib/cloexec.c: Do not define FD_CLOEXEC here.
46271         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
46272         * lib/fcntl.in.h: Do both things here.
46273
46274 2009-08-21  Jim Meyering  <meyering@redhat.com>
46275
46276         consistently remove $@-t before redirecting to it
46277         * modules/argz: Remove $@-t and $@ before redirecting to the former.
46278         * modules/alloca-opt: Likewise.
46279         * modules/byteswap: Likewise.
46280         * modules/fnmatch: Likewise.
46281         * modules/getopt-posix: Likewise.
46282         * modules/glob: Likewise.
46283         * modules/poll: Likewise.
46284         * modules/posix_spawnp-tests: Likewise.
46285         * modules/sys_socket: Likewise.
46286         * modules/sysexits: Likewise.
46287
46288 2009-08-21  Eric Blake  <ebb9@byu.net>
46289
46290         popen: simplify access to original popen
46291         * lib/popen.c (rpl_popen): No need to worry about popen being a
46292         macro.
46293         Reported by Bruno Haible.
46294
46295 2009-08-20  Eric Blake  <ebb9@byu.net>
46296
46297         build: avoid some compiler warnings
46298         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
46299         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
46300         type.
46301         (new_exclude_segment, excluded_file_pattern_p)
46302         (excluded_file_name_p): Reduce scope.
46303         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
46304         old-style declaration.
46305
46306 2009-08-20  Simon Josefsson  <simon@josefsson.org>
46307
46308         * tests/test-exclude1.sh: Handle Windows EOL.
46309         * tests/test-exclude2.sh: Likewise.
46310         * tests/test-exclude3.sh: Likewise.
46311         * tests/test-exclude4.sh: Likewise.
46312         * tests/test-exclude5.sh: Likewise.
46313         * tests/test-exclude6.sh: Likewise.
46314         * tests/test-exclude7.sh: Likewise.
46315
46316 2009-08-19  Akim Demaille  <demaille@gostai.com>
46317
46318         bootstrap: find sha1sum when named gsha1sum.
46319         * bootstrap (find_tool): New.
46320         ($SHA1SUM): New.
46321         Use it.
46322
46323 2009-08-20  Jim Meyering  <meyering@redhat.com>
46324
46325         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
46326         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
46327         expression that converts "." in a file name to "\." in the resulting
46328         regexp.  Start with a dummy statement, so that prior shell variable
46329         definitions are expanded portably.  Reported by Simon Josefsson.
46330
46331 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
46332
46333         Fix polling for writeability of a screen buffer.
46334         * lib/poll.c: Distinguish input and screen buffers for the
46335         Win32 implementation.
46336         * lib/select.c: Likewise.
46337
46338 2009-08-19  Eric Blake  <ebb9@byu.net>
46339
46340         popen-safer: prevent popen from clobbering std descriptors
46341         * modules/popen-safer: New file.
46342         * lib/popen-safer.c: Likewise.
46343         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
46344         * lib/stdio--.h (popen): Provide override.
46345         * lib/stdio-safer.h (popen_safer): Provide declaration.
46346         * tests/test-popen.c (includes): Partially test this.
46347         * modules/popen-safer-tests: New file, for more tests.
46348         * tests/test-popen-safer.c: Likewise.
46349         * MODULES.html.sh (file stream based Input/Output): Mention it.
46350
46351         tests: test some of the *-safer modules
46352         * modules/fopen-safer (Depends-on): Add fopen.
46353         * modules/fcntl-safer (Depends-on): Add fcntl.
46354         * modules/stdlib-safer (Depends-on): Add stdlib.
46355         (configure.ac): Set indicator.
46356         * modules/unistd-safer (configure.ac): Likewise.
46357         * modules/tmpfile-safer (configure.ac): Likewise.
46358         (Depends-on): Add tmpfile.
46359         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
46360         active.
46361         * tests/test-fopen.c (includes): Test safer versions when they are
46362         in use.
46363         * tests/test-open.c (includes): Likewise.
46364
46365         popen: fix cygwin 1.5 bug when stdin closed
46366         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
46367         * modules/popen: New file.
46368         * modules/popen-tests: Likewise.
46369         * tests/test-popen.c: Likewise.
46370         * m4/popen.m4: Likewise.
46371         * lib/popen.c: Likewise.
46372         * lib/stdio.in.h (popen): New declaration.
46373         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
46374         * modules/stdio (Makefile.am): Likewise.
46375         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
46376
46377 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
46378
46379         maint.mk: give full control over update-copyright exclusions
46380         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
46381         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
46382         (update-copyright): Don't force inclusion of top-level
46383         ChangeLog.  Don't force exclusion of all COPYING files, but make
46384         them the default exclusion instead.
46385
46386 2009-08-16  Bruno Haible  <bruno@clisp.org>
46387
46388         Fix test failures on Solaris 10.
46389         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
46390         tests when Solaris iconv() is used.
46391         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
46392         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
46393         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
46394         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
46395         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
46396
46397 2009-08-16  Bruno Haible  <bruno@clisp.org>
46398
46399         Fix test failures on Solaris 10.
46400         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
46401         'tr' program and pass it as first argument.
46402         * tests/test-pipe-filter-gi1.sh: Likewise.
46403         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
46404         program as first argument.
46405         * tests/test-pipe-filter-gi1.c (main): Likewise.
46406
46407 2009-08-16  Eric Blake  <ebb9@byu.net>
46408
46409         fpurge: fix previous commits
46410         * modules/fpurge (Makefile.am): Make replacement conditional,
46411         partially reverting 2007-04-29 change; missed in previous
46412         attempt.
46413         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
46414         is missing.
46415
46416 2009-08-16  Bruno Haible  <bruno@clisp.org>
46417
46418         Clarify fpurge's effect on the file position.
46419         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
46420         * tests/test-fpurge.c (main): Make a second pass for checking the file
46421         position.
46422
46423 2009-08-16  Bruno Haible  <bruno@clisp.org>
46424
46425         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
46426         declaration of fpurge is missing.
46427         * tests/test-fpurge.c (main): Check that the file has not more contents
46428         than expected. Close the file before removing it.
46429
46430 2009-08-15  Eric Blake  <ebb9@byu.net>
46431
46432         fpurge: don't wrap working cygwin implementation
46433         * lib/fpurge.c (fpurge): Fix comment typo.
46434         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
46435         1.7 to avoid replacement.
46436         * tests/test-fpurge.c (main): Enhance test.
46437
46438 2009-08-15  Eric Blake  <ebb9@byu.net>
46439         and Jim Meyering  <meyering@redhat.com>
46440
46441         test-update-copyright: skip if perl is insufficient
46442         * tests/test-update-copyright.sh: Failure to run maintainer tool
46443         should not cause testsuite failure on cygwin 1.5.
46444
46445 2009-08-14  Eric Blake  <ebb9@byu.net>
46446
46447         doc: mention more functions added in cygwin 1.7.0
46448         * doc/posix-headers/limits.texi (limits.h): Update for recent
46449         cygwin additions.
46450         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
46451         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
46452         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
46453         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
46454         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
46455
46456 2009-08-14  Eric Blake  <ebb9@byu.net>
46457
46458         maint.mk: simplify update-copyright rule
46459         * top/maint.mk (update-copyright-local): Delete, and document how
46460         to do it in cfg.mk instead.
46461         (update-copyright-exclude-regexp): Delete, and document how to do
46462         it in .x-update-copyright instead.
46463         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
46464         exclude ChangeLog.
46465
46466 2009-08-14  Bruno Haible  <bruno@clisp.org>
46467
46468         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
46469
46470 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
46471
46472         maint.mk: support update-copyright-env
46473         * top/maint.mk (update-copyright-env): Define place-holder.
46474         (update-copyright): Expand $(update-copyright-env) before
46475         invoking update-copyright.
46476
46477 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
46478
46479         update-copyright: implement forced reformatting
46480         * build-aux/update-copyright: Implement and document
46481         UPDATE_COPYRIGHT_FORCE.
46482         * tests/test-update-copyright.sh: Test it.
46483
46484 2009-08-14  Eric Blake  <ebb9@byu.net>
46485         and Bruno Haible  <bruno@clisp.org>
46486
46487         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
46488         * tests/test-locale.c: Revert previous patch related to NULL.
46489         * tests/test-stdio.c: Likewise.
46490         * tests/test-stdlib.c: Likewise.
46491         * tests/test-string.c: Likewise.
46492         * tests/test-unistd.c: Likewise.
46493         * modules/time-tests (Depends-on): Add verify.
46494         * modules/wchar-tests (Depends-on): Likewise.
46495         * tests/test-time.c: Test for NULL compliance.
46496         * tests/test-wchar.c: Likewise.
46497         * modules/locale (Depends-on): Add stddef.
46498         * modules/stdio (Depends-on): Likewise.
46499         * modules/stdlib (Depends-on): Likewise.
46500         * modules/string (Depends-on): Likewise.
46501         * modules/time (Depends-on): Likewise.
46502         * modules/unistd (Depends-on): Likewise.
46503         * modules/wchar (Depends-on): Likewise.
46504         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
46505         * lib/stdlib.in.h (includes): Likewise.
46506         * lib/string.in.h (includes): Likewise.
46507         * lib/time.in.h (includes): Likewise.
46508         * lib/unistd.in.h (includes): Likewise.
46509         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
46510         replaced.
46511         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
46512         * m4/stddef_h.m4: New file.
46513         * modules/stddef: Likewise.
46514         * lib/stddef.in.h: Likewise.
46515         * modules/stddef-tests: Likewise.
46516         * tests/test-stddef.c: Likewise.
46517         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
46518         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
46519         * doc/posix-headers/locale.texi (locale.h): Likewise.
46520         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
46521         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
46522         * doc/posix-headers/string.texi (string.h): Likewise.
46523         * doc/posix-headers/time.texi (time.h): Likewise.
46524         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
46525         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
46526
46527 2009-08-14  Eric Blake  <ebb9@byu.net>
46528
46529         doc: improve git diff of texinfo files
46530         * .gitattributes: Add rule for *.texi files, with hint on how to
46531         use it.
46532         Copied from m4, and based on a report by Bruno Haible.
46533
46534 2009-08-14  Bruno Haible  <bruno@clisp.org>
46535
46536         Disable multithread support by default on Cygwin 1.5.x for real.
46537         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
46538
46539 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
46540
46541         update-copyright: much ado about intervals
46542         * build-aux/update-copyright: Implement and document
46543         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
46544         of copyright year intervals.
46545         Also, document UPDATE_COPYRIGHT_YEAR.
46546         * tests/test-update-copyright.sh: Test it.
46547
46548         update-copyright: convert 2-digit to 4-digit years
46549         * build-aux/update-copyright: Implement and document.
46550         * tests/test-update-copyright.sh: Update.
46551
46552 2009-08-14  Jim Meyering  <meyering@redhat.com>
46553
46554         test-exclude: avoid coreutils "make check" failure
46555         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
46556         just as in test-argmatch.c.
46557
46558 2009-08-13  Eric Blake  <ebb9@byu.net>
46559
46560         test-dup2: fix bad assumption
46561         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
46562         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
46563
46564         test-version-etc: fix CRLF portability issue
46565         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
46566         recognize \r.
46567         * tests/test-argp-version-etc-1.sh: Likewise.
46568
46569         getopt: update client modules
46570         * modules/argp (Depends-on): Use getopt-gnu.
46571         * modules/git-merge-changelog (Depends-on): Likewise.
46572         * modules/long-options (Depends-on): Likewise.
46573         * modules/xstrtol (Depends-on): Likewise.
46574
46575 2009-08-13  Simon Josefsson  <simon@josefsson.org>
46576
46577         * tests/test-version-etc.sh: Don't fail on different
46578         project/version.  Don't fail on CRLF differences.  Rewrite to use
46579         multiple -e instead of multiple sed forks, suggested by Eric Blake
46580         <ebb9@byu.net>.
46581         * tests/test-argp-version-etc-1.sh: Likewise.
46582
46583 2009-08-13  Simon Josefsson  <simon@josefsson.org>
46584
46585         * tests/test-version-etc.sh: Don't fail on different
46586         project/version.
46587
46588 2009-08-12  Bruno Haible  <bruno@clisp.org>
46589
46590         Tests for modules 'getopt-posix', 'getopt-gnu'.
46591         * modules/getopt-posix-tests: New file.
46592         * tests/test-getopt.c: New file.
46593         * tests/test-getopt.h: New file.
46594         * tests/test-getopt_long.h: New file.
46595
46596         New modules 'getopt-posix', 'getopt-gnu'.
46597         * modules/getopt-gnu: New file, renamed from modules/getopt.
46598         * modules/getopt-posix: New file.
46599         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
46600         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
46601         (gl_GETOPT): Remove macro.
46602         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
46603         Disable the test against BSD systems that declare optreset. Test
46604         against mingw bug. Test against lack of support of optional arguments
46605         on many platforms.
46606         * doc/glibc-headers/getopt.texi: Update module name and list of
46607         relevant platforms.
46608         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
46609         'getopt-gnu' and more portability problems.
46610         * NEWS: Mention the changes.
46611
46612 2009-08-12  Bruno Haible  <bruno@clisp.org>
46613
46614         Ensure that optarg etc. get declared by <unistd.h>.
46615         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
46616         AC_USE_SYSTEM_EXTENSIONS.
46617         * modules/getopt (Depends-on): Add 'extensions'.
46618
46619 2009-08-12  Bruno Haible  <bruno@clisp.org>
46620
46621         Avoid test link errors.
46622         * modules/pipe-filter-ii-tests (Makefile.am): Define
46623         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
46624         * modules/pipe-filter-gi-tests (Makefile.am): Define
46625         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
46626         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46627
46628 2009-08-12  Bruno Haible  <bruno@clisp.org>
46629
46630         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
46631         gl_GETOPT_SUBSTITUTE before.
46632         (gl_GETOPT): Use it.
46633         * m4/argp.m4 (gl_ARGP): Update.
46634         Reported by Sergey Poznyakoff.
46635
46636         * m4/getopt.m4: Reorder macros.
46637         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
46638         (gl_GETOPT_SUBSTITUTE): Remove macro.
46639
46640 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
46641
46642         Minor improvement in gitlog-to-changelog
46643
46644         * build-aux/gitlog-to-changelog: New option `--format' makes
46645         output format string configurable.
46646
46647 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
46648
46649         Optimize exclude: use hash tables for non-wildcard patterns.
46650
46651         * lib/exclude.c: Include hash.h and mbuiter.h
46652         (struct exclude_pattern, exclude_segment): New data types.
46653         (struct exclude): Rewrite.
46654         (fnmatch_pattern_has_wildcards): New function.
46655         (new_exclude_segment, free_exclude_segment): New functions.
46656         (excluded_file_pattern_p, excluded_file_name_p): New functions.
46657         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
46658         * lib/exclude.h (is_fnmatch_pattern): New prototype.
46659         * modules/exclude: Depend on hash and mbuiter.
46660
46661         * modules/exclude-tests: New file.
46662         * tests/test-exclude.c: New file.
46663         * tests/test-exclude1.sh: New file.
46664         * tests/test-exclude2.sh: New file.
46665         * tests/test-exclude3.sh: New file.
46666         * tests/test-exclude4.sh: New file.
46667         * tests/test-exclude5.sh: New file.
46668         * tests/test-exclude6.sh: New file.
46669         * tests/test-exclude7.sh: New file.
46670
46671 2009-08-12  Bruno Haible  <bruno@clisp.org>
46672
46673         Ensure that getopt() gets declared by <unistd.h>.
46674         * lib/unistd.in.h: Conditionally include getopt.h.
46675         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
46676         Set GNULIB_UNISTD_H_GETOPT.
46677         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
46678         GNULIB_UNISTD_H_GETOPT.
46679         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
46680
46681 2009-08-12  Bruno Haible  <bruno@clisp.org>
46682
46683         Clarify logic.
46684         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
46685         gl_replace_getopt instead of GETOPT_H.
46686
46687 2009-08-12  Bruno Haible  <bruno@clisp.org>
46688
46689         * m4/getopt.m4: Add comments.
46690
46691 2009-08-12  Bruno Haible  <bruno@clisp.org>
46692
46693         Disable multithread support by default on Cygwin 1.5.x.
46694         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
46695         set gl_use_threads=no if not specified otherwise.
46696
46697 2009-08-11  Bruno Haible  <bruno@clisp.org>
46698
46699         Avoid compilation error on NetBSD 5.0.
46700         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
46701         * tests/test-stdio.c: Likewise.
46702         * tests/test-stdlib.c: Likewise.
46703         * tests/test-string.c: Likewise.
46704         * tests/test-unistd.c: Likewise.
46705         Reported by Greg Troxel <gdt@ir.bbn.com>
46706         at <https://savannah.gnu.org/support/?106973>.
46707
46708 2009-08-11  Bruno Haible  <bruno@clisp.org>
46709
46710         * modules/dup2-tests (Depends-on): Remove close.
46711
46712         Undo 2009-07-19 commit.
46713         * modules/acl-tests (Depends-on): Remove close.
46714         * modules/binary-io-tests (Depends-on): Likewise.
46715         * modules/closein-tests (Depends-on): Likewise.
46716         * modules/flock-tests (Depends-on): Likewise.
46717         * modules/fsync-tests (Depends-on): Likewise.
46718         * modules/lseek-tests (Depends-on): Likewise.
46719         * modules/pipe-tests (Depends-on): Likewise.
46720         * modules/posix_spawn-tests (Depends-on): Likewise.
46721         * modules/posix_spawnp-tests (Depends-on): Likewise.
46722         * modules/stat-time-tests (Depends-on): Likewise.
46723         * modules/yesno-tests (Depends-on): Likewise.
46724
46725 2009-08-10  Bruno Haible  <bruno@clisp.org>
46726
46727         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
46728
46729 2009-08-10  Bruno Haible  <bruno@clisp.org>
46730
46731         Fix a gcc warning.
46732         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
46733
46734 2009-08-10  Bruno Haible  <bruno@clisp.org>
46735
46736         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
46737         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
46738         not only the first time.
46739         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
46740         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
46741         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
46742         is 1, not only the the first time.
46743
46744 2009-08-10  Bruno Haible  <bruno@clisp.org>
46745
46746         Make it possible to use module 'gethostname' without module 'close'.
46747         * lib/unistd.in.h (close): Evoke a link error only if
46748         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
46749         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
46750         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
46751         * modules/unistd (Makefile.am): Substitute
46752         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
46753         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
46754         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
46755         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
46756         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
46757         * modules/sys_ioctl (Makefile.am): Substitute
46758         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
46759         * modules/socket (configure.ac): On native Windows, set
46760         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
46761         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
46762         Reported by Sam Steingold <sds@gnu.org>.
46763
46764 2009-08-10  Bruno Haible  <bruno@clisp.org>
46765
46766         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
46767         * modules/ioctl (configure.ac): Likewise.
46768
46769 2009-08-10  Bruno Haible  <bruno@clisp.org>
46770
46771         Avoid collision between gnulib wrapper and libintl wrapper.
46772         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
46773         already defined in intl/printf.c.
46774         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
46775         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
46776
46777 2009-08-09  Bruno Haible  <bruno@clisp.org>
46778
46779         Make <sys/select.h> really self-contained, also on Solaris 10.
46780         * lib/sys_select.in.h: Include <string.h>.
46781         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
46782         Solaris 10 problem.
46783         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
46784         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
46785         Reported by Jim Meyering.
46786
46787 2009-08-09  Bruno Haible  <bruno@clisp.org>
46788
46789         Avoid warnings from 'aclocal' that are due to a use of macro name
46790         AM_XGETTEXT_OPTION that is not defined in automake.
46791         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
46792         automake.
46793         * modules/error (configure.ac): Likewise.
46794         * modules/propername (configure.ac): Likewise.
46795         * modules/vasprintf (configure.ac): Likewise.
46796         * modules/verror (configure.ac): Likewise.
46797         * modules/xprintf (configure.ac): Likewise.
46798         * modules/xvasprintf (configure.ac): Likewise.
46799
46800 2009-08-08  Bruno Haible  <bruno@clisp.org>
46801
46802         Avoid compilation error in C++ mode.
46803         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
46804         Reported by Sam Steingold <sds@gnu.org>.
46805
46806 2009-08-08  Bruno Haible  <bruno@clisp.org>
46807
46808         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
46809         for the various Unix platforms.
46810         * doc/posix-headers/limits.texi: Update platforms list regarding
46811         HOST_NAME_MAX.
46812         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46813
46814 2009-08-07  Jim Meyering  <meyering@redhat.com>
46815
46816         selinux-at: fix typo in a comment
46817         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
46818         Spotted by Paolo Bonzini.
46819
46820         selinux-at: remove redundant m4 code, add documentation
46821         * modules/selinux-at (configure.ac): Remove redundant code.
46822         LIB_SELINUX is already set via the dependent module, selinux-h.
46823         (Include): Add quotes around selinux-at.h.
46824         * lib/selinux-at.h: Add documentation.
46825         Reported by Bruno Haible in
46826         http://marc.info/?l=gnulib-bug&m=124958988300749
46827
46828 2009-08-07  Bruno Haible  <bruno@clisp.org>
46829
46830         Avoid link error on MacOS X 10.3 and 10.4.
46831         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
46832         on non-ELF systems.
46833         * lib/argp-pv.c (argp_program_version): Likewise.
46834         Reported by Simon Josefsson.
46835
46836 2009-08-07  Simon Josefsson  <simon@josefsson.org>
46837
46838         * tests/test-version-etc.sh: Use $EXEEXT.
46839
46840 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
46841
46842         update-copyright: update documentation to point to maint.mk
46843         * build-aux/update-copyright: Here.
46844
46845 2009-08-06  Jim Meyering  <meyering@redhat.com>
46846
46847         maint.mk: support update-copyright-local
46848         * top/maint.mk (update-copyright-local): Define place-holder.
46849         (update-copyright): Depend on $(update-copyright-local).
46850
46851 2009-08-06  Jim Meyering  <meyering@redhat.com>
46852
46853         selinux-at: new module
46854         Initially written for coreutils, this module will soon be
46855         used by findutils, too.
46856         * MODULES.html.sh [Misc]: Add selinux-at.
46857         * lib/selinux-at.h: New file, from coreutils.
46858         * lib/selinux-at.c: Likewise.
46859         * modules/selinux-at: Likewise.
46860         (License): Change from LGPL to GPL, since it depends
46861         on the GPL'd openat module.
46862
46863         doc: update README
46864         * README: Remove references to cogito.
46865         Remove cvs-repo-updating instructions from 2007.
46866         Don't imply that CVS is better if you have limited disk space.
46867
46868 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
46869
46870         update-copyright: support C-style comments
46871         * build-aux/update-copyright: Implement and document.
46872         * tests/test-update-copyright.sh: Test.
46873
46874 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
46875
46876         update-copyright: support omitted "(C)"
46877         * build-aux/update-copyright: Implement and document.  Also,
46878         allow variable whitespace before "(C)".
46879         * tests/test-update-copyright.sh: Test.
46880
46881 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
46882
46883         update-copyright: don't trip on non-FSF copyright statements
46884         * build-aux/update-copyright: Fix so that the first correctly
46885         formatted FSF copyright statement is recognized no matter what
46886         appears before it.  Update documentation.
46887         * tests/test-update-copyright.sh: Test that.
46888
46889 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
46890
46891         update-copyright: clean up code a little
46892         * build-aux/update-copyright: Append "_re" to the name of any
46893         variable holding a regular expression.
46894         Replace "old" and "new" with "stmt" in variable names.
46895         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
46896         handled correctly.
46897         Format code more consistently.
46898
46899 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
46900
46901         update-copyright-tests: improve portability
46902         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
46903         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
46904
46905 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
46906
46907         update-copyright: support @copyright{} and &copy;
46908         * build-aux/update-copyright: Implement and document.
46909         * tests/test-update-copyright.sh: Test.
46910
46911 2009-08-04  Jim Meyering  <meyering@redhat.com>
46912
46913         update-copyright-tests: correctly test EOL=\r\n handling
46914         * tests/test-update-copyright.sh: Put \r at the end of some lines
46915         for the dos-eol tests.  Based on a patch by Joel E. Denny.
46916
46917         maint.mk: make update-copyright exclusion list more configurable
46918         * top/maint.mk (update-copyright): Default to excluding COPYING,
46919         but allow an override, in case someone does want to update that file.
46920
46921         maint.mk: don't update copyright date in COPYING
46922         * top/maint.mk (update-copyright): Exclude COPYING.
46923
46924         maint.mk: add a copyright-updating rule
46925         * top/maint.mk (update-copyright): New rule.
46926         Derived from coreutils/Makefile.am.
46927
46928         update-copyright: rename some variables
46929         * build-aux/update-copyright: Rename a few variables for clarity.
46930         Tweak syntax.  List Joel E. Denny as coauthor.
46931
46932 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
46933
46934         update-copyright: fix bug for 2-digit last year and add tests
46935         * build-aux/update-copyright: Fix bug.
46936         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
46937         specified.
46938         * modules/update-copyright-tests: New
46939         * tests/test-update-copyright.sh: New.
46940
46941 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
46942
46943         update-copyright: handle leading tabs in line prefix
46944         * build-aux/update-copyright: Count leading tabs as 8 spaces
46945         when computing margin.  This helps with the formatting of
46946         ChangeLogs, for example.
46947         Fix documentation a little.
46948
46949 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
46950
46951         update-copyright: support EOL=\r\n
46952         * build-aux/update-copyright: Implement that.
46953
46954 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
46955
46956         update-copyright: automatically format copyright statements
46957         * build-aux/update-copyright: Implement that.
46958         Also, be a little more predictable and safer by always failing
46959         when the full copyright format is not perfectly recognized as an
46960         unbroken whole.  Discussed at
46961         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
46962         Rewrite documentation.
46963
46964 2009-08-03  Bruno Haible  <bruno@clisp.org>
46965
46966         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
46967
46968 2009-08-02  Bruno Haible  <bruno@clisp.org>
46969
46970         Tests for module 'uname'.
46971         * modules/uname-tests: New file.
46972         * tests/test-uname.c: New file.
46973
46974         New module 'uname'.
46975         * lib/uname.c: New file.
46976         * m4/uname.m4: New file.
46977         * modules/uname: New file.
46978         * doc/posix-functions/uname.texi: Mention the new module.
46979
46980 2009-08-02  Bruno Haible  <bruno@clisp.org>
46981
46982         Tests for module 'sys_utsname'.
46983         * modules/sys_utsname-tests: New file.
46984         * tests/test-sys_utsname.c: New file.
46985
46986         New module 'sys_utsname'.
46987         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
46988         * m4/sys_utsname_h.m4: New file.
46989         * modules/sys_utsname: New file.
46990         * doc/posix-headers/sys_utsname.texi: Mention the new module.
46991
46992 2009-08-02  Bruno Haible  <bruno@clisp.org>
46993
46994         Implicitly initialize the sockets library.
46995         * lib/gethostname.c: Include sockets.h.
46996         (rpl_gethostname): Invoke gl_sockets_startup.
46997         * lib/socket.c: Include sockets.h.
46998         (rpl_socket): Invoke gl_sockets_startup.
46999         * modules/gethostname (Depends-on): Add sockets.
47000         * modules/socket (Depends-on): Likewise.
47001         * tests/test-poll.c: Don't include sockets.h.
47002         (main): Don't invoke gl_sockets_startup.
47003         * tests/test-select.c: Don't include sockets.h.
47004         (main): Don't invoke gl_sockets_startup.
47005
47006 2009-08-02  Bruno Haible  <bruno@clisp.org>
47007
47008         Allow multiple calls to gl_sockets_startup.
47009         * lib/sockets.c (initialized_sockets_version): New variable.
47010         (gl_sockets_startup): Do nothing if already called for this or a higher
47011         version.
47012         (gl_sockets_cleanup): Reset initialized_sockets_version.
47013
47014 2009-08-03  Simon Josefsson  <simon@josefsson.org>
47015
47016         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
47017         different project/version.
47018
47019 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
47020             Bruno Haible  <bruno@clisp.org>
47021
47022         Tests for module 'pipe-filter-gi'.
47023         * modules/pipe-filter-gi-tests: New file.
47024         * tests/test-pipe-filter-gi1.sh: New file.
47025         * tests/test-pipe-filter-gi1.c: New file.
47026         * tests/test-pipe-filter-gi2.sh: New file.
47027         * tests/test-pipe-filter-gi2-main.c: New file.
47028         * tests/test-pipe-filter-gi2-child.c: New file.
47029
47030         New module 'pipe-filter-gi'.
47031         * lib/pipe-filter-gi.c: New file.
47032         * modules/pipe-filter-gi: New file.
47033
47034 2009-08-02  Bruno Haible  <bruno@clisp.org>
47035             Paolo Bonzini  <bonzini@gnu.org>
47036
47037         Tests for module 'pipe-filter-ii'.
47038         * modules/pipe-filter-ii-tests: New file.
47039         * tests/test-pipe-filter-ii1.sh: New file.
47040         * tests/test-pipe-filter-ii1.c: New file.
47041         * tests/test-pipe-filter-ii2.sh: New file.
47042         * tests/test-pipe-filter-ii2-main.c: New file.
47043         * tests/test-pipe-filter-ii2-child.c: New file.
47044
47045         New module 'pipe-filter-ii'.
47046         * lib/pipe-filter.h: New file.
47047         * lib/pipe-filter-ii.c: New file.
47048         * lib/pipe-filter-aux.h: New file.
47049         * modules/pipe-filter-ii: New file.
47050
47051 2009-08-02  Simon Josefsson  <simon@josefsson.org>
47052
47053         * lib/gc-libgcrypt.c: Change copyright to FSF.
47054         * lib/gc-gnulib.c: Likewise.
47055
47056 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
47057
47058         * lib/gethostname.c: Include limits.h.
47059
47060 2009-08-02  Simon Josefsson  <simon@josefsson.org>
47061             Bruno Haible  <bruno@clisp.org>
47062
47063         Ensure HOST_NAME_MAX as part of the gethostname module.
47064         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
47065         define also HOST_NAME_MAX.
47066         * tests/test-gethostname.c: Include <limits.h>.
47067         (main): Check also HOST_NAME_MAX.
47068         * doc/posix-headers/limits.texi: Document the mingw problem.
47069
47070 2009-08-02  Bruno Haible  <bruno@clisp.org>
47071
47072         * lib/gethostname.c (gethostname): Fix handling of large len argument.
47073         Add comments.
47074
47075 2009-03-31  Simon Josefsson  <simon@josefsson.org>
47076
47077         * lib/gethostname.c: Add Windows wrapper.
47078         * m4/gethostname.m4: Look for gethostname in -lws2_32.
47079         * modules/gethostname: Depend on sys_socket & errno, for also
47080         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
47081         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
47082
47083 2009-07-31  Jim Meyering  <meyering@redhat.com>
47084
47085         getloadavg: fix symbol name in comment
47086         * lib/getloadavg.c: Correct a typo I introduced when adding
47087         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
47088         Matt Kraai spotted the problem.
47089
47090 2009-07-29  Matt Kraai  <mkraai@beckman.com>
47091
47092         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
47093         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
47094         code also if ! defined N_NAME_POINTER.
47095         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
47096         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
47097         but the n_name member is a 12-byte array.
47098
47099 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
47100
47101         update-copyright: generalize comment handling
47102         * build-aux/update-copyright: Handle copyright statements
47103         within more comment styles.
47104         Document usage.
47105         Report any file with an external copyright holder or parse failure.
47106
47107 2009-07-29  Jim Meyering  <meyering@redhat.com>
47108
47109         mktime: correct setting of REPLACE_MKTIME
47110         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
47111
47112         update-copyright: new module
47113         * modules/update-copyright: New file.
47114         * build-aux/update-copyright: New file.
47115         * MODULES.html.sh (maint+release support): Add update-copyright.
47116
47117 2009-07-27  Bruno Haible  <bruno@clisp.org>
47118
47119         Fix compilation error when <ctime> is used and mktime is replaced.
47120         * lib/time.in.h (mktime): New declaration.
47121         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
47122         REPLACE_MKTIME instead of defining mktime in config.h.
47123         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
47124         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
47125         Reported by Ross McFarland <rwmcfa1@neces.com>.
47126
47127 2009-07-27  Bruno Haible  <bruno@clisp.org>
47128
47129         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
47130         Reported by Matt Kraai <mkraai@beckman.com>.
47131
47132 2009-07-25  Jim Meyering  <meyering@redhat.com>
47133
47134         maint.mk: avoid warnings about missing files
47135         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
47136         diagnostic when .prev-version does not exist.
47137         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
47138         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
47139         nonexistent cfg.mk.
47140         Suggestions from Simon Josefsson.
47141
47142 2009-07-25  Bruno Haible  <bruno@clisp.org>
47143
47144         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
47145         defined as macros. Needed on QNX 6.4.1.
47146         Reported by Matt Kraai <mkraai@beckman.com>.
47147
47148 2009-07-23  Jim Meyering  <meyering@redhat.com>
47149
47150         maint.mk: invoke "make dist" with a working value of XZ_OPT
47151         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
47152
47153 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
47154
47155         Make fseeko.c compile on QNX.
47156         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
47157
47158 2009-07-22  Peter Simons  <simons@cryp.to>
47159
47160         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
47161         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
47162         * lib/md4.h: Likewise.
47163         * lib/md5.h: Likewise.
47164         * lib/sha1.h: Likewise.
47165         * lib/sha256.h: Likewise.
47166         * lib/sha512.h: Likewise.
47167
47168         tests-sha1: don't assign literal string to 'char *' variable
47169         * tests/test-sha1.c (main): Declare locals with "const" to match
47170         attributes of the right hand side.
47171
47172 2009-07-21  Eric Blake  <ebb9@byu.net>
47173
47174         dup2: fix more mingw problems
47175         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
47176         fd to itself.
47177         * doc/posix-functions/dup2.texi (dup2): Document the bug.
47178         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
47179         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
47180         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
47181         care of mingw bugs.
47182
47183 2009-07-21  Jim Meyering  <meyering@redhat.com>
47184
47185         vc-list-files: avoid failure when /bin/sh is dash
47186         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
47187         On some Debian based systems, /bin/sh is a symlink to dash, and running
47188         this command would omit the "/" following each 'tests' prefix:
47189           dash -x build-aux/vc-list-files -C . tests
47190         That is because bash and dash work differently:
47191           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
47192           bash ok
47193           dash odd
47194
47195 2009-07-21  Eric Blake  <ebb9@byu.net>
47196
47197         dup2-tests: test previous patch
47198         * modules/dup2-tests: New file.
47199         * tests/test-dup2.c: Likewise.
47200         * tests/test-open.c (main): Avoid unspecified behavior.
47201         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
47202         test.
47203
47204         dup2: work around mingw and cygwin 1.5 bug
47205         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
47206         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
47207         * modules/unistd (Makefile.am): Substitute it.
47208         * lib/unistd.in.h (dup2): Declare the replacement.
47209         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
47210         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
47211         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
47212         * modules/execute (Depends-on): Add dup2.
47213         * modules/fseterr (Depends-on): Likewise.
47214         * modules/pipe (Depends-on): Likewise.
47215         * modules/posix_spawn-internal (Depends-on): Likewise.
47216
47217 2009-07-21  Bruno Haible  <bruno@clisp.org>
47218
47219         * modules/.gitattributes: New file.
47220
47221 2009-07-20  Bruno Haible  <bruno@clisp.org>
47222
47223         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
47224         (main): Use it.
47225
47226 2009-07-20  Eric Blake  <ebb9@byu.net>
47227
47228         test-pipe: make a bit more robust.
47229         * tests/test-pipe.c (myerr): Allow error messages regardless of
47230         what we do to stderr.
47231         (test_pipe): Rearrange to avoid deadlock.
47232         (child_main): Try a larger read, to ensure we avoided deadlock.
47233         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
47234         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
47235         if misused.
47236
47237 2009-07-19  Jim Meyering  <meyering@redhat.com>
47238
47239         fts: avoid false-positive cycle-detection
47240         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
47241         for each new command line argument.
47242
47243 2009-07-19  Bruno Haible  <bruno@clisp.org>
47244
47245         Fix build error on mingw with the modules sys_select and unistd.
47246         * modules/acl-tests (Depends-on): Add close.
47247         * modules/binary-io-tests (Depends-on): Likewise.
47248         * modules/closein-tests (Depends-on): Likewise.
47249         * modules/flock-tests (Depends-on): Likewise.
47250         * modules/fsync-tests (Depends-on): Likewise.
47251         * modules/lseek-tests (Depends-on): Likewise.
47252         * modules/pipe-tests (Depends-on): Likewise.
47253         * modules/posix_spawn-tests (Depends-on): Likewise.
47254         * modules/posix_spawnp-tests (Depends-on): Likewise.
47255         * modules/stat-time-tests (Depends-on): Likewise.
47256         * modules/yesno-tests (Depends-on): Likewise.
47257
47258 2009-07-19  Bruno Haible  <bruno@clisp.org>
47259
47260         Unify conditionals.
47261         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
47262         macros, not at the compiler macros.
47263         * lib/pipe.c: Likewise.
47264         * lib/execute.c: Likewise.
47265         * lib/spawni.c: Likewise.
47266
47267 2009-07-19  Bruno Haible  <bruno@clisp.org>
47268
47269         Fix handling of closed stdin/stdout/stderr on mingw.
47270         * lib/w32spawn.h: Include unistd.h.
47271         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
47272         file descriptor with O_NOINHERIT flag.
47273         (fd_safer_noinherit): New function, based on fd-safer.c.
47274         (dup_safer_noinherit): New function, based on dup-safer.c.
47275         (undup_safer_noinherit): New function.
47276         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
47277         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
47278         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
47279         instead of fd_safer.
47280         * tests/test-pipe.c: Include <windows.h>.
47281         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
47282         result.
47283
47284         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
47285         from main.
47286         (test_pipe): Pass an extra argument for disambiguation.
47287         (main): Invoke parent_main or child_main.
47288
47289         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
47290         consistently.
47291
47292 2009-07-18  Eric Blake  <ebb9@byu.net>
47293
47294         test-pipe: fix mingw build
47295         * tests/test-pipe.c (main): Avoid fcntl on mingw.
47296
47297 2009-07-18  Bruno Haible  <bruno@clisp.org>
47298
47299         * modules/pipe-tests (Makefile.am): Fix typo.
47300
47301 2009-07-18  Eric Blake  <ebb9@byu.net>
47302
47303         error: fix mingw build
47304         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
47305         Reported by Bruno Haible.
47306
47307         error: avoid undefined use of stdout
47308         * lib/error.c (error, error_at_line): Check that fd 1 is open
47309         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
47310         is handling faults and the close_stdout module wants to report the
47311         detection of closed stdout as an error.
47312
47313 2009-07-17  Eric Blake  <ebb9@byu.net>
47314
47315         pipe: be robust in face of closed fds
47316         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
47317         should cause child to misbehave.
47318         * modules/pipe-tests: New module.
47319         * tests/test-pipe.c: New file.
47320         * tests/test-pipe.sh: New file.
47321         Reported by Akim Demaille.
47322
47323 2009-07-14  Bruno Haible  <bruno@clisp.org>
47324
47325         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
47326         Reported by anonymous kc.
47327
47328 2009-07-07  Jim Meyering  <meyering@redhat.com>
47329
47330         maint.mk: don't look for translatable strings in *.m4 or *.mk
47331         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
47332         when searching for translatable strings.
47333
47334 2009-07-05  Jim Meyering  <meyering@redhat.com>
47335
47336         remove superfluous parentheses in STREQ definition
47337         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
47338         * lib/getugroups.c (STREQ): Likewise.
47339         * lib/fnmatch.c (STREQ): Likewise.
47340         Spotted by Bruno Haible.
47341
47342 2009-07-04  Jim Meyering  <meyering@redhat.com>
47343
47344         argv-iter: new module
47345         * MODULES.html.sh: Add argv-iter.
47346         * lib/argv-iter.c, lib/argv-iter.h: New files.
47347         * modules/argv-iter: New file.
47348         * modules/argv-iter-tests: New file.
47349         * tests/test-argv-iter.c: Test it.
47350
47351 2009-07-04  Bruno Haible  <bruno@clisp.org>
47352
47353         Fix assertion.
47354         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
47355         contains more exact copies of a given entry than file2, leave the extra
47356         copies unpaired rather than aborting.
47357         Reported by Eric Blake.
47358
47359 2009-07-02  Bruno Haible  <bruno@clisp.org>
47360
47361         Speedup git-merge-changelog for git cherry-pick.
47362         * lib/git-merge-changelog.c (struct entries_mapping): New type.
47363         (entries_mapping_get): New function, extracted from compute_mapping.
47364         (entries_mapping_reverse_get): New function.
47365         (compute_mapping): Add a 'full' argument. Return the result in a
47366         'struct entries_mapping'.
47367         (main): Update. Access the mappings through entries_mapping_get.
47368         Reported by Eric Blake.
47369
47370 2009-07-02  Bruno Haible  <bruno@clisp.org>
47371
47372         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
47373         best_i.
47374
47375 2009-07-02  Bruno Haible  <bruno@clisp.org>
47376
47377         Speed up approximate search for matching ChangeLog entries.
47378         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
47379         argument. Call fstrcmp_bounded instead of fstrcmp.
47380         (compute_mapping, try_split_merged_entry, main): Update callers.
47381
47382 2009-07-02  Bruno Haible  <bruno@clisp.org>
47383
47384         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
47385
47386 2009-06-30  Bruno Haible  <bruno@clisp.org>
47387
47388         Reduce the number of uc_is_cased calls.
47389         * lib/unicase.h (casing_suffix_context_t): Add
47390         'first_char_except_ignorable' field.
47391         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
47392         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
47393         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
47394         Update initializer.
47395         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
47396         case-ignorable characters.
47397         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
47398         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
47399         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
47400         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
47401         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
47402
47403 2009-06-30  Bruno Haible  <bruno@clisp.org>
47404
47405         Tests for module 'unicase/ignorable'.
47406         * modules/unicase/ignorable-tests: New file.
47407         * tests/unicase/test-ignorable.c: New file, generated by
47408         gen-uni-tables.
47409
47410         Tests for module 'unicase/cased'.
47411         * modules/unicase/cased-tests: New file.
47412         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
47413         * tests/unicase/test-predicate-part1.h: New file, derived from
47414         tests/unictype/test-predicate-part1.h.
47415         * tests/unicase/test-predicate-part2.h: New file, same as
47416         tests/unictype/test-predicate-part2.h.
47417
47418         Fix evaluation of "Before C" condition of FINAL_SIGMA.
47419         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
47420         (output_casing_properties): New function.
47421         (main): Call it.
47422         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
47423         * lib/unicase/cased.c: Include unictype/bitmap.h.
47424         (uc_is_cased): Define through a bitmap lookup.
47425         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
47426         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
47427         (uc_is_case_ignorable): Define through a bitmap lookup.
47428         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
47429         lib/unictype/bitmap.h.
47430         (Depends-on): Add inline. Clean up.
47431         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
47432         lib/unictype/bitmap.h.
47433         (Depends-on): Add inline. Clean up.
47434         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
47435         recognition.
47436         * tests/unicase/test-u16-tolower.c (main): Likewise.
47437         * tests/unicase/test-u32-tolower.c (main): Likewise.
47438
47439 2009-06-30  Bruno Haible  <bruno@clisp.org>
47440
47441         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
47442         * lib/unicase/u16-casemap.c: Likewise.
47443         * lib/unicase/u32-casemap.c: Likewise.
47444
47445 2009-06-29  Bruno Haible  <bruno@clisp.org>
47446
47447         Define u32_casefold as a wrapper around u32_ct_casefold.
47448         * lib/unicase/u32-casefold.c: Update.
47449         * modules/unicase/u32-casefold (Depends-on): Add
47450         unicase/u32-ct-casefold, unicase/empty-prefix-context,
47451         unicase/empty-suffix-context. Clean up.
47452
47453         Define u16_casefold as a wrapper around u16_ct_casefold.
47454         * lib/unicase/u16-casefold.c: Update.
47455         * modules/unicase/u16-casefold (Depends-on): Add
47456         unicase/u16-ct-casefold, unicase/empty-prefix-context,
47457         unicase/empty-suffix-context. Clean up.
47458
47459         Define u8_casefold as a wrapper around u8_ct_casefold.
47460         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
47461         * lib/unicase/u8-casefold.c: Update.
47462         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
47463         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
47464
47465         Define u32_totitle as a wrapper around u32_ct_totitle.
47466         * lib/unicase/u32-totitle.c: Update.
47467         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
47468         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
47469
47470         Define u16_totitle as a wrapper around u16_ct_totitle.
47471         * lib/unicase/u16-totitle.c: Update.
47472         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
47473         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
47474
47475         Define u8_totitle as a wrapper around u8_ct_totitle.
47476         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
47477         functions.
47478         (FUNC): Delegate to U_CT_TOTITLE.
47479         * lib/unicase/u8-totitle.c: Update.
47480         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
47481         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
47482
47483         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
47484         invocation.
47485         * modules/unicase/u32-tolower (Depends-on): Add
47486         unicase/empty-prefix-context, unicase/empty-suffix-context.
47487
47488         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
47489         invocation.
47490         * modules/unicase/u16-tolower (Depends-on): Add
47491         unicase/empty-prefix-context, unicase/empty-suffix-context.
47492
47493         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
47494         * modules/unicase/u8-tolower (Depends-on): Add
47495         unicase/empty-prefix-context, unicase/empty-suffix-context.
47496
47497         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
47498         invocation.
47499         * modules/unicase/u32-toupper (Depends-on): Add
47500         unicase/empty-prefix-context, unicase/empty-suffix-context.
47501
47502         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
47503         invocation.
47504         * modules/unicase/u16-toupper (Depends-on): Add
47505         unicase/empty-prefix-context, unicase/empty-suffix-context.
47506
47507         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
47508         * modules/unicase/u8-toupper (Depends-on): Add
47509         unicase/empty-prefix-context, unicase/empty-suffix-context.
47510
47511         New module 'unicase/u32-ct-casefold'.
47512         * lib/unicase/u32-ct-casefold.c: New file.
47513         * modules/unicase/u32-ct-casefold: New file.
47514
47515         New module 'unicase/u16-ct-casefold'.
47516         * lib/unicase/u16-ct-casefold.c: New file.
47517         * modules/unicase/u16-ct-casefold: New file.
47518
47519         New module 'unicase/u8-ct-casefold'.
47520         * lib/unicase/u8-ct-casefold.c: New file.
47521         * lib/unicase/u-ct-casefold.h: New file, derived from
47522         lib/unicase/u-casefold.h.
47523         * modules/unicase/u8-ct-casefold: New file.
47524
47525         New module 'unicase/u32-ct-totitle'.
47526         * lib/unicase/u32-ct-totitle.c: New file.
47527         * modules/unicase/u32-ct-totitle: New file.
47528
47529         New module 'unicase/u16-ct-totitle'.
47530         * lib/unicase/u16-ct-totitle.c: New file.
47531         * modules/unicase/u16-ct-totitle: New file.
47532
47533         New module 'unicase/u8-ct-totitle'.
47534         * lib/unicase/u8-ct-totitle.c: New file.
47535         * lib/unicase/u-ct-totitle.h: New file, derived from
47536         lib/unicase/u-totitle.h.
47537         * modules/unicase/u8-ct-totitle: New file.
47538
47539         New module 'unicase/u32-ct-tolower'.
47540         * lib/unicase/u32-ct-tolower.c: New file.
47541         * modules/unicase/u32-ct-tolower: New file.
47542
47543         New module 'unicase/u16-ct-tolower'.
47544         * lib/unicase/u16-ct-tolower.c: New file.
47545         * modules/unicase/u16-ct-tolower: New file.
47546
47547         New module 'unicase/u8-ct-tolower'.
47548         * lib/unicase/u8-ct-tolower.c: New file.
47549         * modules/unicase/u8-ct-tolower: New file.
47550
47551         New module 'unicase/u32-ct-toupper'.
47552         * lib/unicase/u32-ct-toupper.c: New file.
47553         * modules/unicase/u32-ct-toupper: New file.
47554
47555         New module 'unicase/u16-ct-toupper'.
47556         * lib/unicase/u16-ct-toupper.c: New file.
47557         * modules/unicase/u16-ct-toupper: New file.
47558
47559         New module 'unicase/u8-ct-toupper'.
47560         * lib/unicase/u8-ct-toupper.c: New file.
47561         * modules/unicase/u8-ct-toupper: New file.
47562
47563         Add context arguments to u*_casemap functions.
47564         * lib/unicase/unicasemap.h: Include unicase.h.
47565         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
47566         suffix_context arguments.
47567         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
47568         functions.
47569         (FUNC): Add prefix_context and suffix_context arguments. Use
47570         uc_is_cased and uc_is_case_ignorable.
47571         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
47572         * lib/unicase/u16-casemap.c: Likewise.
47573         * lib/unicase/u32-casemap.c: Likewise.
47574         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
47575         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
47576         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
47577         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
47578         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
47579         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
47580
47581         New module 'unicase/u32-suffix-context'.
47582         * lib/unicase/u32-suffix-context.c: New file.
47583         * modules/unicase/u32-suffix-context: New file.
47584
47585         New module 'unicase/u16-suffix-context'.
47586         * lib/unicase/u16-suffix-context.c: New file.
47587         * modules/unicase/u16-suffix-context: New file.
47588
47589         New module 'unicase/u8-suffix-context'.
47590         * lib/unicase/u8-suffix-context.c: New file.
47591         * lib/unicase/u-suffix-context.h: New file.
47592         * modules/unicase/u8-suffix-context: New file.
47593
47594         New module 'unicase/empty-suffix-context'.
47595         * lib/unicase/empty-suffix-context.c: New file.
47596         * modules/unicase/empty-suffix-context: New file.
47597
47598         New module 'unicase/u32-prefix-context'.
47599         * lib/unicase/u32-prefix-context.c: New file.
47600         * modules/unicase/u32-prefix-context: New file.
47601
47602         New module 'unicase/u16-prefix-context'.
47603         * lib/unicase/u16-prefix-context.c: New file.
47604         * modules/unicase/u16-prefix-context: New file.
47605
47606         New module 'unicase/u8-prefix-context'.
47607         * lib/unicase/u8-prefix-context.c: New file.
47608         * lib/unicase/u-prefix-context.h: New file.
47609         * lib/unicase/context.h: New file.
47610         * modules/unicase/u8-prefix-context: New file.
47611
47612         New module 'unicase/empty-prefix-context'.
47613         * lib/unicase/empty-prefix-context.c: New file.
47614         * modules/unicase/empty-prefix-context: New file.
47615
47616         New module 'unicase/ignorable'.
47617         * lib/unicase/ignorable.c: New file.
47618         * modules/unicase/ignorable: New file.
47619
47620         New module 'unicase/cased'.
47621         * lib/unicase/caseprop.h: New file.
47622         * lib/unicase/cased.c: New file.
47623         * modules/unicase/cased: New file.
47624
47625         New functions for case mapping of substrings.
47626         * lib/unicase.h (casing_prefix_context_t): New type.
47627         (unicase_empty_prefix_context): New variable.
47628         (u8_casing_prefix_context, u16_casing_prefix_context,
47629         u32_casing_prefix_context, u8_casing_prefixes_context,
47630         u16_casing_prefixes_context, u32_casing_prefixes_context): New
47631         declarations.
47632         (casing_suffix_context_t): New type.
47633         (unicase_empty_suffix_context): New variable.
47634         (u8_casing_suffix_context, u16_casing_suffix_context,
47635         u32_casing_suffix_context, u8_casing_suffixes_context,
47636         u16_casing_suffixes_context, u32_casing_suffixes_context,
47637         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
47638         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
47639         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
47640         declarations.
47641
47642 2009-06-28  Jim Meyering  <meyering@redhat.com>
47643
47644         boostrap: indent only with spaces
47645         * build-aux/bootstrap: Indent only with spaces, never TABs.
47646
47647         bootstrap: split long lines
47648         * build-aux/bootstrap: Keep line length < 80.
47649
47650         bootstrap: sync from coreutils
47651         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
47652         just as autoreconf does.  Verify a list of prerequisite
47653         package-name,version-number pairs if defined in bootstrap.conf.
47654         Refer to README-prereq, if prerequisites are not satisfied.
47655
47656 2009-06-27  Eric Blake  <ebb9@byu.net>
47657
47658         tests: add test for bogus NULL definition
47659         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
47660         * tests/test-stdlib.c: Likewise.
47661         * tests/test-string.c: Likewise.
47662         * tests/test-locale.c: Likewise.
47663         * tests/test-unistd.c: Likewise.
47664         * modules/stdio-tests (Depends-on): Add verify.
47665         * modules/stdlib-tests (Depends-on): Likewise.
47666         * modules/string-tests (Depends-on): Likewise.
47667         * modules/locale-tests (Depends-on): Likewise.
47668         * modules/unistd-tests (Depends-on): Likewise.
47669
47670 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
47671
47672         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
47673         self-explaining comment.
47674         * m4/selinux-selinux-h: Update serial.
47675         (gl_LIBSELINUX): New macro, adding a warning for missing development
47676         packages to code extracted from...
47677         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
47678         Add warning for missing development packages here, too.
47679
47680 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
47681
47682         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
47683
47684 2009-06-25  Eric Blake  <ebb9@byu.net>
47685
47686         version-etc: fix regression
47687         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
47688         gcc.
47689         (version_etc): Use it, to catch bugs with trailing NULL.
47690         * lib/version-etc.c (version_etc_arn): Delete unused argument.
47691         (version_etc_va): Fix logic bug.
47692         * modules/version-etc-tests: Add test.
47693         * tests/test-version-etc.c: New file.
47694         * tests/test-version-etc.sh: Likewise.
47695
47696 2009-06-25  Sam Steingold  <sds@gnu.org>
47697
47698         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
47699         mbtowc declaration.
47700
47701 2009-06-25  Eric Blake  <ebb9@byu.net>
47702
47703         fpurge: migrate into <stdio.h>
47704         * lib/fpurge.h: Delete...
47705         * lib/stdio.in.h (fpurge): ...and declare here, instead.
47706         * lib/fpurge.c (fpurge): Change declaring header.
47707         * modules/fpurge (Files): Drop deleted file.
47708         (Depends-on): Add stdio.
47709         (configure.ac): Set witness.
47710         * modules/stdio (Makefile.am): Support fpurge macros.
47711         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
47712         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
47713         * lib/fflush.c: Update client.
47714         * tests/test-fpurge.c: Likewise.
47715         * NEWS: Mention the change.
47716
47717 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
47718
47719         * lib/argp-version-etc.c (program_authors): Add const
47720         qualifier.
47721         * lib/version-etc.c: Fix typos in the comments.
47722         * modules/argp-version-etc: Depends on version-etc.
47723
47724 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
47725
47726         argp-version-etc: new module.
47727
47728         * lib/argp-version-etc.c: New file.
47729         * lib/argp-version-etc.h: New file.
47730         * modules/argp-version-etc: New file.
47731         * modules/argp-version-etc-tests: New file.
47732         * tests/test-argp-version-etc.c: New test.
47733         * tests/test-argp-version-etc-1.sh: New test.
47734
47735 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
47736
47737         Provide additional interfaces and documentation for version-etc
47738         module.
47739
47740         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
47741         interfaces.
47742         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
47743         prototypes.
47744
47745 2009-06-24  Bruno Haible  <bruno@clisp.org>
47746
47747         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
47748         HAVE_LIB${NAME} macro.
47749         Reported by Sam Steingold <sds@gnu.org>.
47750
47751 2009-06-23  Simon Josefsson  <simon@josefsson.org>
47752
47753         * modules/hash-tests (test_hash_LDADD): Link to libintl when
47754         needed.
47755
47756 2009-06-21  Bruno Haible  <bruno@clisp.org>
47757
47758         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
47759         work.
47760         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
47761         together with LIB${NAME}, LTLIB${NAME}.
47762         Reported by Sam Steingold <sds@gnu.org>.
47763
47764 2009-06-20  Jim Meyering  <meyering@redhat.com>
47765
47766         tests: make sc_require_test_exit_idiom more generic
47767         * top/maint.mk (Exit_witness_file): New overridable variable.
47768         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
47769         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
47770
47771 2009-06-19  Jim Meyering  <meyering@redhat.com>
47772
47773         hash: reverse order of src/dst parameters in an internal interface
47774         * lib/hash.c (transfer_entries): Reverse order of parameters to
47775         put DST before SRC.  Adjust callers.
47776
47777         tests: test-hash: avoid wholesale duplication
47778         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
47779         Instead, use a loop and add a single conditional.
47780
47781         tests: test-hash: allow seed selection via a command line argument
47782         * tests/test-hash.c (get_seed): New function.
47783         (main): Use it.
47784
47785 2009-06-19  Eric Blake  <ebb9@byu.net>
47786
47787         hash: avoid memory leak on allocation failure
47788         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
47789         failure.  Factor repeated algorithm...
47790         (transfer_entries): ...into new helper routine.
47791         (hash_delete): React to hash_rehash return value.
47792
47793         hash: reduce memory pressure in hash_rehash no-op case
47794         * lib/hash.c (next_prime): Avoid overflow.
47795         (hash_initialize): Factor bucket size computation...
47796         (compute_bucket_size): ...into new helper function.
47797         (hash_rehash): Use new function and open coding to reduce memory
47798         pressure, and avoid a memory leak in USE_OBSTACK code.
47799         Reported by Jim Meyering.
47800
47801 2009-06-18  Eric Blake  <ebb9@byu.net>
47802
47803         hash: make rotation more obvious
47804         * modules/hash (Depends-on): Add bitrotate and stdint.
47805         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
47806         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
47807         (SIZE_MAX): Rely on headers for definition.
47808         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
47809         (raw_hasher): Use rotr_sz.
47810         Suggested by Jim Meyering.
47811
47812         hash: fix memory leak in last patch
47813         * lib/hash.c (hash_rehash): Avoid memory leak.
47814
47815         hash: avoid no-op rehashing
47816         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
47817
47818         hash: provide default callback functions
47819         * lib/hash.c (raw_hasher, raw_comparator): New functions.
47820         (hash_initialize): Use them as defaults.
47821         * tests/test-hash.c (main): Test this.
47822
47823         hash: minor optimization
47824         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
47825         when possible.
47826         (hash_initialize): Document this promise.
47827         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
47828         * tests/test-hash.c (hash_compare_strings): Test this.
47829
47830 2009-06-18  Bruno Haible  <bruno@clisp.org>
47831
47832         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
47833         going to be replaced anyway.
47834
47835 2009-06-18  Bruno Haible  <bruno@clisp.org>
47836
47837         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
47838         in one place.
47839         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
47840         be replaced anyway.
47841
47842 2009-06-18  Eric Blake  <ebb9@byu.net>
47843
47844         hash: check for resize before insertion
47845         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
47846         threshold before insertion, so that a pathological hash_rehash
47847         that fills every bucket can still trigger another rehash.
47848
47849 2009-06-18  Jim Meyering  <meyering@redhat.com>
47850
47851         hash-tests: add a loop around the small tests
47852         * tests/test-hash.c (main): Repeat small tests with selected
47853         small initial table sizes.
47854
47855 2009-06-17  Eric Blake  <ebb9@byu.net>
47856
47857         hash: minor cleanups
47858         * lib/hash.h (hash_entry): Make opaque, by moving...
47859         * lib/hash.c (hash_entry): ...here.
47860         (hash_insert): Clarify restrictions on what can be inserted.
47861         (hash_get_next): Clarify when it is safe to remove an element
47862         during traversal.
47863         (check_tuning): Skip verification when tuning is known safe.
47864         (hash_initialize): Clarify restrictions on tuning.
47865
47866 2009-06-17  Jim Meyering  <jim@meyering.net>
47867         and Eric Blake  <ebb9@byu.net>
47868
47869         hash-tests: new module
47870         * modules/hash-tests: New file.
47871         * tests/test-hash.c: New file.
47872
47873 2009-06-17  Eric Blake  <ebb9@byu.net>
47874
47875         strstr-simple: document new module
47876         * MODULES.html.sh: Document new module.
47877
47878         strstr, strcasestr: replace on platforms with broken memchr
47879         * modules/strstr: Split into...
47880         * modules/strstr-simple: ...new module that does not care about
47881         performance, but does care about glibc bug.
47882         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
47883         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
47884         if platform memchr is broken, per Debian bug 521737.
47885         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
47886         memchr.
47887         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
47888         * doc/posix-functions/strstr.texi (strstr): Document the fix.
47889         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
47890         * modules/mountlist (Depends-on): Add strstr-simple.
47891         * modules/gen-uni-tables (Depends-on): Likewise.
47892         * modules/argz (Depends-on): Add strstr.
47893
47894 2009-06-17  Bruno Haible  <bruno@clisp.org>
47895
47896         * modules/posix_spawn-internal (Depends-on): Add errno.
47897
47898 2009-06-17  Bruno Haible  <bruno@clisp.org>
47899
47900         Define missing ESTALE on Interix 3.5.
47901         * lib/errno.in.h (ESTALE): Assign a value if missing.
47902         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
47903         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
47904         missing.
47905         * doc/posix-headers/errno.texi: Mention the Interix bug.
47906         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
47907
47908 2009-06-15  Eric Blake  <ebb9@byu.net>
47909
47910         memchr, memchr2: add valgrind exception
47911         * lib/memchr.valgrind: New file.
47912         * lib/memchr2.valgrind: New file.
47913         * modules/memchr (Files): Distribute valgrind file.
47914         * modules/memchr2 (Files): Likewise.
47915
47916         docs: memchr is no longer obsolete
47917         * MODULES.html.sh: Move memchr from obsolete to string.h section.
47918         * lib/string.in.h (memchr): Simplify logic.
47919
47920 2009-06-14  Jim Meyering  <meyering@redhat.com>
47921
47922         link-follow: fix the "checking..." message to not mention trailing slash
47923         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
47924         never considered trailing slashes.
47925
47926 2009-06-14  Bruno Haible  <bruno@clisp.org>
47927
47928         * m4/memchr.m4: Mention also the bug on IA-64.
47929         * doc/posix-functions/memchr.texi: Likewise.
47930
47931 2009-06-12  Eric Blake  <ebb9@byu.net>
47932
47933         memchr: detect broken x86_64 and alpha implementations
47934         * modules/memchr-tests (Depends-on): Move mmap detection...
47935         * modules/memchr (Depends-on): ...here.
47936         (configure.ac): Set indicator.
47937         * lib/string.in.h (memchr): Declare replacement.
47938         * modules/string (Makefile.am): Trigger replacement.
47939         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
47940         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
47941         bugs.
47942         * doc/posix-functions/memchr.texi (memchr): Document the bug.
47943         * modules/getpagesize (License): Relax license.
47944
47945 2009-06-11  Bruno Haible  <bruno@clisp.org>
47946
47947         * lib/idpriv.h: Add more references.
47948
47949 2009-06-08  Bruno Haible  <bruno@clisp.org>
47950
47951         Tests for module 'idpriv-droptemp'.
47952         * modules/idpriv-droptemp-tests: New file.
47953         * tests/test-idpriv-droptemp.sh: New file.
47954         * tests/test-idpriv-droptemp.su.sh: New file.
47955         * tests/test-idpriv-droptemp.c: New file.
47956
47957         New module 'idpriv-droptemp'.
47958         * lib/idpriv-droptemp.c: New file.
47959         * modules/idpriv-droptemp: New file.
47960
47961 2009-06-08  Bruno Haible  <bruno@clisp.org>
47962
47963         Tests for module 'idpriv-drop'.
47964         * modules/idpriv-drop-tests: New file.
47965         * tests/test-idpriv-drop.sh: New file.
47966         * tests/test-idpriv-drop.su.sh: New file.
47967         * tests/test-idpriv-drop.c: New file.
47968
47969         New module 'idpriv-drop'.
47970         * lib/idpriv.h: New file.
47971         * lib-idpriv-drop.c: New file.
47972         * m4/idpriv.m4: New file.
47973         * modules/idpriv-drop: New file.
47974
47975 2009-06-08  Bruno Haible  <bruno@clisp.org>
47976
47977         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
47978         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
47979         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
47980         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
47981         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
47982         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
47983         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
47984
47985 2009-06-08  Eric Blake  <ebb9@byu.net>
47986
47987         test-strstr: use memory fence, when possible
47988         * tests/test-strstr.c (main): Use memory fence, in order to be
47989         more likely to trigger Debian bug 521737.
47990         * modules/strstr-tests (Files): Pull in additional files.
47991
47992         memchr: no longer obsolete, for wider field testing
47993         * modules/memchr (Status, Notice): Delete, this module is no
47994         longer obsolete.
47995         * modules/vasnprintf (Depends-on): Add memchr.
47996
47997 2009-06-07  Jim Meyering  <meyering@redhat.com>
47998
47999         hash: declare some functions with the warn_unused_result attribute
48000         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
48001
48002 2009-06-07  Bruno Haible  <bruno@clisp.org>
48003
48004         * tests/test-alignof.c: Don't test int64_t if it does not exist.
48005         Reported by Eric Blake.
48006
48007 2009-06-06  Eric Blake  <ebb9@byu.net>
48008
48009         test-alignof: fix typo with long double
48010         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
48011         compiler error.
48012
48013 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
48014
48015         Escape non-texinfo { and }s.
48016         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
48017         markup error.
48018
48019 2009-06-04  Jim Meyering  <meyering@redhat.com>
48020
48021         gitlog-to-changelog: don't infloop on an empty commit log
48022         * build-aux/gitlog-to-changelog: Warn about an empty log message.
48023         Reported by Boris Petersen <transacid@centerim.org>.
48024
48025 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
48026
48027         version-etc: extend for packagers
48028         Add three new configure options, intended for packagers:
48029           --with-packager="packager name"
48030           --with-packager-version="packager-specific version"
48031           --with-packager-bug-reports="packager bug reporting"
48032         An example with coreutils:
48033           $ ./configure \
48034             --with-packager=Gentoo \
48035             --with-packager-bug-report=http://bugs.gentoo.org/ \
48036             --with-packager-version="patchset 1.6"
48037           $ ./src/ls --version | head -n2
48038           ls (GNU coreutils) 7.1-dirty
48039           Packaged by Gentoo (patchset 1.6)
48040         Note that the bug reporting info via --help doesn't show up because
48041         coreutils uses its own custom emit_bug_reporting_address() implementation
48042         in src/system.h.  If it didn't, it'd look like:
48043           $ ./src/ls --help | tail -n4
48044           Report bugs to <bug-coreutils@gnu.org>.
48045           Report Gentoo bugs to <http://bugs.gentoo.org/>.
48046           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
48047           General help using GNU software: <http://www.gnu.org/gethelp/>.
48048         * lib/version-etc.c: Print new information, if provided.
48049         * m4/version-etc.m4: New file.
48050         * modules/version-etc (Files): Add m4/version-etc.m4.
48051         (configure.ac): Add gl_VERSION_ETC.
48052
48053 2009-05-31  Bruno Haible  <bruno@clisp.org>
48054
48055         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
48056         and 'int64_t'.
48057         * modules/alignof-tests (Dependencies): Add stdint.
48058         Reported by Eric Blake.
48059
48060 2009-05-31  Bruno Haible  <bruno@clisp.org>
48061
48062         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
48063         restriction due to compiler bugs.
48064         Reported by Eric Blake.
48065
48066 2009-05-31  Simon Josefsson  <simon@josefsson.org>
48067             Bruno Haible  <bruno@clisp.org>
48068
48069         Fix test-alignof failure.
48070         * lib/alignof.h (alignof_slot): New macro.
48071         (alignof_type): New macro, with the same semantics as the previous
48072         'alignof'.
48073         (alignof): Alias to alignof_slot.
48074         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
48075         check that the results are usable as constant expressions.
48076
48077 2009-05-31  Bruno Haible  <bruno@clisp.org>
48078
48079         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
48080         * tests/test-memchr.c (main): Check that memchr does not read past the
48081         first occurrence of the byte.
48082         * tests/test-strstr.c (main): Update comment.
48083         Suggested by Eric Blake.
48084
48085 2009-05-30  Bruno Haible  <bruno@clisp.org>
48086
48087         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
48088         detail how to use dumpbin.
48089         Reported by David Byron <dbyron@dbyron.com>.
48090
48091 2009-06-02  Simon Josefsson  <simon@josefsson.org>
48092
48093         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
48094
48095 2009-06-02  Simon Josefsson  <simon@josefsson.org>
48096
48097         * m4/manywarnings.m4: Add GCC 4.4 warnings.
48098
48099 2009-05-28  Bruno Haible  <bruno@clisp.org>
48100
48101         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
48102         build-aux/ files.
48103
48104 2009-05-28  Simon Josefsson  <simon@josefsson.org>
48105
48106         * gnulib-tool (func_import): Transform license on build-aux/ files too.
48107
48108 2009-05-27  Simon Josefsson  <simon@josefsson.org>
48109
48110         * gnulib-tool (sed_transform_main_lib_file)
48111         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
48112         regexps.
48113
48114 2009-05-26  Simon Josefsson  <simon@josefsson.org>
48115
48116         * tests/test-strstr.c: Add another self-test.
48117         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
48118         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
48119
48120 2009-05-23  Bruno Haible  <bruno@clisp.org>
48121
48122         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
48123         change.
48124
48125 2009-05-21  Bruno Haible  <bruno@clisp.org>
48126
48127         Simplify use of mode_t varargs.
48128         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
48129         uses 'mode_t' or 'int'.
48130         * lib/openat.c (openat): Likewise.
48131         * lib/open-safer.c (open_safer): Likewise.
48132         * m4/mode_t.m4: New file.
48133         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
48134         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
48135         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
48136         * modules/open (Files): Add m4/mode_t.m4.
48137         * modules/openat (Files): Likewise.
48138         * modules/fcntl-safer (Files): Likewise.
48139         Suggested by Eric Blake.
48140
48141 2009-05-21  Pádraig Brady  <P@draigbrady.com>
48142
48143         * doc/glibc-functions/fallocate.texi: New file.
48144         * doc/gnulib.texi: Include it.
48145
48146 2009-05-21  Eric Blake  <ebb9@byu.net>
48147             Bruno Haible  <bruno@clisp.org>
48148
48149         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
48150         invocations.
48151         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
48152
48153 2009-05-21  Eric Blake  <ebb9@byu.net>
48154             Bruno Haible  <bruno@clisp.org>
48155
48156         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
48157         include_next. Fix of 2008-11-20 commit.
48158         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
48159         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
48160         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
48161         NEXT_MATH_H.
48162         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
48163         instead of NEXT_MATH_H.
48164
48165 2009-05-21  Bruno Haible  <bruno@clisp.org>
48166
48167         Avoid redefinition warnings for SIZE_MAX.
48168         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
48169         Reported by Simon Josefsson.
48170
48171 2009-05-21  Bruno Haible  <bruno@clisp.org>
48172
48173         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
48174         AC_CACHE_VAL.
48175
48176 2009-05-20  Bruno Haible  <bruno@clisp.org>
48177
48178         Make zeroptr.h work on mingw.
48179         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
48180         mprotect.
48181         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
48182         * modules/memchr2-tests (configure.ac): Likewise.
48183         * modules/memcmp-tests (configure.ac): Likewise.
48184         * modules/memmem-tests (configure.ac): Likewise.
48185         * modules/memrchr-tests (configure.ac): Likewise.
48186         Reported by Simon Josefsson.
48187
48188 2009-05-20  Simon Josefsson  <simon@josefsson.org>
48189
48190         * tests/test-glob.c: Include string.h for strcmp prototype.
48191
48192 2009-05-20  Simon Josefsson  <simon@josefsson.org>
48193
48194         * modules/getdelim (Depends-on): Add explicit stdint, although it
48195         was implicitly already pulled in via realloc-posix.
48196         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
48197
48198 2009-05-20  Simon Josefsson  <simon@josefsson.org>
48199
48200         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
48201         G. Christensen" <tgc@jupiterrise.com>.
48202         * m4/sys_socket_h.m4: Check for sa_family_t.
48203         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
48204         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
48205         * tests/test-sys_socket.c: Check that sa_family_t works.
48206
48207 2009-05-18  Eric Blake  <ebb9@byu.net>
48208
48209         maint.mk: allow gnulib_dir in VPATH build
48210         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
48211
48212 2009-05-15  Jim Meyering  <meyering@redhat.com>
48213
48214         maint.mk: Give gnulib_dir a default definition.
48215         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
48216         Thus, most packages no longer need to specify this variable in cfg.mk
48217
48218 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
48219
48220         rename.m4: fix typos that would make non-mingw cross-configure fail
48221         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
48222
48223 2009-05-13  Eric Blake  <ebb9@byu.net>
48224
48225         mmap-anon: avoid out-of-order autoconf expansion
48226         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
48227         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
48228         * modules/memchr-tests (Depends-on): Add extensions.
48229         * modules/memchr2-tests (Depends-on): Add extensions.
48230         * modules/memcmp-tests (Depends-on): Add extensions.
48231         * modules/memmem-tests (Depends-on): Add extensions.
48232         * modules/memrchr-tests (Depends-on): Add extensions.
48233
48234 2009-05-13  Bruno Haible  <bruno@clisp.org>
48235
48236         Make some tests ISO C 99 compliant.
48237         * tests/zerosize-ptr.h: New file.
48238         * tests/test-memchr.c: Include zerosize-ptr.h.
48239         (main): Use a zero-size object pointer instead of NULL.
48240         * tests/test-memchr2.c: Include zerosize-ptr.h.
48241         (main): Use a zero-size object pointer instead of NULL.
48242         * tests/test-memcmp.c: Include zerosize-ptr.h.
48243         (main): Use a zero-size object pointer instead of NULL.
48244         * tests/test-memmem.c: Include zerosize-ptr.h.
48245         (main): Use a zero-size object pointer instead of NULL.
48246         * tests/test-memrchr.c: Include zerosize-ptr.h.
48247         (main): Use a zero-size object pointer instead of NULL.
48248         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
48249         m4/mmap-anon.m4.
48250         (Depends-on): Add getpagesize.
48251         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
48252         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
48253         m4/mmap-anon.m4.
48254         (Depends-on): Add getpagesize.
48255         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
48256         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
48257         m4/mmap-anon.m4.
48258         (Depends-on): Add getpagesize.
48259         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
48260         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
48261         m4/mmap-anon.m4.
48262         (Depends-on): Add getpagesize.
48263         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
48264         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
48265         m4/mmap-anon.m4.
48266         (Depends-on): Add getpagesize.
48267         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
48268
48269 2009-05-12  Bruno Haible  <bruno@clisp.org>
48270
48271         Tests for module 'alignof'.
48272         * modules/alignof-tests: New file.
48273         * tests/test-alignof.c: New file.
48274
48275 2009-05-12  Bruno Haible  <bruno@clisp.org>
48276
48277         Fix alignof macro.
48278         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
48279         vendor compilers that are always correct.
48280
48281 2009-05-12  Bruno Haible  <bruno@clisp.org>
48282
48283         Make the MAP_ANONYMOUS detection work on HP-UX 11.
48284         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
48285         not whether its fully works.
48286
48287 2009-05-12  Bruno Haible  <bruno@clisp.org>
48288
48289         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
48290
48291 2009-05-12  Jim Meyering  <meyering@redhat.com>
48292
48293         * top/maint.mk: Adjust backslash alignment.
48294
48295 2009-05-11  Simon Josefsson  <simon@josefsson.org>
48296
48297         * top/maint.mk: Make $(srcdir)/build-aux configurable.
48298
48299 2009-05-11  Eric Blake  <ebb9@byu.net>
48300
48301         argp: avoid undefined behavior
48302         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
48303         macros.
48304
48305 2009-05-08  Simon Josefsson  <simon@josefsson.org>
48306
48307         * tests/test-vc-list-files-git.sh: Do git config of user.email and
48308         user.name to prevent git commit from complaining.
48309
48310 2009-05-10  Bruno Haible  <bruno@clisp.org>
48311
48312         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
48313         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
48314         it rewrites every file name only once.
48315         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
48316
48317 2009-05-08  Bruno Haible  <bruno@clisp.org>
48318
48319         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
48320         instead of 'max'.
48321
48322 2009-05-08  Simon Josefsson  <simon@josefsson.org>
48323
48324         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
48325         sockaddr_storage test.
48326
48327 2009-05-07  Simon Josefsson  <simon@josefsson.org>
48328
48329         * modules/sys_socket (Makefile.am): Substitute
48330         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
48331         * m4/sys_socket_h.m4: Check for sockaddr_storage.
48332         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
48333         * tests/test-sys_socket.c: Check sockaddr_storage.
48334
48335 2009-05-08  Bruno Haible  <bruno@clisp.org>
48336
48337         New module 'alignof'.
48338         * lib/alignof.h: New file.
48339         * modules/alignof: New file.
48340
48341 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
48342             Bruno Haible  <bruno@clisp.org>
48343
48344         Fix test-file-has-acl on FreeBSD.
48345         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
48346         mask is implicitly added.
48347         * tests/test-file-has-acl.c: Include <signal.h>.
48348         (main): Terminate the test after 5 seconds.
48349         * modules/acl-tests (configure.ac): Check for alarm function.
48350
48351 2009-05-04  Bruno Haible  <bruno@clisp.org>
48352
48353         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
48354         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
48355         * modules/errno (configure.ac): Drop AC_REQUIRE.
48356         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
48357         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
48358
48359 2009-05-04  Simon Josefsson  <simon@josefsson.org>
48360
48361         * modules/glob-tests: New module.
48362         * tests/test-glob.c: Add.
48363
48364 2009-05-04  Simon Josefsson  <simon@josefsson.org>
48365
48366         * modules/fnmatch-tests: New module.
48367         * tests/test-fnmatch.c: Add.
48368
48369 2009-05-04  Eric Blake  <ebb9@byu.net>
48370
48371         maint: make the new no-submodule-changes rule VPATH-safe
48372         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
48373
48374 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
48375             Bruno Haible  <bruno@clisp.org>
48376
48377         acl: Fix infinite loop on FreeBSD.
48378         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
48379         of return value from acl_get_entry.
48380         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
48381         Likewise.
48382
48383 2009-05-03  Bruno Haible  <bruno@clisp.org>
48384
48385         * lib/acl-internal.h (acl_entries): Clarify return value.
48386         * lib/acl_entries.c (acl_entries): Likewise.
48387
48388 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
48389
48390         Bug fix in acl module.
48391         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
48392
48393 2009-05-03  Bruno Haible  <bruno@clisp.org>
48394
48395         Create gperf-generated file in the source dir, not in the build dir.
48396         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
48397         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
48398         * modules/unicase/locale-language (unicase/locale-languages.h):
48399         Likewise.
48400         * modules/unicase/special-casing (unicase/special-casing-table.h):
48401         Likewise.
48402         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
48403         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
48404         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
48405         Reported by Ralf Wildenhues.
48406
48407 2009-05-03  Bruno Haible  <bruno@clisp.org>
48408
48409         * modules/fnmatch (Description, configure.ac): Taken from
48410         fnmatch-posix.
48411         * modules/fnmatch-posix: Turn into a symbolic reference to the
48412         'fnmatch' module, and deprecate.
48413         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
48414
48415 2009-05-03  Bruno Haible  <bruno@clisp.org>
48416
48417         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
48418         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
48419         Reported by Ralf Wildenhues.
48420
48421 2009-05-04  Simon Josefsson  <simon@josefsson.org>
48422
48423         * m4/fnmatch.m4: Fix fnmatch re-define.
48424
48425 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
48426
48427         priv-set: new module and tests; adapt write-any-file
48428         * lib/priv-set.c: New file.
48429         * lib/priv-set.h: New file.
48430         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
48431         * lib/write-any-file.c: Simplify by using priv-set module.
48432         * m4/priv-set.m4: New file.
48433         * modules/priv-set: New file.
48434         * modules/unlinkdir: Add dependency on priv-set module.
48435         * modules/write-any-file: Likewise.
48436
48437         Tests for module 'priv-set'.
48438         * modules/priv-set-tests: New file.
48439         * tests/test-priv-set.c: New file.
48440
48441 2009-05-03  Jim Meyering  <meyering@redhat.com>
48442             Bruno Haible  <bruno@clisp.org>
48443
48444         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
48445         use the converted UTF-8 variant of the name instead.
48446
48447 2009-05-03  Jim Meyering  <meyering@redhat.com>
48448
48449         tests: tighten some getdate tests
48450         * tests/test-getdate.c (main): Tighten tests: require equality,
48451         not just greater than.  Set TZ envvar to UTC0.
48452
48453 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
48454
48455         getdate: correctly interpret "next monday" when run on a Monday
48456         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
48457         that e.g., "next tues" (when run on a tuesday) results in a date
48458         that is one week in the future, and not today's date.
48459         I.e., add a week when the wday is the same as the current one.
48460         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
48461         and earlier by Martin Bernreuther and Jan Minář.
48462         * tests/test-getdate.c (main): Check that "next DAY" is always in
48463         the future and that "last DAY" is always in the past.
48464
48465 2009-05-02  Jim Meyering  <meyering@redhat.com>
48466
48467         build: ensure that a release build fails when a submodule is unclean
48468         * top/maint.mk (no-submodule-changes): New rule.
48469         (alpha beta major): Depend on it.
48470
48471 2009-05-02  Bruno Haible  <bruno@clisp.org>
48472
48473         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
48474         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
48475         shell variable gl_fnmatch_required to detect which variant is
48476         requested.
48477         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
48478         gl_FUNC_FNMATCH_POSIX.
48479         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
48480         exclude fnmatch-posix.
48481
48482 2009-05-02  Bruno Haible  <bruno@clisp.org>
48483
48484         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
48485         * modules/mbsrtowcs (License): Change to LGPLv2+.
48486         * modules/strnlen1 (License): Likewise.
48487         Reported by Simon Josefsson.
48488
48489 2009-05-02  Bruno Haible  <bruno@clisp.org>
48490
48491         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
48492         "cross".
48493         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
48494         gnulib-tool was called with option --source-base=lib.
48495
48496 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48497
48498         Use automake *-local hooks without commands, for extensibility.
48499         * modules/localcharset (Makefile.am): Rename install-exec-local
48500         rule to install-exec-localcharset, and make it a prerequisite of
48501         install-exec-local.  Likewise, rename the uninstall-local rule to
48502         uninstall-localcharset, and make it a prerequisite of the former.
48503
48504 2009-05-01  Bruno Haible  <bruno@clisp.org>
48505
48506         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
48507         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
48508         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
48509         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
48510         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
48511         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
48512         m4/locale-zh.m4, m4/codeset.m4.
48513
48514         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
48515         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
48516         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
48517         m4/locale-zh.m4.
48518
48519         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
48520         REPLACE_WCRTOMB if mbstate_t must be replaced.
48521         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
48522         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
48523
48524 2009-05-01  Bruno Haible  <bruno@clisp.org>
48525
48526         Avoid compiler warnings when redefining macros defined by <libintl.h>.
48527         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
48528         dngettext, dcngettext, textdomain, bindtextdomain,
48529         bind_textdomain_codeset): Undefine before redefining.
48530
48531 2009-04-30  Bruno Haible  <bruno@clisp.org>
48532
48533         Fix bug introduced on 2009-04-25.
48534         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
48535         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
48536         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
48537         is defined.
48538         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
48539         is defined.
48540         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
48541         is defined.
48542         Reported by Elbert_Pol <elbert.pol@gmail.com>.
48543
48544 2009-04-28  Bruno Haible  <bruno@clisp.org>
48545
48546         Comment tweaks.
48547         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
48548         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
48549         * lib/unicase.h (u*_casexfrm): Likewise.
48550         Reported by Paolo Bonzini.
48551
48552 2009-04-28  Bruno Haible  <bruno@clisp.org>
48553
48554         Fix a compilation error.
48555         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
48556         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
48557         Reported by Jim Meyering.
48558
48559 2009-04-27  Bruno Haible  <bruno@clisp.org>
48560
48561         New module 'libunistring'.
48562         * modules/libunistring: New file.
48563         * m4/libunistring.m4: New file.
48564         * MODULES.html.sh (Unicode string functions): Add it.
48565
48566 2009-04-27  Eric Blake  <ebb9@byu.net>
48567
48568         maint.mk: allow package-specific header to provide <config.h>
48569         * top/maint.mk (sc_require_config_h): New variable.
48570         (sc_require_config_h, sc_require_config_h_first): Use it.
48571
48572 2009-04-27  Simon Josefsson  <simon@josefsson.org>
48573
48574         * top/maint.mk (sc_avoid_if_before_free): Except
48575         useless-if-before-free script.
48576
48577 2009-04-27  Eric Blake  <ebb9@byu.net>
48578
48579         maintainer-makefile: depend on all required helper scripts
48580         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
48581         useless-if-before-free.
48582         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
48583         version, rather than assuming gnulib checkout is available.
48584         Reported by Simen Josefsson.
48585
48586 2009-04-26  Bruno Haible  <bruno@clisp.org>
48587
48588         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
48589         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
48590         "../" or "..".
48591
48592 2009-04-26  Bruno Haible  <bruno@clisp.org>
48593
48594         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
48595         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
48596         AC_LIB_HAVE_LINKFLAGS.
48597
48598 2009-04-26  Bruno Haible  <bruno@clisp.org>
48599
48600         Simplify calling convention of u*_conv_from_encoding.
48601         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
48602         u32_conv_from_encoding): Expect a resultbuf argument and return the
48603         result directly as a pointer.
48604         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
48605         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
48606         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
48607         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
48608         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
48609         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
48610         Update.
48611         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
48612         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
48613         * lib/vasnprintf.c (VASNPRINTF): Update.
48614         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
48615         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
48616         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
48617         * NEWS: Mention the change.
48618
48619 2009-04-26  Bruno Haible  <bruno@clisp.org>
48620
48621         Simplify calling convention of u*_conv_to_encoding.
48622         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
48623         u32_conv_to_encoding): Expect a resultbuf argument and return the
48624         result directly as a pointer.
48625         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
48626         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
48627         freeing scaled_offsets if mem_iconveha failed.
48628         * lib/unicase/u-casexfrm.h (FUNC): Update.
48629         * lib/uninorm/u-normxfrm.h (FUNC): Update.
48630         * lib/vasnprintf.c (VASNPRINTF): Update.
48631         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
48632         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
48633         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
48634         * NEWS: Mention the change.
48635
48636 2009-04-26  Bruno Haible  <bruno@clisp.org>
48637
48638         Avoid test failures on AIX and OSF/1.
48639         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
48640         malloc(0).
48641         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
48642         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
48643         Likewise.
48644         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
48645         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
48646         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
48647         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
48648         * doc/posix-functions/malloc.texi: Document the portability problem
48649         related to malloc(0).
48650
48651 2009-04-26  Bruno Haible  <bruno@clisp.org>
48652
48653         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
48654         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
48655         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
48656
48657 2009-04-25  Bruno Haible  <bruno@clisp.org>
48658
48659         Avoid link error when creating a namespace clean library.
48660         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
48661         as macro with arguments if already defined as an alias.
48662         * lib/signbitf.c (gl_signbitf): Don't undefine.
48663         * lib/signbitd.c (gl_signbitd): Don't undefine.
48664         * lib/signbitl.c (gl_signbitl): Don't undefine.
48665
48666 2009-04-25  Jim Meyering  <meyering@redhat.com>
48667
48668         vc-list-files: fix another quoting bug
48669         * build-aux/vc-list-files: Avoid sed backslash expansion
48670         of pathological directory names.
48671
48672 2009-04-25  Eric Blake  <ebb9@byu.net>
48673
48674         vc-list-files: fix shell quoting error
48675         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
48676         timestamp.
48677
48678 2009-04-25  Jim Meyering  <meyering@redhat.com>
48679
48680         vc-list-files: restore lost functionality with subdir argument
48681         * build-aux/vc-list-files: When given a non-"." sub-directory
48682         argument, substitute the $dir/ prefix back onto each resulting name.
48683         Otherwise, coreutils' root_tests check would fail.
48684
48685 2009-04-24  Eric Blake  <ebb9@byu.net>
48686
48687         vc-list-files: ignore git symlinks
48688         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
48689         than ls-files, to ignore git symlinks.
48690
48691         maint.mk: import improvements from m4
48692         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
48693         (move_if_change): Delete unused macro.
48694         (news-date-check, vc-diff-check): Support VPATH builds.
48695         (announcement): Likewise.  Split --bootstrap-tools list...
48696         (boostrap-tools): ...into separate list, which can be overridden
48697         in cfg.mk.
48698         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
48699         requiring dependency on useless-if-before-free module.
48700         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
48701         Support VPATH builds.
48702
48703 2009-04-24  Jim Meyering  <meyering@redhat.com>
48704
48705         maint.mk: remove coreutils-specific rules and variables
48706         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
48707         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
48708         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
48709
48710         maint.mk: remove obsolete rule
48711         * top/maint.mk (rel-check): Remove rule.
48712         (WGET, WGETFLAGS): Remove now-unused variables.
48713
48714 2009-04-24  Simon Josefsson  <simon@josefsson.org>
48715
48716         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
48717         consistency.
48718
48719         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
48720         '$(PATH_SEPARATOR)' instead of ':'.
48721
48722 2009-04-24  Simon Josefsson  <simon@josefsson.org>
48723
48724         * lib/getopt1.c (main): Use 'const' for static array.
48725
48726 2009-04-24  Simon Josefsson  <simon@josefsson.org>
48727
48728         * top/maint.mk: Sync with coreutils.
48729         * NEWS: Explain incompatibilities.
48730
48731 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48732             Bruno Haible  <bruno@clisp.org>
48733
48734         Fix cross-compilation results.
48735         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
48736         statement, as third argument of AC_TRY_RUN.
48737         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
48738         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
48739         Likewise.
48740         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
48741         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
48742         Likewise.
48743         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
48744         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
48745         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
48746
48747 2009-04-20  Bruno Haible  <bruno@clisp.org>
48748
48749         Avoid test failure on mingw.
48750         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
48751
48752 2009-04-20  Bruno Haible  <bruno@clisp.org>
48753
48754         Avoid compilation error on mingw.
48755         * modules/localename-tests (Depends-on): Add locale.
48756
48757 2009-04-19  Bruno Haible  <bruno@clisp.org>
48758
48759         Support for building a shared library on Windows platforms.
48760         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
48761         (main): Test the presence of UNINORM_NFC here.
48762         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
48763         (main): Test the presence of UNINORM_NFD here.
48764         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
48765         (main): Test the presence of UNINORM_NFKC here.
48766         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
48767         (main): Test the presence of UNINORM_NFKD here.
48768
48769 2009-04-19  Bruno Haible  <bruno@clisp.org>
48770
48771         Avoid a compiler warning.
48772         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
48773         Change type of variable 'sequence'.
48774
48775 2009-04-19  Bruno Haible  <bruno@clisp.org>
48776
48777         * modules/configmake (Makefile.am): When the contents of configmake.h
48778         does not change, arrange to preserve its modification time.
48779
48780 2009-04-17  Simon Josefsson  <simon@josefsson.org>
48781
48782         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
48783         gettext domain.
48784
48785 2009-04-16  Jim Meyering  <meyering@redhat.com>
48786
48787         useless-if-before-free: improve conversion code
48788         * build-aux/useless-if-before-free: Adjust code-in-comment to match
48789         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
48790
48791 2009-04-14  Bruno Haible  <bruno@clisp.org>
48792
48793         * modules/fcntl (Depends-on): Add extensions.
48794         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
48795
48796 2009-04-12  Ben Pfaff  <blp@gnu.org>
48797
48798         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
48799         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
48800
48801 2009-03-20  Ben Pfaff  <blp@gnu.org>
48802
48803         Make rename replace existing destinations on Windows.
48804         * m4/rename.m4: Add test for Mingw.
48805         * lib/rename.c: Add rename replacement that uses MoveFileEx with
48806         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
48807         * doc/posix-functions/rename.texi: Document.
48808
48809 2009-04-10  Bruno Haible  <bruno@clisp.org>
48810
48811         New include file "iconveh.h".
48812         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
48813         * lib/striconveh.h: Include it.
48814         (enum iconv_ilseq_handler): Remove definition.
48815         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
48816         striconveh.h.
48817         * lib/striconveha.c: Include striconveh.h.
48818         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
48819         * modules/striconveh (Files): Add lib/iconveh.h.
48820         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
48821         lib/striconveh.h.
48822
48823 2009-04-10  Bruno Haible  <bruno@clisp.org>
48824
48825         * lib/uniconv.h: Update comment.
48826
48827 2009-04-10  Bruno Haible  <bruno@clisp.org>
48828
48829         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
48830         always.
48831         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
48832         * lib/unistr/u16-mbtouc-aux.c: Likewise.
48833         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
48834         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
48835         "unistring-notinline.h", so that the function gets defined always.
48836         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
48837         * lib/unistr/u8-uctomb.c: Likewise.
48838         * lib/unistr/u16-mbtouc.c: Likewise.
48839         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
48840         * lib/unistr/u16-uctomb.c: Likewise.
48841         * lib/unistr/u32-mbtouc.c: Likewise.
48842         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
48843         * lib/unistr/u32-uctomb.c: Likewise.
48844
48845 2009-04-10  Bruno Haible  <bruno@clisp.org>
48846
48847         Mark 'utime' obsolete.
48848         * modules/utime (Status, Notice): New sections.
48849         Suggested by Jim Meyering.
48850
48851         Fix cross-compile guess for utime test.
48852         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
48853         autoconf.
48854         * doc/posix-functions/utime.texi: Give more precisions.
48855         Reported by Jan <ipif@ymail.com>.
48856
48857 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
48858
48859         filevercmp: correct today's change
48860         * lib/filevercmp.c: Also handle coreutils' test inputs.
48861         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
48862
48863         Fix regression in 'filevercmp' module. Thanks Sven Joachim
48864         for reporting it.
48865         * lib/filevercmp.c: Special handle for "", "." and "..".
48866         * tests/test-filevercmp.c: Enlarge the set suite.
48867
48868 2009-04-07  Jim Meyering  <meyering@redhat.com>
48869
48870         useless-if-before-free: show how to remove braced useless free, too
48871         * build-aux/useless-if-before-free: still only in a comment, though.
48872
48873 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
48874
48875         maint.mk: import changes to syntax-check macros from coreutils
48876         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
48877         Use them in the relevant macros.
48878
48879 2009-04-06  Bruno Haible  <bruno@clisp.org>
48880
48881         Fix unportable use of bit-fields.
48882         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
48883         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
48884         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
48885
48886 2009-04-06  Bruno Haible  <bruno@clisp.org>
48887
48888         Avoid test failures on AIX and OSF/1.
48889         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
48890         that malloc(0) = NULL.
48891         * tests/unicase/test-u8-tolower.c (check): Likewise.
48892         * tests/unicase/test-u8-totitle.c (check): Likewise.
48893         * tests/unicase/test-u8-toupper.c (check): Likewise.
48894         * tests/unicase/test-u16-casefold.c (check): Likewise.
48895         * tests/unicase/test-u16-tolower.c (check): Likewise.
48896         * tests/unicase/test-u16-totitle.c (check): Likewise.
48897         * tests/unicase/test-u16-toupper.c (check): Likewise.
48898         * tests/unicase/test-u32-casefold.c (check): Likewise.
48899         * tests/unicase/test-u32-tolower.c (check): Likewise.
48900         * tests/unicase/test-u32-totitle.c (check): Likewise.
48901         * tests/unicase/test-u32-toupper.c (check): Likewise.
48902         * tests/uninorm/test-u8-nfc.c (check): Likewise.
48903         * tests/uninorm/test-u8-nfd.c (check): Likewise.
48904         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
48905         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
48906         * tests/uninorm/test-u16-nfc.c (check): Likewise.
48907         * tests/uninorm/test-u16-nfd.c (check): Likewise.
48908         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
48909         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
48910         * tests/uninorm/test-u32-nfc.c (check): Likewise.
48911         * tests/uninorm/test-u32-nfd.c (check): Likewise.
48912         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
48913         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
48914
48915 2009-04-05  Bruno Haible  <bruno@clisp.org>
48916
48917         Work around an autoconf limitation.
48918         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
48919         comment line if it would be longer than 3 KB.
48920
48921 2009-04-05  Bruno Haible  <bruno@clisp.org>
48922
48923         Avoid test failure with libiconv-1.13.
48924         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
48925         of the expected test results.
48926
48927 2009-04-05  Bruno Haible  <bruno@clisp.org>
48928
48929         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
48930         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
48931         that it should be installed.
48932
48933 2009-04-05  Bruno Haible  <bruno@clisp.org>
48934
48935         * gnulib-tool: New option --copy-file.
48936         (func_usage): Document it.
48937         (func_dest_tmpfilename): Moved out of func_import.
48938         (func_add_file, func_update_file): New functions, extracted from
48939         func_import.
48940         (func_import): Update.
48941
48942 2009-04-05  Karl Berry  <karl@gnu.org>
48943
48944         * README: prominently mention gnulib-tool.
48945         Rearrange sections so getting the code is near the top.
48946
48947 2009-04-05  Bruno Haible  <bruno@clisp.org>
48948
48949         * lib/unicase.h: Mention u*_cmp2.
48950         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
48951         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
48952         * lib/unicase/ulc-casecmp.c: Likewise.
48953         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
48954         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
48955         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
48956         unistr/u8-cmp.
48957         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
48958         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
48959         unistr/u16-cmp.
48960         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
48961         unistr/u32-cmp.
48962
48963         * lib/uninorm.h: Mention u*_cmp2.
48964         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
48965         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
48966         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
48967         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
48968         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
48969         unistr/u8-cmp.
48970         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
48971         unistr/u16-cmp.
48972         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
48973         unistr/u32-cmp.
48974
48975         New module 'unistr/u32-cmp2'.
48976         * lib/unistr/u32-cmp2.c: New file.
48977         * modules/unistr/u32-cmp2: New file.
48978
48979         New module 'unistr/u16-cmp2'.
48980         * lib/unistr/u16-cmp2.c: New file.
48981         * modules/unistr/u16-cmp2: New file.
48982
48983         New module 'unistr/u8-cmp2'.
48984         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
48985         * lib/unistr/u8-cmp2.c: New file.
48986         * lib/unistr/u-cmp2.h: New file.
48987         * modules/unistr/u8-cmp2: New file.
48988
48989 2009-04-05  Bruno Haible  <bruno@clisp.org>
48990
48991         * lib/unictype.h (uc_property_is_valid): New macro.
48992         * tests/unictype/test-pr_byname.c (main): Use it.
48993
48994         * lib/unistr.h: Doc fixes.
48995         * lib/uniconv.h: Doc fixes.
48996         * lib/unictype.h: Doc fixes.
48997
48998 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
48999
49000         Port coreutils 7.2 to Solaris 8.
49001
49002         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
49003         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
49004         for Solaris 8.  This is a bit of a hack, as it means it's the
49005         caller's responsibility to add -lnsl if needed, but most likely it
49006         won't be needed since only getaddrinfo uses this and getaddrinfo
49007         isn't needed on Solaris 8.
49008
49009         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
49010         problem to Solaris 8 encountered with coreutils 7.2, which
49011         resulted in a message "fnmatch.c:292: warning: passing argument 4
49012         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
49013         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
49014
49015 2009-04-03  Simon Josefsson  <simon@josefsson.org>
49016
49017         * m4/ld-version-script.m4: Add FIXME comment.
49018
49019 2009-04-02  Simon Josefsson  <simon@josefsson.org>
49020
49021         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
49022         SOVERSION variable.
49023
49024 2009-04-02  Bruno Haible  <bruno@clisp.org>
49025
49026         * Makefile (info, html, dvi, pdf): Combine the rules.
49027         Suggested by Jim Meyering.
49028
49029 2009-04-01  Bruno Haible  <bruno@clisp.org>
49030
49031         * Makefile (info, html, dvi, pdf): New targets.
49032         Reported by Reuben Thomas <rrt@sc3d.org>.
49033
49034 2009-04-01  Bruno Haible  <bruno@clisp.org>
49035
49036         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
49037         can be put into PATH.
49038         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
49039
49040 2009-04-01  Bruno Haible  <bruno@clisp.org>
49041
49042         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
49043
49044 2009-04-01  Bruno Haible  <bruno@clisp.org>
49045
49046         Rename module 'visibility'.
49047         * modules/lib-symbol-visibility: Renamed from modules/visibility.
49048         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
49049         * doc/gnulib.texi: Update.
49050         * MODULES.html.sh (Misc): Update.
49051         * NEWS: Mention the change.
49052
49053 2009-04-01  Simon Josefsson  <simon@josefsson.org>
49054
49055         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
49056         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
49057         Eric Blake <ebb9@byu.net> for review.
49058         * MODULES.html.sh: Add lib-msvc-compat.
49059         * doc/gnulib.texi: Link to new section.
49060         * m4/ld-output-def.m4: New file.
49061         * doc/ld-output-def.texi: New file.
49062
49063 2009-04-01  Simon Josefsson  <simon@josefsson.org>
49064
49065         Rename ld-version-script to lib-symbol-versions.  Suggested by
49066         Bruno Haible <bruno@clisp.org>.
49067         * modules/ld-version-script: Renamed to lib-symbol-versions.
49068         * doc/ld-version-script.texi: Fix module name.
49069         * MODULES.html.sh: Add lib-symbol-versions.
49070
49071 2009-03-31  Simon Josefsson  <simon@josefsson.org>
49072
49073         * modules/u64-tests: New file.
49074         * tests/test-u64.c: New file.
49075
49076 2009-03-04  Simon Josefsson  <simon@josefsson.org>
49077
49078         * MODULES.html.sh: Mention u64.
49079         * modules/u64: New module.
49080         * modules/crypto/sha512: Depend on u64 module instead of providing
49081         u64.h.
49082
49083 2009-03-27  Eric Blake  <ebb9@byu.net>
49084
49085         test-strerror: make debugging EAI_SYSTEM easier
49086         * modules/getaddrinfo-tests (Depends-on): Add strerror.
49087         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
49088         failure was EAI_SYSTEM.
49089
49090 2009-03-25  Bruno Haible  <bruno@clisp.org>
49091
49092         Fix a problem with --enable-relocatable on Solaris 7.
49093         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
49094         since 2008-02-24.
49095
49096 2009-03-25  Eric Blake  <ebb9@byu.net>
49097
49098         test-sockets: avoid gcc warning
49099         * tests/test-sockets.c (main): Silence compiler warning.
49100
49101 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
49102
49103         New modules nproc, pthread, contributed by Glen Lenker.
49104
49105         * MODULES.html.sh: Add pthread, nproc.
49106         * lib/nproc.c: New file.
49107         * lib/nproc.h: New file.
49108         * lib/pthread.in.h: New file.
49109         * m4/pthread.m4: New file.
49110         * modules/nproc: New file.
49111         * modules/pthread: New file.
49112
49113 2009-03-24  Simon Josefsson  <simon@josefsson.org>
49114
49115         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
49116         New variable.
49117
49118 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
49119
49120         filevercmp: handle simple~ and numbered.~3~ backup suffixes
49121         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
49122         * tests/test-filevercmp.c: Add tests for backup suffixes.
49123
49124 2009-03-24  Simon Josefsson  <simon@josefsson.org>
49125
49126         * modules/stdlib (Depends-on): Add stdint, needed when defining
49127         struct random_data on, for example, HP-UX 10.20.  Reported by
49128         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
49129
49130 2009-03-24  Simon Josefsson  <simon@josefsson.org>
49131
49132         * lib/readline.c (readline): Call fflush on stdout after printing
49133         prompt.
49134
49135 2009-03-20  Bruno Haible  <bruno@clisp.org>
49136
49137         Remove dependency from 'close' module to -lws2_32 on native Windows.
49138         * lib/close-hook.h: New file.
49139         * lib/close-hook.c: New file.
49140         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
49141         w32sock.h.
49142         (_gl_close_fd_maybe_socket): Remove function.
49143         (rpl_close): Invoke execute_all_close_hooks instead of
49144         _gl_close_fd_maybe_socket.
49145         * lib/sockets.c: Include close-hook.h, w32sock.h.
49146         (close_fd_maybe_socket): New function, essentially from lib/close.c.
49147         (close_sockets_hook): New variable.
49148         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
49149         (gl_sockets_cleanup): Unregister it.
49150         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
49151         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
49152         * modules/close-hook: New file.
49153         * modules/close (Files): Remove lib/w32sock.h.
49154         (Depends-on): Add close-hook.
49155         (Link): Remove section.
49156         * modules/sockets (Files): Add lib/w32sock.h.
49157         (Depends-on): Add close-hook.
49158         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
49159         invocation.
49160         * NEWS: Mention that LIB_CLOSE is gone.
49161
49162 2009-03-23  Eric Blake  <ebb9@byu.net>
49163
49164         signal-tests: test previous patch
49165         * tests/test-signal.c: New file.
49166         * modules/signal-tests: Likewise.
49167
49168         signal.h: always support 'volatile sig_atomic_t'
49169         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
49170         (gl_SIGNAL_H_DEFAULTS): Add a default.
49171         * modules/signal (Makefile.am): Substitute if needed.
49172         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
49173         users can blindly add volatile.
49174         * doc/posix-headers/signal.texi (signal.h): Document it.
49175         Reported by Matthew Woehlke.
49176
49177 2009-03-23  Jim Meyering  <meyering@redhat.com>
49178
49179         pathmax: PATH_MAX: use pathconf only when available
49180         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
49181         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
49182         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
49183         This avoids a link failure in a PSP cross-compilation environment
49184         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
49185
49186         * lib/vasnprintf.c (divide): Fix typo in comment.
49187
49188 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49189
49190         * gnulib-tool (func_filter_filelist): Fix comment.
49191
49192 2009-03-20  Bruno Haible  <bruno@clisp.org>
49193
49194         Make sockets.h self-contained.
49195         * lib/sockets.c: Include sockets.h first.
49196         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
49197
49198 2009-03-19  Eric Blake  <ebb9@byu.net>
49199
49200         doc: mention more functions added in cygwin 1.7.0
49201         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
49202         addition.
49203         * doc/posix-functions/log2f.texi: Likewise.
49204
49205 2009-03-19  Jim Meyering  <meyering@redhat.com>
49206
49207         fsusage: avoid syntax error due to statement-before-declaration
49208         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
49209         after all declarations.  Reported by Matthew Woehlke in
49210         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
49211
49212 2009-03-18  Eric Blake  <ebb9@byu.net>
49213
49214         build-aux/compile: sync from automake
49215         * build-aux/compile: New file, from automake.
49216         * config/srclist.txt: Mention build-aux/compile.
49217
49218 2009-03-17  Bruno Haible  <bruno@clisp.org>
49219
49220         * lib/git-merge-changelog.c: Fix typo in comment.
49221         Reported by Reuben Thomas <rrt@sc3d.org>.
49222
49223 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
49224
49225         * m4/regex.m4: update and improve help for
49226         --without-included-regex.
49227
49228 2009-03-17  Simon Josefsson  <simon@josefsson.org>
49229
49230         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
49231         failure on missing include files.
49232
49233 2009-03-17  Eric Blake  <ebb9@byu.net>
49234
49235         doc: mention more functions added in cygwin 1.7.0
49236         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
49237         addition.
49238         * doc/posix-functions/fwscanf.texi: Likewise.
49239         * doc/posix-functions/swprintf.texi: Likewise.
49240         * doc/posix-functions/swscanf.texi: Likewise.
49241         * doc/posix-functions/vfwprintf.texi: Likewise.
49242         * doc/posix-functions/vfwscanf.texi: Likewise.
49243         * doc/posix-functions/vswprintf.texi: Likewise.
49244         * doc/posix-functions/vswscanf.texi: Likewise.
49245         * doc/posix-functions/vwprintf.texi: Likewise.
49246         * doc/posix-functions/vwscanf.texi: Likewise.
49247         * doc/posix-functions/wcscasecmp.texi: Likewise.
49248         * doc/posix-functions/wcsdup.texi: Likewise.
49249         * doc/posix-functions/wcsftime.texi: Likewise.
49250         * doc/posix-functions/wcsncasecmp.texi: Likewise.
49251         * doc/posix-functions/wprintf.texi: Likewise.
49252         * doc/posix-functions/wscanf.texi: Likewise.
49253         * doc/glibc-functions/gethostbyname2.texi: Likewise.
49254
49255 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49256
49257         maint.mk: really add $(AM_MAKEFLAGS)
49258         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
49259         was inadvertently omitted in the last commit.
49260         Spotted by Bruno Haible.
49261
49262         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
49263         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
49264         $(AM_MAKEFLAGS)' rather than plain `make'.
49265
49266         gnulib-tool: execute $MAKE not make
49267         * gnulib-tool: Default $MAKE to 'make'.
49268         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
49269         than make.  Initialize $MAKE in the do-autobuild script.
49270
49271         gnulib-tool: use $MAKE not make in generated files
49272         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
49273         make, in generated files.  Initialize $MAKE in the do-autobuild
49274         script.
49275
49276         * top/GNUmakefile (_have-git-version-gen): Fix typo.
49277
49278         GNUmakefile: disable parallelism only for multiple, recursive targets
49279         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
49280         additions in the Makefile.
49281         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
49282         by Automake.
49283         (.NOTPARALLEL): Only disable parallel builds if multiple targets
49284         are listed on the command line and at least one of them is
49285         listed in $(ALL_RECURSIVE_TARGETS).
49286
49287 2009-03-14  Bruno Haible  <bruno@clisp.org>
49288
49289         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
49290         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
49291         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
49292         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
49293         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
49294         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
49295         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
49296         unistr/u8-uctomb.
49297         * modules/unistr/u8-strchr (Depends-on): Likewise.
49298         * modules/unistr/u8-strrchr (Depends-on): Likewise.
49299         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
49300         unistr/u16-uctomb.
49301         * modules/unistr/u16-strchr (Depends-on): Likewise.
49302         * modules/unistr/u16-strrchr (Depends-on): Likewise.
49303
49304 2009-03-12  Bruno Haible  <bruno@clisp.org>
49305
49306         Work around select() bug on Interix 3.5.
49307         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
49308         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
49309         * m4/select.m4: New file.
49310         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
49311         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
49312         * modules/select (Files): Add m4/select.m4.
49313         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
49314         * modules/nanosleep (Depends-on): Add select.
49315         * modules/poll (Depends-on): Likewise.
49316         * doc/posix-functions/select.texi: Mention the Interix bug.
49317         Reported by Markus Duft <mduft@gentoo.org>.
49318
49319         * lib/select.c: Renamed from lib/winsock-select.c.
49320         * modules/select (Files): Add lib/select.c, remove
49321         lib/winsock-select.c.
49322         (configure.ac): Update.
49323
49324 2009-03-12  Jim Meyering  <meyering@redhat.com>
49325
49326         avoid gcc warnings about unused macro definitions
49327         * lib/readtokens.c (STREQ): Remove unused definition.
49328         * lib/xmalloc.c (SIZE_MAX): Likewise.
49329         * lib/openat-die.c (N_): Likewise.
49330         * lib/mountlist.c (SIZE_MAX): Remove definition.
49331         Instead, include <stdint.h>.
49332         * lib/readutmp.c: Likewise.
49333         * modules/readutmp (Depends-on): Add stdint.
49334         * modules/mountlist (Depends-on): Add stdint.
49335         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
49336
49337 2009-03-10  Bruno Haible  <bruno@clisp.org>
49338
49339         Tests for module 'mbmemcasecoll'.
49340         * modules/mbmemcasecoll-tests: New file.
49341         * tests/test-mbmemcasecoll1.sh: New file.
49342         * tests/test-mbmemcasecoll2.sh: New file.
49343         * tests/test-mbmemcasecoll3.sh: New file.
49344         * tests/test-mbmemcasecoll.c: New file.
49345
49346         New module 'mbmemcasecoll'.
49347         * lib/mbmemcasecoll.h: New file.
49348         * lib/mbmemcasecoll.c: New file.
49349         * modules/mbmemcasecoll: New file.
49350
49351         * tests/test-mbmemcasecmp.h: New file, extracted from
49352         tests/test-mbmemcasecmp.c.
49353         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
49354         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
49355         (main): Update.
49356         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
49357
49358 2009-03-09  Bruno Haible  <bruno@clisp.org>
49359
49360         Tests for module 'mbmemcasecmp'.
49361         * modules/mbmemcasecmp-tests: New file.
49362         * tests/test-mbmemcasecmp1.sh: New file.
49363         * tests/test-mbmemcasecmp2.sh: New file.
49364         * tests/test-mbmemcasecmp3.sh: New file.
49365         * tests/test-mbmemcasecmp.c: New file.
49366
49367         New module 'mbmemcasecmp'.
49368         * lib/mbmemcasecmp.h: New file.
49369         * lib/mbmemcasecmp.c: New file.
49370         * modules/mbmemcasecmp: New file.
49371
49372 2009-03-09  Bruno Haible  <bruno@clisp.org>
49373
49374         Tests for module 'unicase/ulc-casecoll'.
49375         * modules/unicase/ulc-casecoll-tests: New file.
49376         * tests/unicase/test-ulc-casecoll1.sh: New file.
49377         * tests/unicase/test-ulc-casecoll2.sh: New file.
49378         * tests/unicase/test-ulc-casecoll.c: New file.
49379
49380         New module 'unicase/ulc-casecoll'.
49381         * lib/unicase.h (ulc_casecoll): New declaration.
49382         * lib/unicase/ulc-casecoll.c: New file.
49383         * modules/unicase/ulc-casecoll: New file.
49384
49385         New module 'unicase/ulc-casexfrm'.
49386         * lib/unicase.h (ulc_casexfrm): New declaration.
49387         * lib/unicase/ulc-casexfrm.c: New file.
49388         * modules/unicase/ulc-casexfrm: New file.
49389
49390 2009-03-09  Bruno Haible  <bruno@clisp.org>
49391
49392         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
49393         invocations.
49394
49395         * m4/mbscasecmp.m4: Remove file.
49396         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
49397         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
49398
49399         * m4/mbscasestr.m4: Remove file.
49400         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
49401         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
49402
49403         * m4/mbschr.m4: Remove file.
49404         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
49405         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
49406
49407         * m4/mbscspn.m4: Remove file.
49408         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
49409         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
49410
49411         * m4/mbslen.m4: Remove file.
49412         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
49413         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
49414
49415         * m4/mbsncasecmp.m4: Remove file.
49416         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
49417         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
49418
49419         * m4/mbsnlen.m4: Remove file.
49420         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
49421         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
49422
49423         * m4/mbspbrk.m4: Remove file.
49424         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
49425         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
49426
49427         * m4/mbspcasecmp.m4: Remove file.
49428         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
49429         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
49430
49431         * m4/mbsrchr.m4: Remove file.
49432         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
49433         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
49434
49435         * m4/mbssep.m4: Remove file.
49436         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
49437         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
49438
49439         * m4/mbsspn.m4: Remove file.
49440         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
49441         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
49442
49443         * m4/mbsstr.m4: Remove file.
49444         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
49445         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
49446
49447         * m4/mbstok_r.m4: Remove file.
49448         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
49449         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
49450
49451         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
49452
49453         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
49454         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
49455
49456         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
49457
49458 2009-03-08  Bruno Haible  <bruno@clisp.org>
49459
49460         Tests for module 'unicase/ulc-casecmp'.
49461         * modules/unicase/ulc-casecmp-tests: New file.
49462         * tests/unicase/test-ulc-casecmp1.sh: New file.
49463         * tests/unicase/test-ulc-casecmp2.sh: New file.
49464         * tests/unicase/test-ulc-casecmp.c: New file.
49465
49466         New module 'unicase/ulc-casecmp'.
49467         * lib/unicase.h (ulc_casecmp): New declaration.
49468         * lib/unicase/ulc-casecmp.c: New file.
49469         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
49470         'const SRC_UNIT *'.
49471         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
49472         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
49473         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
49474         * modules/unicase/ulc-casecmp: New file.
49475
49476         Tests for module 'unicase/u32-is-cased'.
49477         * modules/unicase/u32-is-cased-tests: New file.
49478         * tests/unicase/test-u32-is-cased.c: New file.
49479
49480         Tests for module 'unicase/u16-is-cased'.
49481         * modules/unicase/u16-is-cased-tests: New file.
49482         * tests/unicase/test-u16-is-cased.c: New file.
49483
49484         Tests for module 'unicase/u8-is-cased'.
49485         * modules/unicase/u8-is-cased-tests: New file.
49486         * tests/unicase/test-u8-is-cased.c: New file.
49487         * tests/unicase/test-is-cased.h: New file.
49488
49489         New module 'unicase/u32-is-cased'.
49490         * lib/unicase/u32-is-cased.c: New file.
49491         * modules/unicase/u32-is-cased: New file.
49492
49493         New module 'unicase/u16-is-cased'.
49494         * lib/unicase/u16-is-cased.c: New file.
49495         * modules/unicase/u16-is-cased: New file.
49496
49497         New module 'unicase/u8-is-cased'.
49498         * lib/unicase/u8-is-cased.c: New file.
49499         * lib/unicase/u-is-cased.h: New file.
49500         * modules/unicase/u8-is-cased: New file.
49501
49502         Tests for module 'unicase/u32-is-casefolded'.
49503         * modules/unicase/u32-is-casefolded-tests: New file.
49504         * tests/unicase/test-u32-is-casefolded.c: New file.
49505
49506         Tests for module 'unicase/u16-is-casefolded'.
49507         * modules/unicase/u16-is-casefolded-tests: New file.
49508         * tests/unicase/test-u16-is-casefolded.c: New file.
49509
49510         Tests for module 'unicase/u8-is-casefolded'.
49511         * modules/unicase/u8-is-casefolded-tests: New file.
49512         * tests/unicase/test-u8-is-casefolded.c: New file.
49513         * tests/unicase/test-is-casefolded.h: New file.
49514
49515         New module 'unicase/u32-is-casefolded'.
49516         * lib/unicase/u32-is-casefolded.c: New file.
49517         * modules/unicase/u32-is-casefolded: New file.
49518
49519         New module 'unicase/u16-is-casefolded'.
49520         * lib/unicase/u16-is-casefolded.c: New file.
49521         * modules/unicase/u16-is-casefolded: New file.
49522
49523         New module 'unicase/u8-is-casefolded'.
49524         * lib/unicase/u8-is-casefolded.c: New file.
49525         * modules/unicase/u8-is-casefolded: New file.
49526
49527         Tests for module 'unicase/u32-is-titlecase'.
49528         * modules/unicase/u32-is-titlecase-tests: New file.
49529         * tests/unicase/test-u32-is-titlecase.c: New file.
49530
49531         Tests for module 'unicase/u16-is-titlecase'.
49532         * modules/unicase/u16-is-titlecase-tests: New file.
49533         * tests/unicase/test-u16-is-titlecase.c: New file.
49534
49535         Tests for module 'unicase/u8-is-titlecase'.
49536         * modules/unicase/u8-is-titlecase-tests: New file.
49537         * tests/unicase/test-u8-is-titlecase.c: New file.
49538         * tests/unicase/test-is-titlecase.h: New file.
49539
49540         New module 'unicase/u32-is-titlecase'.
49541         * lib/unicase/u32-is-titlecase.c: New file.
49542         * modules/unicase/u32-is-titlecase: New file.
49543
49544         New module 'unicase/u16-is-titlecase'.
49545         * lib/unicase/u16-is-titlecase.c: New file.
49546         * modules/unicase/u16-is-titlecase: New file.
49547
49548         New module 'unicase/u8-is-titlecase'.
49549         * lib/unicase/u8-is-titlecase.c: New file.
49550         * modules/unicase/u8-is-titlecase: New file.
49551
49552         Tests for module 'unicase/u32-is-lowercase'.
49553         * modules/unicase/u32-is-lowercase-tests: New file.
49554         * tests/unicase/test-u32-is-lowercase.c: New file.
49555
49556         Tests for module 'unicase/u16-is-lowercase'.
49557         * modules/unicase/u16-is-lowercase-tests: New file.
49558         * tests/unicase/test-u16-is-lowercase.c: New file.
49559
49560         Tests for module 'unicase/u8-is-lowercase'.
49561         * modules/unicase/u8-is-lowercase-tests: New file.
49562         * tests/unicase/test-u8-is-lowercase.c: New file.
49563         * tests/unicase/test-is-lowercase.h: New file.
49564
49565         New module 'unicase/u32-is-lowercase'.
49566         * lib/unicase/u32-is-lowercase.c: New file.
49567         * modules/unicase/u32-is-lowercase: New file.
49568
49569         New module 'unicase/u16-is-lowercase'.
49570         * lib/unicase/u16-is-lowercase.c: New file.
49571         * modules/unicase/u16-is-lowercase: New file.
49572
49573         New module 'unicase/u8-is-lowercase'.
49574         * lib/unicase/u8-is-lowercase.c: New file.
49575         * modules/unicase/u8-is-lowercase: New file.
49576
49577         Tests for module 'unicase/u32-is-uppercase'.
49578         * modules/unicase/u32-is-uppercase-tests: New file.
49579         * tests/unicase/test-u32-is-uppercase.c: New file.
49580
49581         Tests for module 'unicase/u16-is-uppercase'.
49582         * modules/unicase/u16-is-uppercase-tests: New file.
49583         * tests/unicase/test-u16-is-uppercase.c: New file.
49584
49585         Tests for module 'unicase/u8-is-uppercase'.
49586         * modules/unicase/u8-is-uppercase-tests: New file.
49587         * tests/unicase/test-u8-is-uppercase.c: New file.
49588         * tests/unicase/test-is-uppercase.h: New file.
49589
49590         New module 'unicase/u32-is-uppercase'.
49591         * lib/unicase/u32-is-uppercase.c: New file.
49592         * modules/unicase/u32-is-uppercase: New file.
49593
49594         New module 'unicase/u16-is-uppercase'.
49595         * lib/unicase/u16-is-uppercase.c: New file.
49596         * modules/unicase/u16-is-uppercase: New file.
49597
49598         New module 'unicase/u8-is-uppercase'.
49599         * lib/unicase/u8-is-uppercase.c: New file.
49600         * modules/unicase/u8-is-uppercase: New file.
49601
49602         New module 'unicase/u32-is-invariant'.
49603         * lib/unicase/u32-is-invariant.c: New file.
49604         * modules/unicase/u32-is-invariant: New file.
49605
49606         New module 'unicase/u16-is-invariant'.
49607         * lib/unicase/u16-is-invariant.c: New file.
49608         * modules/unicase/u16-is-invariant: New file.
49609
49610         New module 'unicase/u8-is-invariant'.
49611         * lib/unicase/u8-is-invariant.c: New file.
49612         * lib/unicase/invariant.h: New file.
49613         * lib/unicase/u-is-invariant.h: New file.
49614         * modules/unicase/u8-is-invariant: New file.
49615
49616         Tests for module 'unicase/u32-casecoll'.
49617         * modules/unicase/u32-casecoll-tests: New file.
49618         * tests/unicase/test-u32-casecoll.c: New file.
49619
49620         Tests for module 'unicase/u16-casecoll'.
49621         * modules/unicase/u16-casecoll-tests: New file.
49622         * tests/unicase/test-u16-casecoll.c: New file.
49623
49624         Tests for module 'unicase/u8-casecoll'.
49625         * modules/unicase/u8-casecoll-tests: New file.
49626         * tests/unicase/test-u8-casecoll.c: New file.
49627
49628         New module 'unicase/u32-casecoll'.
49629         * lib/unicase/u32-casecoll.c: New file.
49630         * modules/unicase/u32-casecoll: New file.
49631
49632         New module 'unicase/u16-casecoll'.
49633         * lib/unicase/u16-casecoll.c: New file.
49634         * modules/unicase/u16-casecoll: New file.
49635
49636         New module 'unicase/u8-casecoll'.
49637         * lib/unicase/u8-casecoll.c: New file.
49638         * lib/unicase/u-casecoll.h: New file.
49639         * modules/unicase/u8-casecoll: New file.
49640
49641         New module 'unicase/u32-casexfrm'.
49642         * lib/unicase/u32-casexfrm.c: New file.
49643         * modules/unicase/u32-casexfrm: New file.
49644
49645         New module 'unicase/u16-casexfrm'.
49646         * lib/unicase/u16-casexfrm.c: New file.
49647         * modules/unicase/u16-casexfrm: New file.
49648
49649         New module 'unicase/u8-casexfrm'.
49650         * lib/unicase/u8-casexfrm.c: New file.
49651         * lib/unicase/u-casexfrm.h: New file.
49652         * modules/unicase/u8-casexfrm: New file.
49653
49654         Tests for module 'unicase/u32-casecmp'.
49655         * modules/unicase/u32-casecmp-tests: New file.
49656         * tests/unicase/test-u32-casecmp.c: New file.
49657
49658         Tests for module 'unicase/u16-casecmp'.
49659         * modules/unicase/u16-casecmp-tests: New file.
49660         * tests/unicase/test-u16-casecmp.c: New file.
49661
49662         Tests for module 'unicase/u8-casecmp'.
49663         * modules/unicase/u8-casecmp-tests: New file.
49664         * tests/unicase/test-u8-casecmp.c: New file.
49665         * tests/unicase/test-casecmp.h: New file.
49666
49667         New module 'unicase/u32-casecmp'.
49668         * lib/unicase/u32-casecmp.c: New file.
49669         * modules/unicase/u32-casecmp: New file.
49670
49671         New module 'unicase/u16-casecmp'.
49672         * lib/unicase/u16-casecmp.c: New file.
49673         * modules/unicase/u16-casecmp: New file.
49674
49675         New module 'unicase/u8-casecmp'.
49676         * lib/unicase/u8-casecmp.c: New file.
49677         * lib/unicase/u-casecmp.h: New file.
49678         * modules/unicase/u8-casecmp: New file.
49679
49680         Tests for module 'unicase/u32-casefold'.
49681         * modules/unicase/u32-casefold-tests: New file.
49682         * tests/unicase/test-u32-casefold.c: New file.
49683
49684         Tests for module 'unicase/u16-casefold'.
49685         * modules/unicase/u16-casefold-tests: New file.
49686         * tests/unicase/test-u16-casefold.c: New file.
49687
49688         Tests for module 'unicase/u8-casefold'.
49689         * modules/unicase/u8-casefold-tests: New file.
49690         * tests/unicase/test-u8-casefold.c: New file.
49691
49692         New module 'unicase/u32-casefold'.
49693         * lib/unicase/u32-casefold.c: New file.
49694         * modules/unicase/u32-casefold: New file.
49695
49696         New module 'unicase/u16-casefold'.
49697         * lib/unicase/u16-casefold.c: New file.
49698         * modules/unicase/u16-casefold: New file.
49699
49700         New module 'unicase/u8-casefold'.
49701         * lib/unicase/u8-casefold.c: New file.
49702         * lib/unicase/u-casefold.h: New file.
49703         * modules/unicase/u8-casefold: New file.
49704
49705         New module 'unicase/tocasefold'.
49706         * lib/unicase/casefold.h: New file.
49707         * lib/unicase/tocasefold.c: New file.
49708         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
49709         * modules/unicase/tocasefold: New file.
49710
49711         Tests for module 'unicase/u32-totitle'.
49712         * modules/unicase/u32-totitle-tests: New file.
49713         * tests/unicase/test-u32-totitle.c: New file.
49714
49715         Tests for module 'unicase/u16-totitle'.
49716         * modules/unicase/u16-totitle-tests: New file.
49717         * tests/unicase/test-u16-totitle.c: New file.
49718
49719         Tests for module 'unicase/u8-totitle'.
49720         * modules/unicase/u8-totitle-tests: New file.
49721         * tests/unicase/test-u8-totitle.c: New file.
49722
49723         New module 'unicase/u32-totitle'.
49724         * lib/unicase/u32-totitle.c: New file.
49725         * modules/unicase/u32-totitle: New file.
49726
49727         New module 'unicase/u16-totitle'.
49728         * lib/unicase/u16-totitle.c: New file.
49729         * modules/unicase/u16-totitle: New file.
49730
49731         New module 'unicase/u8-totitle'.
49732         * lib/unicase/u8-totitle.c: New file.
49733         * lib/unicase/u-totitle.h: New file.
49734         * modules/unicase/u8-totitle: New file.
49735
49736         Tests for module 'unicase/u32-tolower'.
49737         * modules/unicase/u32-tolower-tests: New file.
49738         * tests/unicase/test-u32-tolower.c: New file.
49739
49740         Tests for module 'unicase/u16-tolower'.
49741         * modules/unicase/u16-tolower-tests: New file.
49742         * tests/unicase/test-u16-tolower.c: New file.
49743
49744         Tests for module 'unicase/u8-tolower'.
49745         * modules/unicase/u8-tolower-tests: New file.
49746         * tests/unicase/test-u8-tolower.c: New file.
49747
49748         New module 'unicase/u32-tolower'.
49749         * lib/unicase/u32-tolower.c: New file.
49750         * modules/unicase/u32-tolower: New file.
49751
49752         New module 'unicase/u16-tolower'.
49753         * lib/unicase/u16-tolower.c: New file.
49754         * modules/unicase/u16-tolower: New file.
49755
49756         New module 'unicase/u8-tolower'.
49757         * lib/unicase/u8-tolower.c: New file.
49758         * modules/unicase/u8-tolower: New file.
49759
49760         Tests for module 'unicase/u32-toupper'.
49761         * modules/unicase/u32-toupper-tests: New file.
49762         * tests/unicase/test-u32-toupper.c: New file.
49763
49764         Tests for module 'unicase/u16-toupper'.
49765         * modules/unicase/u16-toupper-tests: New file.
49766         * tests/unicase/test-u16-toupper.c: New file.
49767
49768         Tests for module 'unicase/u8-toupper'.
49769         * modules/unicase/u8-toupper-tests: New file.
49770         * tests/unicase/test-u8-toupper.c: New file.
49771
49772         New module 'unicase/u32-toupper'.
49773         * lib/unicase/u32-toupper.c: New file.
49774         * modules/unicase/u32-toupper: New file.
49775
49776         New module 'unicase/u16-toupper'.
49777         * lib/unicase/u16-toupper.c: New file.
49778         * modules/unicase/u16-toupper: New file.
49779
49780         New module 'unicase/u8-toupper'.
49781         * lib/unicase/u8-toupper.c: New file.
49782         * modules/unicase/u8-toupper: New file.
49783
49784         New module 'unicase/u32-casemap'.
49785         * lib/unicase/u32-casemap.c: New file.
49786         * modules/unicase/u32-casemap: New file.
49787
49788         New module 'unicase/u16-casemap'.
49789         * lib/unicase/u16-casemap.c: New file.
49790         * modules/unicase/u16-casemap: New file.
49791
49792         New module 'unicase/u8-casemap'.
49793         * lib/unicase/unicasemap.h: New file.
49794         * lib/unicase/u8-casemap.c: New file.
49795         * lib/unicase/u-casemap.h: New file.
49796         * modules/unicase/u8-casemap: New file.
49797
49798         New module 'unicase/special-casing'.
49799         * lib/unicase/special-casing.h: New file.
49800         * lib/unicase/special-casing.c: New file.
49801         * lib/unicase/special-casing-table.gperf: New file, generated by
49802         gen-uni-tables.c.
49803         * modules/unicase/special-casing: New file.
49804
49805         Tests for module 'unicase/locale-language'.
49806         * modules/unicase/locale-language-tests: New file.
49807         * tests/unicase/test-locale-language.sh: New file.
49808         * tests/unicase/test-locale-language.c: New file.
49809
49810         New module 'unicase/locale-language'.
49811         * lib/unicase/locale-language.c: New file.
49812         * lib/unicase/locale-languages.gperf: New file.
49813         * modules/unicase/locale-language: New file.
49814
49815         Generate more tables for case conversion and case folding.
49816         * lib/gen-uni-tables.c (SCC_*): New enum items.
49817         (struct special_casing_rule): New type.
49818         (casing_rules, num_casing_rules, allocated_casing_rules): New
49819         variables.
49820         (add_casing_rule, fill_casing_rules): New functions.
49821         (struct casefold_rule): New type.
49822         (casefolding_rules, num_casefolding_rules,
49823         allocated_casefolding_rules): New variables.
49824         (fill_casefolding_rules): New function.
49825         (unicode_casefold): New variable.
49826         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
49827         sort_casing_rules, output_casing_rules): New functions.
49828         (main): Accept to more arguments: SpecialCasing.txt and
49829         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
49830         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
49831         Output mapping for casefolding.
49832
49833         * lib/unicase.h: Include stdbool.h, uninorm.h.
49834         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
49835         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
49836         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
49837         arguments.
49838         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
49839         resultp arguments.
49840         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
49841         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
49842         resultp arguments.
49843         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
49844         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
49845         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
49846         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
49847         declarations.
49848         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
49849
49850 2009-03-08  Bruno Haible  <bruno@clisp.org>
49851
49852         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
49853         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
49854         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
49855         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
49856
49857 2009-03-07  Bruno Haible  <bruno@clisp.org>
49858
49859         Adjust u*_normcmp, u*_normcoll API.
49860         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
49861         u16_normcoll, u32_normcoll): Change failure conventions.
49862         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
49863         errno and return -1.
49864         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
49865
49866 2009-03-07  Bruno Haible  <bruno@clisp.org>
49867
49868         Tests for module 'uninorm/u32-normcoll'.
49869         * modules/uninorm/u32-normcoll-tests: New file.
49870         * tests/uninorm/test-u32-normcoll.c: New file.
49871
49872         Tests for module 'uninorm/u16-normcoll'.
49873         * modules/uninorm/u16-normcoll-tests: New file.
49874         * tests/uninorm/test-u16-normcoll.c: New file.
49875
49876         Tests for module 'uninorm/u8-normcoll'.
49877         * modules/uninorm/u8-normcoll-tests: New file.
49878         * tests/uninorm/test-u8-normcoll.c: New file.
49879
49880 2009-03-07  Bruno Haible  <bruno@clisp.org>
49881
49882         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
49883         tests/uninorm/test-u32-normcmp.c.
49884         * tests/uninorm/test-u32-normcmp.c: Include it.
49885         (test_nonascii): New function, extracted from main. Add some more
49886         tests.
49887         (main): Invoke test_ascii and test_nonascii.
49888         * modules/uninorm/u32-normcmp-tests (Files): Add
49889         tests/uninorm/test-u32-normcmp.h.
49890         (Depends-on): Remove uninorm/u32-normcmp.
49891
49892         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
49893         tests/uninorm/test-u16-normcmp.c.
49894         * tests/uninorm/test-u16-normcmp.c: Include it.
49895         (test_nonascii): New function, extracted from main. Add some more
49896         tests.
49897         (main): Invoke test_ascii and test_nonascii.
49898         * modules/uninorm/u16-normcmp-tests (Files): Add
49899         tests/uninorm/test-u16-normcmp.h.
49900         (Depends-on): Remove uninorm/u16-normcmp.
49901
49902         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
49903         tests/uninorm/test-u8-normcmp.c.
49904         * tests/uninorm/test-u8-normcmp.c: Include it.
49905         (test_nonascii): New function, extracted from main. Add some more
49906         tests.
49907         (main): Invoke test_ascii and test_nonascii.
49908         * modules/uninorm/u8-normcmp-tests (Files): Add
49909         tests/uninorm/test-u8-normcmp.h.
49910         (Depends-on): Remove uninorm/u8-normcmp.
49911
49912 2009-03-07  Bruno Haible  <bruno@clisp.org>
49913
49914         New module 'uninorm/u32-normcoll'.
49915         * lib/uninorm/u32-normcoll.c: New file.
49916         * modules/uninorm/u32-normcoll: New file.
49917
49918         New module 'uninorm/u16-normcoll'.
49919         * lib/uninorm/u16-normcoll.c: New file.
49920         * modules/uninorm/u16-normcoll: New file.
49921
49922         New module 'uninorm/u8-normcoll'.
49923         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
49924         declarations.
49925         * lib/uninorm/u8-normcoll.c: New file.
49926         * lib/uninorm/u-normcoll.h: New file.
49927         * modules/uninorm/u8-normcoll: New file.
49928
49929         New module 'uninorm/u32-normxfrm'.
49930         * lib/uninorm/u32-normxfrm.c: New file.
49931         * modules/uninorm/u32-normxfrm: New file.
49932
49933         New module 'uninorm/u16-normxfrm'.
49934         * lib/uninorm/u16-normxfrm.c: New file.
49935         * modules/uninorm/u16-normxfrm: New file.
49936
49937         New module 'uninorm/u8-normxfrm'.
49938         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
49939         declarations.
49940         * lib/uninorm/u8-normxfrm.c: New file.
49941         * lib/uninorm/u-normxfrm.h: New file.
49942         * modules/uninorm/u8-normxfrm: New file.
49943
49944 2009-03-07  Bruno Haible  <bruno@clisp.org>
49945
49946         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
49947         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
49948         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
49949
49950 2009-03-07  Bruno Haible  <bruno@clisp.org>
49951
49952         New module 'memxfrm'.
49953         * lib/memxfrm.h: New file.
49954         * lib/memxfrm.c: New file.
49955         * modules/memxfrm: New file.
49956
49957 2009-03-07  Bruno Haible  <bruno@clisp.org>
49958
49959         New module 'memcmp2'.
49960         * lib/memcmp2.h: New file.
49961         * lib/memcmp2.c: New file.
49962         * modules/memcmp2: New file.
49963
49964 2009-03-07  Bruno Haible  <bruno@clisp.org>
49965
49966         Tests for module 'uninorm/decomposing-form'.
49967         * modules/uninorm/decomposing-form-tests: New file.
49968         * tests/uninorm/test-decomposing-form.c: New file.
49969
49970         New module 'uninorm/decomposing-form'.
49971         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
49972         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
49973         Add 'decomposing_variant' field.
49974         * lib/uninorm/decomposing-form.c: New file.
49975         * lib/uninorm/nfc.c (uninorm_nfc): Update.
49976         * lib/uninorm/nfd.c (uninorm_nfd): Update.
49977         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
49978         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
49979         * modules/uninorm/decomposing-form: New file.
49980         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
49981         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
49982
49983 2009-03-07  Bruno Haible  <bruno@clisp.org>
49984
49985         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
49986         strings.
49987
49988 2009-03-06  Bruno Haible  <bruno@clisp.org>
49989
49990         Tests for module 'uninorm/u32-normcmp'.
49991         * tests/uninorm/test-u32-normcmp.c: New file.
49992         * modules/uninorm/u32-normcmp-tests: New file.
49993
49994         Tests for module 'uninorm/u16-normcmp'.
49995         * tests/uninorm/test-u16-normcmp.c: New file.
49996         * modules/uninorm/u16-normcmp-tests: New file.
49997
49998         Tests for module 'uninorm/u8-normcmp'.
49999         * tests/uninorm/test-u8-normcmp.c: New file.
50000         * modules/uninorm/u8-normcmp-tests: New file.
50001
50002         New module 'uninorm/u32-normcmp'.
50003         * lib/uninorm/u32-normcmp.c: New file.
50004         * modules/uninorm/u32-normcmp: New file.
50005
50006         New module 'uninorm/u16-normcmp'.
50007         * lib/uninorm/u16-normcmp.c: New file.
50008         * modules/uninorm/u16-normcmp: New file.
50009
50010         New module 'uninorm/u8-normcmp'.
50011         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
50012         declarations.
50013         * lib/uninorm/u8-normcmp.c: New file.
50014         * lib/uninorm/u-normcmp.h: New file.
50015         * modules/uninorm/u8-normcmp: New file.
50016
50017 2009-03-06  Bruno Haible  <bruno@clisp.org>
50018
50019         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
50020         Reported by Eric Blake.
50021
50022 2009-03-06  Eric Blake  <ebb9@byu.net>
50023             Bruno Haible  <bruno@clisp.org>
50024
50025         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
50026         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
50027         condition.
50028         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
50029         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
50030         condition.
50031         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
50032
50033 2009-03-06  Eric Blake  <ebb9@byu.net>
50034
50035         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
50036         to avoid compiler warnings.
50037         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
50038
50039 2009-03-05  Bruno Haible  <bruno@clisp.org>
50040
50041         * tests/test-ftell.c (main): Disable test beyond end of file on
50042         FreeMiNT.
50043         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
50044
50045 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
50046
50047         * lib/filevercmp.c: Move hidden files up in ordering.
50048         * tests/test-filevercmp.c: Add tests for hidden files.
50049
50050 2009-03-04  Bruno Haible  <bruno@clisp.org>
50051
50052         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
50053         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
50054         AM_CFLAGS.
50055         Reported by Simon Josefsson.
50056
50057 2009-03-03  Bruno Haible  <bruno@clisp.org>
50058
50059         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
50060         Reported by Simon Josefsson.
50061
50062         * doc/ld-version-script.texi: Update node reference.
50063
50064 2009-03-03  Bruno Haible  <bruno@clisp.org>
50065
50066         * modules/visibility (License): Change to 'unlimited'.
50067         Suggested by Simon Josefsson.
50068
50069 2009-03-03  Jim Meyering  <meyering@redhat.com>
50070
50071         unlinkdir: cannot_unlink_dir may modify process state
50072         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
50073         it's neither thread-safe nor appropriate for use in a library.
50074
50075 2009-03-03  Eric Blake  <ebb9@byu.net>
50076
50077         test-closein: silence test under Darwin
50078         * tests/test-closein.sh: Ignore stderr from cat, since we don't
50079         care if it dies from EPIPE or EBADF.
50080
50081 2009-03-03  Bruno Haible  <bruno@clisp.org>
50082
50083         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
50084         earlier.
50085         * doc/visibility.texi: Fix @node and @section.
50086
50087 2009-03-03  Simon Josefsson  <simon@josefsson.org>
50088
50089         * doc/gnulib.texi: Link to sections for ld version script and
50090         visibility.
50091         * doc/visibility.texi: Add @node and @section.
50092         * modules/ld-version-script: New module.
50093         * m4/ld-version-script.m4: New file.
50094         * doc/ld-version-script.texi: New file.
50095
50096 2009-03-02  David Lutterkort  <lutter@redhat.com>
50097
50098         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
50099         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
50100
50101 2009-03-02  Bruno Haible  <bruno@clisp.org>
50102
50103         * doc/visibility.texi: Mention libtool's -export-symbols option.
50104
50105 2009-03-02  Jim Meyering  <meyering@redhat.com>
50106
50107         announce-gen: new option: --no-print-checksums
50108         * build-aux/announce-gen (usage): Describe it.
50109         (print_checksums): Print a newline here, not in the [*] footnote.
50110         (main): Honor it.
50111
50112 2009-03-01  Bruno Haible  <bruno@clisp.org>
50113
50114         Use socklen_t in the native Windows replacements prototypes.
50115         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
50116         instead of 'int'.
50117         * lib/getsockopt.c (rpl_getsockopt): Likewise.
50118         * lib/setsockopt.c (rpl_setsockopt): Likewise.
50119         * modules/getsockopt (Depends-on): Add socklen.
50120         * modules/setsockopt (Depends-on): Add socklen.
50121
50122 2009-03-01  Bruno Haible  <bruno@clisp.org>
50123
50124         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
50125         least 4.2.
50126
50127 2009-03-01  Eric Blake  <ebb9@byu.net>
50128             Bruno Haible  <bruno@clisp.org>
50129
50130         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
50131         error messages.
50132         * lib/wait-process.c (wait_subprocess): Omit error message about
50133         deadly signal sent to the child of termsigp != NULL.
50134
50135 2009-03-01  Eric Blake  <ebb9@byu.net>
50136
50137         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
50138
50139 2009-03-01  Bruno Haible  <bruno@clisp.org>
50140
50141         Avoid a gcc warning.
50142         * tests/test-sched.c (b): Make global.
50143         Reported by Eric Blake.
50144
50145 2009-01-19  Martin Lambers  <marlam@marlam.de>
50146
50147         Provide POSIX semantics for socket timeout options on W32.
50148         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
50149         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
50150         * modules/setsockopt: Depend on sys_time module for struct timeval.
50151         * modules/getsockopt: Depend on sys_time module for struct timeval.
50152
50153 2009-03-01  Simon Josefsson  <simon@josefsson.org>
50154
50155         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
50156         __USE_GNU, for consistency with netdb.in.h.
50157         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
50158
50159 2009-03-01  Bruno Haible  <bruno@clisp.org>
50160
50161         More support for FreeMiNT.
50162         * lib/fseeko.c (rpl_fseeko): Complete last commit.
50163         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
50164
50165 2009-03-01  Bruno Haible  <bruno@clisp.org>
50166
50167         More support for FreeMiNT.
50168         * lib/fpurge.c (fpurge): Correct last commit.
50169         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
50170
50171 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50172
50173         Fix unportable awk script in vc-list-files.
50174         * build-aux/vc-list-files: In the replacement awk script, use
50175         substr with a second argument of 1, not zero.
50176         Report by Simon Josefsson.
50177
50178 2009-02-28  Bruno Haible  <bruno@clisp.org>
50179
50180         More support for FreeMiNT.
50181         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
50182         to FreeMiNT today.
50183         * lib/fwriting.c (fwriting): Likewise.
50184         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
50185
50186 2009-02-28  Bruno Haible  <bruno@clisp.org>
50187
50188         * tests/test-freadseek.c (main): Disable test beyond end of file on
50189         FreeMiNT.
50190         * tests/test-ftello.c (main): Likewise.
50191         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
50192
50193 2009-02-28  Bruno Haible  <bruno@clisp.org>
50194
50195         Add tentative support for FreeMiNT.
50196         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
50197         * lib/fpurge.c (fpurge): Likewise.
50198         * lib/freadable.c (freadable): Likewise.
50199         * lib/freading.c (freading): Likewise.
50200         * lib/freadptr.c (freadptr): Likewise.
50201         * lib/freadseek.c (freadptrinc): Likewise.
50202         * lib/fseeko.c (rpl_fseeko): Likewise.
50203         * lib/fseterr.c (fseterr): Likewise.
50204         * lib/fwritable.c (fwritable): Likewise.
50205         * lib/fwriting.c (fwriting): Likewise.
50206         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
50207         Hourihane.
50208         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
50209
50210 2009-02-28  Bruno Haible  <bruno@clisp.org>
50211
50212         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
50213         SIGCHLD.
50214         Reported by Jim Meyering.
50215
50216 2009-02-28  Bruno Haible  <bruno@clisp.org>
50217
50218         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
50219         Mention the results of these tests on various platforms.
50220         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
50221         order.
50222         * doc/posix-functions/printf.texi: Likewise.
50223         * doc/posix-functions/snprintf.texi: Likewise.
50224         * doc/posix-functions/sprintf.texi: Likewise.
50225         * doc/posix-functions/vfprintf.texi: Likewise.
50226         * doc/posix-functions/vprintf.texi: Likewise.
50227         * doc/posix-functions/vsnprintf.texi: Likewise.
50228         * doc/posix-functions/vsprintf.texi: Likewise.
50229         * doc/glibc-functions/obstack_printf.texi: Likewise.
50230         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
50231
50232 2009-02-28  Bruno Haible  <bruno@clisp.org>
50233
50234         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
50235         Reported by Loïc Minier <lool@dooz.org>.
50236
50237 2009-02-27  Bruno Haible  <bruno@clisp.org>
50238
50239         * gnulib-tool (func_import): Make the sed expression used to create the
50240         sed script for updating the .gitignore file POSIX compliant.
50241         Reported by Eric Blake.
50242
50243 2009-02-27  Bruno Haible  <bruno@clisp.org>
50244
50245         * gnulib-tool (sed): Don't alias as "sed --posix".
50246         Reported by Eric Blake.
50247
50248 2009-02-27  Bruno Haible  <bruno@clisp.org>
50249
50250         Avoid test link errors.
50251         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
50252         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
50253         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
50254         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
50255         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
50256
50257 2009-02-27  Bruno Haible  <bruno@clisp.org>
50258
50259         Avoid spurious "(cached)" in configure output.
50260         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
50261         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
50262         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
50263         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
50264         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
50265         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
50266         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
50267         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
50268         Reported by Eric Blake.
50269
50270 2009-02-27  Eric Blake  <ebb9@byu.net>
50271
50272         printf: fix regression in previous patch
50273         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
50274
50275 2009-02-27  Bruno Haible  <bruno@clisp.org>
50276
50277         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
50278         value.
50279         * lib/stdint.in.h: Likewise.
50280         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
50281
50282 2009-02-27  Eric Blake  <ebb9@byu.net>
50283
50284         doc: mention more functions added in cygwin 1.7.0
50285         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
50286         addition.
50287         * doc/posix-functions/open_wmemstream.texi: Likewise.
50288         * doc/posix-functions/wcsnlen.texi: Likewise.
50289         * doc/posix-functions/wcsnrtombs.texi: Likewise.
50290         * doc/posix-functions/wcstod.texi: Likewise.
50291         * doc/posix-functions/wcstof.texi: Likewise.
50292         * doc/posix-functions/wcstoimax.texi: Likewise.
50293         * doc/posix-functions/wcstok.texi: Likewise.
50294         * doc/posix-functions/wcstoumax.texi: Likewise.
50295
50296         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
50297         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
50298         * doc/posix-functions/fprintf.texi: Update.
50299         * doc/posix-functions/printf.texi: Update.
50300         * doc/posix-functions/snprintf.texi: Update.
50301         * doc/posix-functions/sprintf.texi: Update.
50302         * doc/posix-functions/vfprintf.texi: Update.
50303         * doc/posix-functions/vprintf.texi: Update.
50304         * doc/posix-functions/vsnprintf.texi: Update.
50305         * doc/posix-functions/vsprintf.texi: Update.
50306         * doc/glibc-functions/obstack_printf.texi: Update.
50307         * doc/glibc-functions/obstack_vprintf.texi: Update.
50308
50309 2009-02-26  Eric Blake  <ebb9@byu.net>
50310
50311         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
50312         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
50313         compilation bug by using runtime conversion.
50314         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
50315         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
50316         * modules/ceill-tests (Files): Use nan.h.
50317         * modules/floorl-tests (Files): Likewise.
50318         * modules/frexpl-tests (Files): Likewise.
50319         * modules/isnanl-tests (Files): Likewise.
50320         * modules/ldexpl-tests (Files): Likewise.
50321         * modules/roundl-tests (Files): Likewise.
50322         * modules/truncl-tests (Files): Likewise.
50323         * tests/test-ceill.c (main): Use a working NaN.
50324         * tests/test-floorl.c (main): Likewise.
50325         * tests/test-frexpl.c (main): Likewise.
50326         * tests/test-isnan.c (test_long_double): Likewise.
50327         * tests/test-isnanl.h (main): Likewise.
50328         * tests/test-ldexpl.h (main): Likewise.
50329         * tests/test-roundl.h (main): Likewise.
50330         * tests/test-truncl.h (main): Likewise.
50331         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
50332
50333 2009-02-26  Eric Blake  <ebb9@byu.net>
50334             Bruno Haible  <bruno@clisp.org>
50335
50336         Work around a *printf bug with %ls on Solaris.
50337         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
50338         precision is specified, sprintf stops converting the wide string
50339         argument when the number of bytes that have been produced by this
50340         conversion equals or exceeds the precision.
50341         * doc/posix-functions/fprintf.texi: Update.
50342         * doc/posix-functions/printf.texi: Update.
50343         * doc/posix-functions/snprintf.texi: Update.
50344         * doc/posix-functions/sprintf.texi: Update.
50345         * doc/posix-functions/vfprintf.texi: Update.
50346         * doc/posix-functions/vprintf.texi: Update.
50347         * doc/posix-functions/vsnprintf.texi: Update.
50348         * doc/posix-functions/vsprintf.texi: Update.
50349         * doc/glibc-functions/obstack_printf.texi: Update.
50350         * doc/glibc-functions/obstack_vprintf.texi: Update.
50351
50352 2009-02-26  Eric Blake  <ebb9@byu.net>
50353
50354         stdlib: favor compiler check of random.h
50355         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
50356         to avoid an ObjC random.h installed by Swarm.
50357
50358 2009-02-26  Bruno Haible  <bruno@clisp.org>
50359
50360         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
50361         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
50362         Reported by Gary V. Vaughan <gary@gnu.org>.
50363
50364 2009-02-26  Bruno Haible  <bruno@clisp.org>
50365
50366         Fix *printf behaviour regarding the %ls directive.
50367         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
50368         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
50369         NEED_PRINTF_DIRECTIVE_LS.
50370         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
50371         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
50372         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
50373         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
50374         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
50375         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
50376         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
50377         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
50378         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
50379         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
50380         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
50381         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
50382         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
50383         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
50384         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
50385         * doc/posix-functions/fprintf.texi: Update.
50386         * doc/posix-functions/printf.texi: Update.
50387         * doc/posix-functions/snprintf.texi: Update.
50388         * doc/posix-functions/sprintf.texi: Update.
50389         * doc/posix-functions/vfprintf.texi: Update.
50390         * doc/posix-functions/vprintf.texi: Update.
50391         * doc/posix-functions/vsnprintf.texi: Update.
50392         * doc/posix-functions/vsprintf.texi: Update.
50393         * doc/glibc-functions/obstack_printf.texi: Update.
50394         * doc/glibc-functions/obstack_vprintf.texi: Update.
50395         Reported by Eric Blake.
50396
50397 2009-02-25  Bruno Haible  <bruno@clisp.org>
50398
50399         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
50400         with known value.
50401         Reported by Gary V. Vaughan <gary@gnu.org>.
50402
50403 2009-02-25  Bruno Haible  <bruno@clisp.org>
50404
50405         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
50406         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
50407         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
50408         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
50409         Reported by Gary V. Vaughan <gary@gnu.org>.
50410
50411 2009-02-25  Bruno Haible  <bruno@clisp.org>
50412
50413         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
50414         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
50415         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
50416         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
50417         Reported by Gary V. Vaughan <gary@gnu.org>.
50418
50419 2009-02-25  Eric Blake  <ebb9@byu.net>
50420
50421         tests: skip fseek/ftell tests if ungetc is broken
50422         * m4/ungetc.m4: New file.
50423         * modules/fseek-tests: Split test, so ungetc dependency is
50424         separate from rest of test.
50425         * modules/fseeko-tests: Likewise.
50426         * modules/ftell-tests: Likewise.
50427         * modules/ftello-tests: Likewise.
50428         * tests/test-fseek.c (main): Isolate ungetc dependency.
50429         * tests/test-fseeko.c (main): Likewise.
50430         * tests/test-ftell.c (main): Likewise.
50431         * tests/test-ftello.c (main): Likewise.
50432         * tests/test-fseek2.sh: New file.
50433         * tests/test-fseeko2.sh: Likewise.
50434         * tests/test-ftell2.sh: Likewise.
50435         * tests/test-ftello2.sh: Likewise.
50436
50437 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
50438
50439         test-getaddrinfo: fix usage of skip return code 77
50440         * tests/test-gettaddrinfo.c: Return skip code 77 only
50441         for first occurrence of skip (4x77 is not 77)
50442
50443 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
50444
50445         strtod: avoid C99 decl-after-statement
50446         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
50447
50448 2009-02-24  Eric Blake  <ebb9@byu.net>
50449
50450         strtod: detect HP-UX 11.31 bug
50451         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
50452         Reported by Gary V. Vaughan.
50453
50454 2009-02-23  Bruno Haible  <bruno@clisp.org>
50455
50456         Fix invalid read past end of memory block.
50457         * lib/vasnprintf.c (DCHAR_SET): Define.
50458         (local_wcslen): Define only when needed.
50459         (local_strnlen, local_wcsnlen): New functions.
50460         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
50461         directives that involve a conversion ourselves.
50462         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
50463         wcsnlen, mbrtowc, wcrtomb.
50464         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
50465         * tests/test-vasprintf-posix.c (test_function): Likewise.
50466         * tests/test-snprintf-posix.h (test_function): Likewise.
50467         * tests/test-sprintf-posix.h (test_function): Likewise.
50468         Reported by Ben Pfaff <blp@cs.stanford.edu>.
50469
50470 2009-02-22  Bruno Haible  <bruno@clisp.org>
50471
50472         Implement new clarified decomposition of Hangul syllables.
50473         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
50474         of type LTV, return only a pairwise decomposition.
50475         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
50476         Likewise.
50477         * tests/uninorm/test-decomposition.c (main): Updated expected result.
50478         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
50479         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
50480
50481 2009-02-22  Bruno Haible  <bruno@clisp.org>
50482
50483         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
50484         zero-length results and shrink excess allocated memory.
50485         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
50486         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
50487         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
50488         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
50489         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
50490         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
50491         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
50492         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
50493         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
50494         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
50495         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
50496         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
50497
50498 2009-02-21  Bruno Haible  <bruno@clisp.org>
50499
50500         * doc/gnulib.texi: Include safe-alloc.texi earlier.
50501         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
50502         spaces after a period. Put a space between a macro name and its
50503         argument list. Trivial rewordings.
50504         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
50505         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
50506         (main): Return 0 explicitly.
50507
50508 2009-02-21  Bruno Haible  <bruno@clisp.org>
50509
50510         Tests for module 'uninorm/filter'.
50511         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
50512         * modules/uninorm/filter-tests: New file.
50513
50514         New module 'uninorm/filter'.
50515         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
50516         uninorm_filter_flush, uninorm_filter_free): New declarations.
50517         * lib/uninorm/uninorm-filter.c: New file.
50518         * modules/uninorm/filter: New file.
50519
50520 2009-02-21  Bruno Haible  <bruno@clisp.org>
50521
50522         Tests for module 'uninorm/nfkc'.
50523         * tests/uninorm/test-nfkc.c: New file.
50524         * tests/uninorm/test-u8-nfkc.c: New file.
50525         * tests/uninorm/test-u16-nfkc.c: New file.
50526         * tests/uninorm/test-u32-nfkc.c: New file.
50527         * tests/uninorm/test-u32-nfkc-big.sh: New file.
50528         * tests/uninorm/test-u32-nfkc-big.c: New file.
50529         * modules/uninorm/nfkc-tests: New file.
50530
50531         New module 'uninorm/nfkc'.
50532         * lib/uninorm/nfkc.c: New file.
50533         * modules/uninorm/nfkc: New file.
50534
50535         Tests for module 'uninorm/nfkd'.
50536         * tests/uninorm/test-nfkd.c: New file.
50537         * tests/uninorm/test-u8-nfkd.c: New file.
50538         * tests/uninorm/test-u16-nfkd.c: New file.
50539         * tests/uninorm/test-u32-nfkd.c: New file.
50540         * tests/uninorm/test-u32-nfkd-big.sh: New file.
50541         * tests/uninorm/test-u32-nfkd-big.c: New file.
50542         * modules/uninorm/nfkd-tests: New file.
50543
50544         New module 'uninorm/nfkd'.
50545         * lib/uninorm/nfkd.c: New file.
50546         * modules/uninorm/nfkd: New file.
50547
50548         Tests for module 'uninorm/nfc'.
50549         * tests/uninorm/test-nfc.c: New file.
50550         * tests/uninorm/test-u8-nfc.c: New file.
50551         * tests/uninorm/test-u16-nfc.c: New file.
50552         * tests/uninorm/test-u32-nfc.c: New file.
50553         * tests/uninorm/test-u32-nfc-big.sh: New file.
50554         * tests/uninorm/test-u32-nfc-big.c: New file.
50555         * modules/uninorm/nfc-tests: New file.
50556
50557         New module 'uninorm/nfc'.
50558         * lib/uninorm/nfc.c: New file.
50559         * modules/uninorm/nfc: New file.
50560
50561         Tests for module 'uninorm/nfd'.
50562         * tests/uninorm/test-nfd.c: New file.
50563         * tests/uninorm/test-u8-nfd.c: New file.
50564         * tests/uninorm/test-u16-nfd.c: New file.
50565         * tests/uninorm/test-u32-nfd.c: New file.
50566         * tests/uninorm/test-u32-nfd-big.sh: New file.
50567         * tests/uninorm/test-u32-nfd-big.c: New file.
50568         * tests/uninorm/test-u32-normalize-big.h: New file.
50569         * tests/uninorm/test-u32-normalize-big.c: New file.
50570         * tests/uninorm/NormalizationTest.txt: New file, created from
50571         Unicode 5.1.0 NormalizationTest.txt.
50572         * modules/uninorm/nfd-tests: New file.
50573
50574         New module 'uninorm/nfd'.
50575         * lib/uninorm/nfd.c: New file.
50576         * modules/uninorm/nfd: New file.
50577
50578         New module 'uninorm/u32-normalize'.
50579         * lib/uninorm/u32-normalize.c: New file.
50580         * modules/uninorm/u32-normalize: New file.
50581
50582         New module 'uninorm/u16-normalize'.
50583         * lib/uninorm/u16-normalize.c: New file.
50584         * modules/uninorm/u16-normalize: New file.
50585
50586         New module 'uninorm/u8-normalize'.
50587         * lib/uninorm/u8-normalize.c: New file.
50588         * lib/uninorm/normalize-internal.h: New file.
50589         * lib/uninorm/u-normalize-internal.h: New file.
50590         * modules/uninorm/u8-normalize: New file.
50591
50592         New module 'uninorm/decompose-internal'.
50593         * lib/uninorm/decompose-internal.c: New file.
50594         * modules/uninorm/decompose-internal: New file.
50595
50596         Tests for module 'uninorm/composition'.
50597         * tests/uninorm/test-composition.c: New file.
50598         * modules/uninorm/composition-tests: New file.
50599
50600         New module 'uninorm/composition'.
50601         * lib/uninorm/composition.c: New file.
50602         * lib/uninorm/composition-table.gperf: New file, generated by
50603         gen-uni-tables.
50604         * modules/uninorm/composition: New file.
50605
50606         Tests for module 'uninorm/compat-decomposition'.
50607         * tests/uninorm/test-compat-decomposition.c: New file.
50608         * modules/uninorm/compat-decomposition-tests: New file.
50609
50610         New module 'uninorm/compat-decomposition'.
50611         * lib/uninorm/decompose-internal.h: New file.
50612         * lib/uninorm/compat-decomposition.c: New file.
50613         * modules/uninorm/compat-decomposition: New file.
50614
50615         Tests for module 'uninorm/canonical-decomposition'.
50616         * tests/uninorm/test-canonical-decomposition.c: New file.
50617         * modules/uninorm/canonical-decomposition-tests: New file.
50618
50619         New module 'uninorm/canonical-decomposition'.
50620         * lib/uninorm/canonical-decomposition.c: New file.
50621         * modules/uninorm/canonical-decomposition: New file.
50622
50623         Tests for module 'uninorm/decomposition'.
50624         * tests/uninorm/test-decomposition.c: New file.
50625         * modules/uninorm/decomposition-tests: New file.
50626
50627         New module 'uninorm/decomposition'.
50628         * lib/uninorm/decomposition.c: New file.
50629         * modules/uninorm/decomposition: New file.
50630
50631         New module 'uninorm/decomposition-table'.
50632         * lib/uninorm/decomposition-table.h: New file.
50633         * lib/uninorm/decomposition-table.c: New file.
50634         * lib/uninorm/decomposition-table1.h: New file, generated by
50635         gen-uni-tables.
50636         * lib/uninorm/decomposition-table2.h: New file, generated by
50637         gen-uni-tables.
50638         * modules/uninorm/decomposition-table: New file.
50639
50640         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
50641         (UC_DECOMP_*): New enumeration items.
50642         (get_decomposition): New function.
50643         (struct decomp_table): New type.
50644         (output_decomposition, output_decomposition_tables): New functions.
50645         (unicode_composition_exclusions): New variable.
50646         (fill_composition_exclusions, debug_output_composition_tables): New
50647         functions.
50648         (main): Accept one more argument. Invoke fill_composition_exclusions.
50649         Output decomposition and composition tables.
50650
50651         New module 'uninorm/base'.
50652         * lib/uninorm.h: New file.
50653         * lib/unictype.h: Update comment.
50654         * modules/uninorm/base: New file.
50655
50656 2009-02-21  David Lutterkort  <lutter@redhat.com>
50657
50658         Tests for module 'safe-alloc'.
50659         * tests/test-safe-alloc.c: New file.
50660         * modules/safe-alloc-tests: New file.
50661
50662         New module 'safe-alloc'.
50663         * lib/safe-alloc.h: New file.
50664         * lib/safe-alloc.c: New file.
50665         * m4/safe-alloc.m4: New file.
50666         * modules/safe-alloc: New file.
50667         * doc/safe-alloc.texi: New file.
50668         * doc/gnulib.texi: Include it.
50669         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
50670         safe-alloc.
50671
50672 2009-02-18  Bruno Haible  <bruno@clisp.org>
50673
50674         Fix link error on non-glibc systems.
50675         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
50676         variable.
50677         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
50678
50679 2009-02-18  Jim Meyering  <meyering@redhat.com>
50680
50681         fts: avoid used-uninitialized error due to recent change
50682         * lib/fts.c (fts_read): Guard uses of the new member,
50683         parent->fts_n_dirs_remaining, since it's not relevant for
50684         the parent of a directory specified on the command-line.
50685
50686 2009-02-17  James Youngman  <jay@gnu.org>
50687             Bruno Haible  <bruno@clisp.org>
50688
50689         * m4/include_next.m4: Reformulate comment.
50690
50691 2009-02-16  Jim Meyering  <meyering@redhat.com>
50692
50693         fts: add #if guards so that the fts_lgpl module still builds
50694         * lib/fts.c: Guard just-added hash-table-using parts with
50695         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
50696         Reported by Simon Josefsson.
50697
50698 2009-02-15  Bruno Haible  <bruno@clisp.org>
50699
50700         * modules/array-mergesort-tests: New file.
50701         * tests/test-array-mergesort.c: New file.
50702
50703         New module 'array-mergesort'.
50704         * modules/array-mergesort: New file.
50705         * lib/array-mergesort.h: New file.
50706
50707 2009-02-15  Bruno Haible  <bruno@clisp.org>
50708
50709         Fix 2009-02-07 commit.
50710         * lib/gen-uni-tables.c (output_predicate, output_category,
50711         output_combclass, output_bidi_category, output_decimal_digit,
50712         output_digit, output_numeric, output_mirror, output_scripts,
50713         output_ident_category, output_simple_mapping): Fix format directives.
50714         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
50715
50716 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
50717
50718         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
50719         fixes are available from IBM.
50720
50721 2009-02-13  Jim Meyering  <meyering@redhat.com>
50722
50723         fts: arrange not to stat non-directories in more cases
50724         This makes GNU find (when it doesn't need to stat each file)
50725         *much* more efficient at traversing reiserfs file systems.
50726         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
50727         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
50728         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
50729         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
50730         (leaf_optimization_applies): New function.
50731         (LCO_hash, LCO_compare): New helper functions.
50732         (link_count_optimize_ok): New function.
50733         (fts_stat): Initialize new member (if dir).
50734         (fts_read): Decrement parent's fts_n_dirs_remaining count if
50735         we've just stat'ed a directory.  Skip the stat call when possible.
50736         ---
50737         Note this AFS-related exchange:
50738         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
50739         and note find's pioctl call in find/fstype.c.
50740         But that is necessary only if you want to enable the
50741         optimization for AFS, and for now, I don't.
50742
50743         fts: move a function definition "up" (no semantic change)
50744         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
50745         "up" to precede upcoming use of a related function.
50746
50747 2009-02-11  Jim Meyering  <meyering@redhat.com>
50748
50749         fts: correct internal computation of nlinks (optimization-related)
50750         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
50751         whether the current entry is a directory, so don't test it.
50752
50753 2009-02-10  Bruno Haible  <bruno@clisp.org>
50754
50755         Tests for module 'uniwbrk/ulc-wordbreaks'.
50756         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
50757         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
50758         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
50759
50760         Tests for module 'uniwbrk/u32-wordbreaks'.
50761         * modules/uniwbrk/u32-wordbreaks-tests: New file.
50762         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
50763
50764         Tests for module 'uniwbrk/u16-wordbreaks'.
50765         * modules/uniwbrk/u16-wordbreaks-tests: New file.
50766         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
50767
50768         Tests for module 'uniwbrk/u8-wordbreaks'.
50769         * modules/uniwbrk/u8-wordbreaks-tests: New file.
50770         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
50771
50772 2009-02-10  Bruno Haible  <bruno@clisp.org>
50773
50774         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
50775         property.
50776         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
50777         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
50778         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
50779
50780 2009-02-10  Simon Josefsson  <simon@josefsson.org>
50781
50782         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
50783         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
50784
50785 2009-02-10  Bruno Haible  <bruno@clisp.org>
50786
50787         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
50788         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
50789         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
50790         * lib/unilbrk/u8-possible-linebreaks.c: Update.
50791         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
50792         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
50793
50794 2009-02-09  Simon Josefsson  <simon@josefsson.org>
50795
50796         * lib/sockets.h (gl_fd_to_handle): New function.
50797
50798         * tests/test-sockets.c: Call gl_fd_to_handle.
50799
50800 2009-02-09  Bruno Haible  <bruno@clisp.org>
50801
50802         * doc/havelib.texi: Document the conventions on bi-arch systems.
50803
50804 2009-02-08  Bruno Haible  <bruno@clisp.org>
50805
50806         Document the AC_LIB_LINKFLAGS macro.
50807         * doc/havelib.texi: New file, mostly written on 2005-05-24.
50808         * doc/gnulib.texi: Include it.
50809
50810 2009-02-08  Bruno Haible  <bruno@clisp.org>
50811
50812         Fix wrong order of sections, compared to TOC.
50813         * doc/gnulib.texi: Include relocatable-maint.texi after the
50814         "Regular expressions" node, not before.
50815
50816 2009-02-08  Bruno Haible  <bruno@clisp.org>
50817
50818         Tests for module 'unicase/totitle'.
50819         * modules/unicase/totitle-tests: New file.
50820
50821         Tests for module 'unicase/tolower'.
50822         * modules/unicase/tolower-tests: New file.
50823
50824         Tests for module 'unicase/toupper'.
50825         * modules/unicase/toupper-tests: New file.
50826         * tests/unicase/test-mapping-part1.h: New file.
50827         * tests/unicase/test-mapping-part2.h: New file.
50828
50829         New module 'unicase/totitle'.
50830         * modules/unicase/totitle: New file.
50831         * lib/unicase/totitle.c: New file.
50832
50833         New module 'unicase/tolower'.
50834         * modules/unicase/tolower: New file.
50835         * lib/unicase/tolower.c: New file.
50836
50837         New module 'unicase/toupper'.
50838         * modules/unicase/toupper: New file.
50839         * lib/unicase/toupper.c: New file.
50840         * lib/unicase/simple-mapping.h: New file.
50841
50842         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
50843         (mapping_table): New structure.
50844         (output_simple_mapping): New function.
50845         (main): Invoke output_simple_mapping_test and output_simple_mapping.
50846         * modules/gen-uni-tables (Description): Update.
50847         * lib/unicase/toupper.h: New file, automatically generated by
50848         gen-uni-tables.
50849         * lib/unicase/tolower.h: New file, automatically generated by
50850         gen-uni-tables.
50851         * lib/unicase/totitle.h: New file, automatically generated by
50852         gen-uni-tables.
50853         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
50854         gen-uni-tables.
50855         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
50856         gen-uni-tables.
50857         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
50858         gen-uni-tables.
50859
50860         New module 'unicase/base'.
50861         * modules/unicase/base: New file.
50862         * lib/unicase.h: New file.
50863
50864 2009-02-08  Bruno Haible  <bruno@clisp.org>
50865
50866         New module 'uniwbrk/ulc-wordbreaks'.
50867         * modules/uniwbrk/ulc-wordbreaks: New file.
50868         * lib/uniwbrk/ulc-wordbreaks.c: New file.
50869
50870         New module 'uniwbrk/u32-wordbreaks'.
50871         * modules/uniwbrk/u32-wordbreaks: New file.
50872         * lib/uniwbrk/u32-wordbreaks.c: New file.
50873
50874         New module 'uniwbrk/u16-wordbreaks'.
50875         * modules/uniwbrk/u16-wordbreaks: New file.
50876         * lib/uniwbrk/u16-wordbreaks.c: New file.
50877
50878         New module 'uniwbrk/u8-wordbreaks'.
50879         * modules/uniwbrk/u8-wordbreaks: New file.
50880         * lib/uniwbrk/u8-wordbreaks.c: New file.
50881         * lib/uniwbrk/u-wordbreaks.h: New file.
50882
50883         New module 'uniwbrk/table'.
50884         * modules/uniwbrk/table: New file.
50885         * lib/uniwbrk/wbrktable.h: New file.
50886         * lib/uniwbrk/wbrktable.c: New file.
50887
50888         New module 'uniwbrk/wordbreak-property'.
50889         * modules/uniwbrk/wordbreak-property: New file.
50890         * lib/uniwbrk/wordbreak-property.c: New file.
50891
50892         * lib/gen-uni-tables.c (WBP_*): New enum items.
50893         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
50894         (unicode_org_wbp): New variable.
50895         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
50896         New functions.
50897         (wbp_table): New structure.
50898         (output_wbp, output_wbrk_tables): New functions.
50899         (main): Accept additional argument. Invoke fill_org_wbp,
50900         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
50901         output_wbrk_tables.
50902         * modules/gen-uni-tables (Description): Update.
50903         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
50904         gen-uni-tables.
50905
50906         New module 'uniwbrk/base'.
50907         * modules/uniwbrk/base: New file.
50908         * lib/uniwbrk.h: New file.
50909
50910 2009-02-08  Bruno Haible  <bruno@clisp.org>
50911
50912         Update to Unicode 5.1.0.
50913         * lib/gen-uni-tables.c (is_property_alphabetic): Include
50914         U+2185..U+2188.
50915         (is_property_default_ignorable_code_point): Don't include characters
50916         of category Cc or Cs and not-a-characters.
50917         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
50918         U+0D79, U+109E, U+109F, U+A60C.
50919         * lib/unictype/bidi_of.h: Regenerated.
50920         * lib/unictype/blocks.h: Regenerated.
50921         * lib/unictype/categ_C.h: Regenerated.
50922         * lib/unictype/categ_Cf.h: Regenerated.
50923         * lib/unictype/categ_Cn.h: Regenerated.
50924         * lib/unictype/categ_L.h: Regenerated.
50925         * lib/unictype/categ_Ll.h: Regenerated.
50926         * lib/unictype/categ_Lm.h: Regenerated.
50927         * lib/unictype/categ_Lo.h: Regenerated.
50928         * lib/unictype/categ_Lu.h: Regenerated.
50929         * lib/unictype/categ_M.h: Regenerated.
50930         * lib/unictype/categ_Mc.h: Regenerated.
50931         * lib/unictype/categ_Me.h: Regenerated.
50932         * lib/unictype/categ_Mn.h: Regenerated.
50933         * lib/unictype/categ_N.h: Regenerated.
50934         * lib/unictype/categ_Nd.h: Regenerated.
50935         * lib/unictype/categ_Nl.h: Regenerated.
50936         * lib/unictype/categ_No.h: Regenerated.
50937         * lib/unictype/categ_P.h: Regenerated.
50938         * lib/unictype/categ_Pd.h: Regenerated.
50939         * lib/unictype/categ_Pe.h: Regenerated.
50940         * lib/unictype/categ_Pf.h: Regenerated.
50941         * lib/unictype/categ_Pi.h: Regenerated.
50942         * lib/unictype/categ_Po.h: Regenerated.
50943         * lib/unictype/categ_Ps.h: Regenerated.
50944         * lib/unictype/categ_S.h: Regenerated.
50945         * lib/unictype/categ_Sk.h: Regenerated.
50946         * lib/unictype/categ_Sm.h: Regenerated.
50947         * lib/unictype/categ_So.h: Regenerated.
50948         * lib/unictype/categ_of.h: Regenerated.
50949         * lib/unictype/combining.h: Regenerated.
50950         * lib/unictype/ctype_alnum.h: Regenerated.
50951         * lib/unictype/ctype_alpha.h: Regenerated.
50952         * lib/unictype/ctype_graph.h: Regenerated.
50953         * lib/unictype/ctype_lower.h: Regenerated.
50954         * lib/unictype/ctype_print.h: Regenerated.
50955         * lib/unictype/ctype_punct.h: Regenerated.
50956         * lib/unictype/ctype_upper.h: Regenerated.
50957         * lib/unictype/decdigit.h: Regenerated.
50958         * lib/unictype/digit.h: Regenerated.
50959         * lib/unictype/mirror.h: Regenerated.
50960         * lib/unictype/numeric.h: Regenerated.
50961         * lib/unictype/pr_alphabetic.h: Regenerated.
50962         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
50963         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
50964         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
50965         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
50966         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
50967         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
50968         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
50969         * lib/unictype/pr_combining.h: Regenerated.
50970         * lib/unictype/pr_dash.h: Regenerated.
50971         * lib/unictype/pr_decimal_digit.h: Regenerated.
50972         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
50973         * lib/unictype/pr_deprecated.h: Regenerated.
50974         * lib/unictype/pr_diacritic.h: Regenerated.
50975         * lib/unictype/pr_extender.h: Regenerated.
50976         * lib/unictype/pr_format_control.h: Regenerated.
50977         * lib/unictype/pr_grapheme_base.h: Regenerated.
50978         * lib/unictype/pr_grapheme_extend.h: Regenerated.
50979         * lib/unictype/pr_grapheme_link.h: Regenerated.
50980         * lib/unictype/pr_id_continue.h: Regenerated.
50981         * lib/unictype/pr_id_start.h: Regenerated.
50982         * lib/unictype/pr_ideographic.h: Regenerated.
50983         * lib/unictype/pr_ignorable_control.h: Regenerated.
50984         * lib/unictype/pr_lowercase.h: Regenerated.
50985         * lib/unictype/pr_math.h: Regenerated.
50986         * lib/unictype/pr_numeric.h: Regenerated.
50987         * lib/unictype/pr_other_alphabetic.h: Regenerated.
50988         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
50989         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
50990         * lib/unictype/pr_other_id_continue.h: Regenerated.
50991         * lib/unictype/pr_other_lowercase.h: Regenerated.
50992         * lib/unictype/pr_other_math.h: Regenerated.
50993         * lib/unictype/pr_punctuation.h: Regenerated.
50994         * lib/unictype/pr_sentence_terminal.h: Regenerated.
50995         * lib/unictype/pr_soft_dotted.h: Regenerated.
50996         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
50997         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
50998         * lib/unictype/pr_unified_ideograph.h: Regenerated.
50999         * lib/unictype/pr_uppercase.h: Regenerated.
51000         * lib/unictype/pr_xid_continue.h: Regenerated.
51001         * lib/unictype/pr_xid_start.h: Regenerated.
51002         * lib/unictype/pr_zero_width.h: Regenerated.
51003         * lib/unictype/scripts.h: Regenerated.
51004         * lib/unictype/scripts_byname.gperf: Regenerated.
51005         * lib/unictype/sy_java_ident.h: Regenerated.
51006         * lib/unilbrk/lbrkprop1.h: Regenerated.
51007         * lib/unilbrk/lbrkprop2.h: Regenerated.
51008         * tests/unictype/test-categ_C.c: Regenerated.
51009         * tests/unictype/test-categ_Cf.c: Regenerated.
51010         * tests/unictype/test-categ_Cn.c: Regenerated.
51011         * tests/unictype/test-categ_L.c: Regenerated.
51012         * tests/unictype/test-categ_Ll.c: Regenerated.
51013         * tests/unictype/test-categ_Lm.c: Regenerated.
51014         * tests/unictype/test-categ_Lo.c: Regenerated.
51015         * tests/unictype/test-categ_Lu.c: Regenerated.
51016         * tests/unictype/test-categ_M.c: Regenerated.
51017         * tests/unictype/test-categ_Mc.c: Regenerated.
51018         * tests/unictype/test-categ_Me.c: Regenerated.
51019         * tests/unictype/test-categ_Mn.c: Regenerated.
51020         * tests/unictype/test-categ_N.c: Regenerated.
51021         * tests/unictype/test-categ_Nd.c: Regenerated.
51022         * tests/unictype/test-categ_Nl.c: Regenerated.
51023         * tests/unictype/test-categ_No.c: Regenerated.
51024         * tests/unictype/test-categ_P.c: Regenerated.
51025         * tests/unictype/test-categ_Pd.c: Regenerated.
51026         * tests/unictype/test-categ_Pe.c: Regenerated.
51027         * tests/unictype/test-categ_Pf.c: Regenerated.
51028         * tests/unictype/test-categ_Pi.c: Regenerated.
51029         * tests/unictype/test-categ_Po.c: Regenerated.
51030         * tests/unictype/test-categ_Ps.c: Regenerated.
51031         * tests/unictype/test-categ_S.c: Regenerated.
51032         * tests/unictype/test-categ_Sk.c: Regenerated.
51033         * tests/unictype/test-categ_Sm.c: Regenerated.
51034         * tests/unictype/test-categ_So.c: Regenerated.
51035         * tests/unictype/test-ctype_alnum.c: Regenerated.
51036         * tests/unictype/test-ctype_alpha.c: Regenerated.
51037         * tests/unictype/test-ctype_graph.c: Regenerated.
51038         * tests/unictype/test-ctype_lower.c: Regenerated.
51039         * tests/unictype/test-ctype_print.c: Regenerated.
51040         * tests/unictype/test-ctype_punct.c: Regenerated.
51041         * tests/unictype/test-ctype_upper.c: Regenerated.
51042         * tests/unictype/test-decdigit.h: Regenerated.
51043         * tests/unictype/test-digit.h: Regenerated.
51044         * tests/unictype/test-numeric.h: Regenerated.
51045         * tests/unictype/test-pr_alphabetic.c: Regenerated.
51046         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
51047         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
51048         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
51049         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
51050         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
51051         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
51052         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
51053         * tests/unictype/test-pr_combining.c: Regenerated.
51054         * tests/unictype/test-pr_dash.c: Regenerated.
51055         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
51056         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
51057         * tests/unictype/test-pr_deprecated.c: Regenerated.
51058         * tests/unictype/test-pr_diacritic.c: Regenerated.
51059         * tests/unictype/test-pr_extender.c: Regenerated.
51060         * tests/unictype/test-pr_format_control.c: Regenerated.
51061         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
51062         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
51063         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
51064         * tests/unictype/test-pr_id_continue.c: Regenerated.
51065         * tests/unictype/test-pr_id_start.c: Regenerated.
51066         * tests/unictype/test-pr_ideographic.c: Regenerated.
51067         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
51068         * tests/unictype/test-pr_lowercase.c: Regenerated.
51069         * tests/unictype/test-pr_math.c: Regenerated.
51070         * tests/unictype/test-pr_numeric.c: Regenerated.
51071         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
51072         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
51073         Regenerated.
51074         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
51075         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
51076         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
51077         * tests/unictype/test-pr_other_math.c: Regenerated.
51078         * tests/unictype/test-pr_punctuation.c: Regenerated.
51079         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
51080         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
51081         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
51082         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
51083         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
51084         * tests/unictype/test-pr_uppercase.c: Regenerated.
51085         * tests/unictype/test-pr_xid_continue.c: Regenerated.
51086         * tests/unictype/test-pr_xid_start.c: Regenerated.
51087         * tests/unictype/test-pr_zero_width.c: Regenerated.
51088
51089         Update to Unicode 5.1.0.
51090         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
51091         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
51092         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
51093         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
51094         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
51095         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
51096         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
51097         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
51098         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
51099         (nonspacing_table_ind): Update.
51100         * tests/uniwidth/test-uc_width2.sh: Update expected result.
51101
51102         Update to Unicode 5.1.0.
51103         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
51104         code transform.
51105         * lib/uniname/uniname.c (unicode_character_name,
51106         unicode_name_character): Add the range 0x1Fxxx to the code transform.
51107         * lib/uniname/uninames.h: Regenerated.
51108         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
51109
51110 2009-02-07  Bruno Haible  <bruno@clisp.org>
51111
51112         Merge gen-ctype and gen-lbrk into a single program.
51113         * lib/gen-uni-tables.c: New file, incorporating
51114         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
51115         Add directory prefixes to the names of the generated files.
51116         * lib/unictype/gen-ctype.c: Remove file.
51117         * lib/unilbrk/gen-lbrk.c: Remove file.
51118         * modules/gen-uni-tables: New file.
51119         * modules/unictype/gen-ctype: Remove file.
51120         * modules/unilbrk/gen-lbrk: Remove file.
51121
51122 2009-02-07  Bruno Haible  <bruno@clisp.org>
51123
51124         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
51125
51126         New module 'unistr/u32-strcoll'.
51127         * modules/unistr/u32-strcoll: New file.
51128         * lib/unistr/u32-strcoll.c: New file.
51129
51130         New module 'unistr/u16-strcoll'.
51131         * modules/unistr/u16-strcoll: New file.
51132         * lib/unistr/u16-strcoll.c: New file.
51133
51134         New module 'unistr/u8-strcoll'.
51135         * modules/unistr/u8-strcoll: New file.
51136         * lib/unistr/u8-strcoll.c: New file.
51137         * lib/unistr/u-strcoll.h: New file.
51138
51139 2009-02-07  Bruno Haible  <bruno@clisp.org>
51140
51141         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
51142         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
51143         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
51144         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
51145         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
51146         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
51147
51148 2009-02-07  Bruno Haible  <bruno@clisp.org>
51149
51150         Make 64-bit clean.
51151         * lib/unictype/gen-ctype.c (output_predicate, output_category,
51152         output_combclass, output_bidi_category, output_decimal_digit,
51153         output_digit, output_numeric, output_mirror, output_scripts,
51154         output_ident_category): Use proper width specifier in format strings.
51155
51156 2009-02-07  Bruno Haible  <bruno@clisp.org>
51157
51158         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
51159         failure behaviour.
51160
51161 2009-02-07  Jim Meyering  <meyering@redhat.com>
51162
51163         regex: avoid compilation failure with upcoming gcc-4.4
51164         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
51165         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
51166         "... error: integer overflow in preprocessor expression".
51167
51168 2009-02-05  Ben Pfaff  <blp@gnu.org>
51169
51170         Fix link errors on Windows when close module is used.
51171         * modules/close: Add $(LIB_CLOSE) to Link section.
51172         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
51173         $(LIB_CLOSE) on Windows.
51174
51175 2009-02-05  Jim Meyering  <meyering@redhat.com>
51176
51177         still avoid unused-parameter warnings, but do it cleanly
51178         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
51179         (get_fs_usage): Cast to void instead.
51180         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
51181         (dev_from_mount_options, read_file_system_list): Cast to void.
51182         Prompted by Bruno Haible.
51183
51184 2009-02-04  Jim Meyering  <meyering@redhat.com>
51185
51186         fsusage.c: correct copyright year
51187         * lib/fsusage.c: Reflect year in which the change is pushed into
51188
51189         avoid misc. warnings
51190         * lib/fsusage.c (UNUSED_PARAM): Define.
51191         (get_fs_usage): Mark parameter "disk" as unused.
51192         * lib/getugroups.c (getgrent): Use "void" in prototype.
51193         * lib/mountlist.c: Mark unused parameters.
51194         (read_file_system_list): Declare a local with "const".
51195         * lib/nanosleep.c (getnow): Declare static.
51196         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
51197
51198         dirfd: set errno upon failure
51199         * lib/dirfd.c: Include <errno.h>.
51200         Set errno to ENOTSUP when returning -1.
51201         * modules/dirfd (Depends-on): Add errno.
51202         Suggested by John Kodis <kodis@comcast.net>.
51203
51204 2009-02-01  Bruno Haible  <bruno@clisp.org>
51205
51206         Don't assume sizeof (long) >= sizeof (void *).
51207         * lib/memcmp.c: Include stdint.h.
51208         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
51209         srcp2 to 'const byte *'.
51210         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
51211         types to uintptr_t.
51212         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
51213         * modules/memcmp (Depends-on): Add stdint.
51214         Reported by Ozkan Sezer <sezeroz@gmail.com>.
51215
51216 2009-01-30  Eric Blake  <ebb9@byu.net>
51217
51218         fix more require-before-expand issues
51219         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
51220         expand, AC_PROG_AWK.
51221         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
51222
51223 2009-01-28  Eric Blake  <ebb9@byu.net>
51224
51225         version-etc: use consistent URL formatting
51226         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
51227         Improve formatting.  Use fputs for string without %.
51228
51229 2009-01-28  Jim Meyering  <meyering@redhat.com>
51230
51231         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
51232         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
51233         "underquoted definition of NAME" from autoconf-2.59.
51234
51235 2009-01-28  Bruno Haible  <bruno@clisp.org>
51236
51237         * doc/gnulib.texi: Add "Obsolete modules" to index.
51238
51239 2009-01-28  Jim Meyering  <meyering@redhat.com>
51240
51241         useless-if-before-free: recognize more variants
51242         * build-aux/useless-if-before-free: Also recognize e.g.,
51243         if (NULL != p) free (p);
51244
51245 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
51246
51247         test-getaddrinfo: skip (don't fail) this test when there's no network
51248         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
51249         on the presumption that it means you lack network access.
51250
51251 2009-01-26  Jim Meyering  <meyering@redhat.com>
51252
51253         fflush: avoid warnings on modern systems
51254         * lib/fflush.c (rpl_fflush): Move declarations of locals,
51255         pos and result, into scopes where they're used.
51256
51257 2009-01-26  Eric Blake  <ebb9@byu.net>
51258
51259         Silence warning reintroduced by recent extensions patch.
51260         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
51261         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
51262         autoconf.
51263
51264         Backport improved autoconf semantics of AC_DEFUN_ONCE.
51265         * m4/00gnulib.m4: New file.
51266         * gnulib-tool (func_get_filelist): Always use it.
51267         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
51268         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
51269
51270 2009-01-25  Bruno Haible  <bruno@clisp.org>
51271
51272         Make test-quotearg work on MacOS X and AIX.
51273         * tests/test-quotearg.sh: New file.
51274         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
51275         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
51276         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
51277         include <libintl.h>.
51278         (fake_locale): Remove variable.
51279         (gettext, dgettext, dcgettext): Remove functions.
51280         (main): Instead of setting a fake locale, set a real locale. Call
51281         textdomain and bindtextdomain.
51282         * modules/quotearg-tests (Files): Add the new files.
51283         (Depends-on): Add gettext, setenv, unsetenv.
51284         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
51285         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
51286         Augment TESTS_ENVIRONMENT.
51287
51288 2009-01-25  Bruno Haible  <bruno@clisp.org>
51289
51290         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
51291         fr_FR.ISO8859-1 locale on MacOS X.
51292         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
51293         ja_JP.eucJP locale on MacOS X.
51294         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
51295         zh_CN.GB18030 locale on MacOS X.
51296
51297 2009-01-25  Bruno Haible  <bruno@clisp.org>
51298
51299         Avoid link errors on MacOS X 10.3.
51300         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
51301         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
51302
51303 2009-01-25  Bruno Haible  <bruno@clisp.org>
51304
51305         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
51306         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
51307         * modules/pipe (Files): Remove m4/posix_spawn.m4.
51308         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
51309         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
51310         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
51311         posix_spawnattr_init, posix_spawnattr_setsigmask,
51312         posix_spawnattr_setflags, posix_spawnattr_destroy.
51313
51314         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
51315         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
51316         * modules/execute (Files): Remove m4/posix_spawn.m4.
51317         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
51318         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
51319         posix_spawnattr_init, posix_spawnattr_setsigmask,
51320         posix_spawnattr_setflags, posix_spawnattr_destroy.
51321
51322 2009-01-25  Bruno Haible  <bruno@clisp.org>
51323
51324         * lib/glthread/threadlib.c: Include <stdlib.h>.
51325
51326 2009-01-25  Bruno Haible  <bruno@clisp.org>
51327
51328         * lib/glthread/threadlib.c (dummy): New declaration.
51329
51330 2009-01-25  Bruno Haible  <bruno@clisp.org>
51331
51332         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
51333         multibyte characters also for the GB18030 encoding. Don't crash when
51334         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
51335
51336 2009-01-25  Bruno Haible  <bruno@clisp.org>
51337
51338         Avoid redefining 'struct random_data' on OSF/1 5.1.
51339         * lib/stdlib.in.h: Include <random.h> if it exists.
51340         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
51341         HAVE_RANDOM_H. Include <random.h> when testing whether
51342         'struct random_data' exists.
51343         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
51344
51345 2009-01-25  Bruno Haible  <bruno@clisp.org>
51346
51347         Don't install charset.alias on MacOS X >= 10.3.
51348         * lib/localcharset.c (DARWIN7): New macro.
51349         (get_charset_aliases): Hardcode the result for Darwin7.
51350         * modules/localcharset (install-exec-local): Don't install
51351         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
51352
51353 2009-01-25  Bruno Haible  <bruno@clisp.org>
51354
51355         Don't install charset.alias on mingw and Cygwin.
51356         * modules/localcharset (install-exec-local): Don't install
51357         charset.alias on mingw and Cygwin, if the file does not yet exist.
51358         The result for these platforms is hardcoded in localcharset.c.
51359
51360 2009-01-25  Bruno Haible  <bruno@clisp.org>
51361
51362         Make it possible again to use AC_GNU_SOURCE together with gnulib.
51363         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
51364         before requiring AC_USE_SYSTEM_EXTENSIONS.
51365
51366 2009-01-25  Jim Meyering  <meyering@redhat.com>
51367
51368         c-strtod: avoid warnings
51369         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
51370         "assignment discards qualifiers from pointer target type" warnings.
51371
51372 2009-01-24  Bruno Haible  <bruno@clisp.org>
51373
51374         Add support for non-UTF-8 locales on MacOS X.
51375         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
51376         canonical encodings. For Darwin 7 and newer, don't map traditional
51377         encodings to UTF-8.
51378         Reported by Vincent Lefevre <vincent@vinc17.org>
51379         at <http://savannah.gnu.org/bugs/?25235>.
51380
51381 2009-01-24  Bruno Haible  <bruno@clisp.org>
51382
51383         * doc/gnulib.texi (Obsolete modules): New section.
51384         Reported by Mike Frysinger <vapier@gentoo.org>.
51385
51386 2009-01-24  Bruno Haible  <bruno@clisp.org>
51387
51388         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
51389         (%.dvi): New rule.
51390
51391 2009-01-24  Bruno Haible  <bruno@clisp.org>
51392
51393         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
51394         Reported by Eric Blake.
51395
51396 2009-01-24  Bruno Haible  <bruno@clisp.org>
51397
51398         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
51399         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
51400         Reported by Gary V. Vaughan <gary@gnu.org>.
51401
51402 2009-01-24  Bruno Haible  <bruno@clisp.org>
51403
51404         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
51405
51406 2009-01-23  Bruno Haible  <bruno@clisp.org>
51407
51408         Make c-strtod, c-strtold usable in libraries.
51409         * lib/c-strtod.c: Include string.h instead of xalloc.h.
51410         (C_STRTOD): Call strdup instead of xstrdup.
51411         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
51412         * modules/c-strtold (Depends-on): Likewise.
51413         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
51414         * NEWS: Mention the change.
51415         Reported by Michael Gold <mgold@ncf.ca>.
51416
51417 2009-01-23  Jim Meyering  <meyering@redhat.com>
51418
51419         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
51420         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
51421         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
51422
51423 2009-01-23  Simon Josefsson  <simon@josefsson.org>
51424
51425         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
51426         GNU CoreUtils.
51427         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
51428         * modules/version-etc (Description): Update.
51429
51430 2009-01-22  Bruno Haible  <bruno@clisp.org>
51431
51432         Cache the C locale object.
51433         * lib/c-strtod.c (c_locale_cache): New variable.
51434         (c_locale): New function.
51435         (C_STRTOD): Use it, and don't call freelocale.
51436         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
51437         Suggested by Paolo Bonzini.
51438
51439 2009-01-21  Bruno Haible  <bruno@clisp.org>
51440
51441         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
51442         conditions other than overflow.
51443
51444 2009-01-21  Bruno Haible  <bruno@clisp.org>
51445
51446         * lib/c-strtod.c: Include errno.h.
51447         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
51448         value from STRTOD_L and STRTOD.
51449
51450 2009-01-21  Bruno Haible  <bruno@clisp.org>
51451         and Jim Meyering  <meyering@redhat.com>
51452
51453         nanosleep: skip configure test (fail it) for apple universal builds
51454         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
51455         universal builds, assume that nanosleep does not work.
51456         * modules/nanosleep (Depends-on): Add multiarch.
51457
51458         mktime: skip configure test (fail it) for apple universal builds
51459         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
51460         universal builds, assume that mktime does not work.
51461         * modules/mktime (Depends-on): Add multiarch.
51462
51463 2009-01-21  Eric Blake  <ebb9@byu.net>
51464
51465         multiarch: avoid expand-before-require warning
51466         * modules/multiarch (configure.ac): Require, rather than expand,
51467         gl_MULTIARCH.
51468         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
51469         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
51470         enforce that all clients require it.  Partial reversion of
51471         2008-12-29 patch.
51472
51473         error: avoid expand-before-require warning
51474         * modules/errno (configure.ac): Require, rather than expand,
51475         gl_HEADER_ERRNO_H.
51476         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
51477         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
51478         enforce that all clients require it.
51479
51480         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
51481         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
51482         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
51483         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
51484
51485 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
51486
51487         Revert:
51488         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
51489
51490         regex: do not depend on obsolete modules.
51491         * modules/regex: Remove memcmp and memmove.
51492
51493 2009-01-20  Bruno Haible  <bruno@clisp.org>
51494
51495         Make the 'link' module link on Windows NT 4.
51496         * lib/link.c (_WIN32_WINNT): Don't define.
51497         (CreateHardLinkFuncType): New type.
51498         (CreateHardLinkFunc, initialized): New variables.
51499         (initialize): New function.
51500         (link): Invoke CreateHardLink indirectly through the function pointer.
51501
51502 2009-01-20  Bruno Haible  <bruno@clisp.org>
51503
51504         Fix compilation failure on mingw.
51505         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
51506
51507 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
51508
51509         * doc/c-strtod.texi: Mention a couple of restrictions.
51510
51511 2009-01-20  Jim Meyering  <meyering@redhat.com>
51512
51513         gettimeofday: move more declarations out of functions
51514         * lib/gettimeofday.c: Move extern declarations of tzset and
51515         gmtime out of containing functions.  Prompted by Bruno Haible.
51516
51517 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
51518
51519         regex: do not depend on obsolete modules.
51520         * modules/regex: Remove memcmp and memmove.
51521
51522 2009-01-19  Bruno Haible  <bruno@clisp.org>
51523
51524         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
51525         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
51526         gl_BIGENDIAN, not AC_C_BIGENDIAN.
51527         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
51528         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
51529
51530 2009-01-19  Bruno Haible  <bruno@clisp.org>
51531
51532         * tests/test-link.c: Include <errno.h>.
51533         (main): Exit with code 77 when a hard link cannot be created due to
51534         the file system.
51535         * tests/test-link.sh: Skip test when a hard link cannot be created due
51536         to the file system.
51537         Suggested by Eric Blake.
51538
51539 2009-01-19  Martin Lambers  <marlam@marlam.de>
51540
51541         * modules/link-tests: New file.
51542         * tests/test-link.sh: New file.
51543         * tests/test-link.c: New file.
51544
51545 2009-01-19  Eric Blake  <ebb9@byu.net>
51546
51547         doc: mention another function added in cygwin 1.7.0
51548         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
51549         Another new function in cygwin 1.7.
51550
51551 2009-01-19  Bruno Haible  <bruno@clisp.org>
51552
51553         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
51554         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
51555         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
51556         gl_BIGENDIAN, not AC_C_BIGENDIAN.
51557         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
51558         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
51559         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
51560         * m4/md4.m4 (gl_MD4): Likewise.
51561         * m4/md5.m4 (gl_MD5): Likewise.
51562         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
51563         * m4/sha1.m4 (gl_SHA1): Likewise.
51564         * m4/sha256.m4 (gl_SHA256): Likewise.
51565         * m4/sha512.m4 (gl_SHA512): Likewise.
51566
51567 2009-01-19  Bruno Haible  <bruno@clisp.org>
51568
51569         * modules/uniname/uniname-tests (Depends-on): Add progname.
51570         * tests/uniname/test-uninames.c: Include progname.h.
51571         (main): Call set_program_name.
51572
51573         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
51574         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
51575         (main): Call set_program_name.
51576
51577         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
51578         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
51579         (main): Call set_program_name.
51580
51581         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
51582         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
51583         (main): Call set_program_name.
51584
51585         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
51586         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
51587         (main): Call set_program_name.
51588
51589         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
51590         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
51591         (main): Call set_program_name.
51592
51593         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
51594         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
51595         (main): Call set_program_name.
51596
51597         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
51598         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
51599         (main): Call set_program_name.
51600
51601         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
51602         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
51603         (main): Call set_program_name.
51604
51605 2009-01-19  Eric Blake  <ebb9@byu.net>
51606
51607         test-unistd: test previous patch
51608         * tests/test-unistd.c: Test *_FILENO macros.
51609
51610         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
51611         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
51612         Guarantee a definition.
51613         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
51614         * modules/unistd-safer (Depends-on): Add dependency on unistd.
51615         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
51616         * lib/dup-safer.c (STDERR_FILENO): Likewise.
51617         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
51618         Likewise.
51619         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
51620         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
51621         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
51622         Likewise.
51623         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
51624         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
51625         (STDERR_FILENO): Likewise.
51626         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
51627         (STDERR_FILENO): Likewise.
51628         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
51629         (STDERR_FILENO): Likewise.
51630         Reported by Elbert Pol.
51631
51632 2009-01-19  Eric Blake  <ebb9@byu.net>
51633
51634         doc: mention more functions added in cygwin 1.7.0
51635         * doc/posix-functions/abort.texi (abort): Update wording related
51636         to cygwin.
51637         * doc/posix-functions/daylight.texi (daylight): Likewise.
51638         * doc/posix-functions/optarg.texi (optarg): Likewise.
51639         * doc/posix-functions/optarg.texi (opterr): Likewise.
51640         * doc/posix-functions/optarg.texi (optind): Likewise.
51641         * doc/posix-functions/optarg.texi (optopt): Likewise.
51642         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
51643         worked in 1.5.x, and was withdrawn in 1.7.
51644         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
51645         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
51646         cygwin versions.
51647         * doc/posix-functions/perror.texi (perror): Likewise.
51648         * doc/posix-functions/printf.texi (printf): Likewise.
51649         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
51650         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
51651         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
51652         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
51653         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
51654         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
51655         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
51656         Likewise.
51657         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
51658         Likewise.
51659         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
51660         this function.
51661         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
51662         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
51663         Likewise.
51664         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
51665         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
51666         * doc/posix-functions/confstr.texi (confstr): Likewise.
51667         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
51668         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
51669         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
51670         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
51671         * doc/posix-functions/fputws.texi (fputws): Likewise.
51672         * doc/posix-functions/fwide.texi (fwide): Likewise.
51673         * doc/posix-functions/getwc.texi (getwc): Likewise.
51674         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
51675         * doc/posix-functions/putwc.texi (putwc): Likewise.
51676         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
51677         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
51678         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
51679         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
51680         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
51681         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
51682         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
51683         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
51684         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
51685         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
51686         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
51687
51688 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
51689
51690         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
51691         * lib/ioctl.c: Include <sys/ioctl.h>.
51692
51693 2009-01-19  Simon Josefsson  <simon@josefsson.org>
51694
51695         * modules/getdate-tests (Depends-on): Add progname.
51696         * tests/test-getdate.c: Use progname module, to avoid link errors
51697         on non-glibc systems.
51698
51699 2009-01-18  Simon Josefsson  <simon@josefsson.org>
51700
51701         * modules/filenamecat-tests (Depends-on): Add progname.
51702         * modules/fstrcmp-tests (Depends-on): Likewise.
51703
51704         * tests/test-filenamecat.c: Use progname module, to avoid link
51705         errors on non-glibc systems.
51706         * tests/test-fstrcmp.c: Likewise.
51707
51708 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
51709
51710         gettimeofday: avoid warning: nested extern declaration of 'localtime'
51711         * lib/gettimeofday.c: Move extern declaration out of function.
51712
51713 2009-01-18  Bruno Haible  <bruno@clisp.org>
51714
51715         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
51716         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
51717         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
51718
51719 2009-01-18  Bruno Haible  <bruno@clisp.org>
51720
51721         * lib/strftime.c (MEMPCPY): Remove unused macro.
51722         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
51723
51724 2009-01-18  Martin Lambers  <marlam@marlam.de>
51725
51726         New module 'link'.
51727         * lib/unistd.in.h (link): New declaration.
51728         * lib/link.c: New file.
51729         * m4/link.m4: New file.
51730         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
51731         HAVE_LINK.
51732         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
51733         * modules/link: New file.
51734         * doc/posix-functions/link.texi: Mention the new module.
51735
51736 2009-01-18  Bruno Haible  <bruno@clisp.org>
51737
51738         * tests/test-avltree_list.c (main): Call set_program_name.
51739         * tests/test-avltree_oset.c (main): Likewise.
51740         * tests/test-obstack-printf.c: Include progname.h.
51741         (main): Call set_program_name.
51742         * tests/test-quotearg.c: Include progname.h.
51743         (main): Call set_program_name.
51744         * tests/test-xmemdup0.c: Include progname.h.
51745         (main): Call set_program_name.
51746
51747 2009-01-18  Bruno Haible  <bruno@clisp.org>
51748
51749         New module 'alphasort'.
51750         * lib/dirent.in.h (alphasort): New declaration.
51751         * lib/alphasort.c: New file, from glibc with modifications.
51752         * m4/alphasort.m4: New file.
51753         * modules/alphasort: New file.
51754         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
51755         HAVE_ALPHASORT.
51756         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
51757         HAVE_ALPHASORT.
51758         * doc/posix-functions/alphasort.texi: Mention the new module and the
51759         portability problems.
51760
51761 2009-01-18  Bruno Haible  <bruno@clisp.org>
51762
51763         New module 'scandir'.
51764         * lib/dirent.in.h (scandir): New declaration.
51765         * lib/scandir.c: New file, from glibc with modifications.
51766         * m4/scandir.m4: New file.
51767         * modules/scandir: New file.
51768         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
51769         HAVE_SCANDIR.
51770         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
51771         HAVE_SCANDIR.
51772         * doc/posix-functions/scandir.texi: Mention the new module and the
51773         portability problems.
51774
51775 2009-01-17  Bruno Haible  <bruno@clisp.org>
51776
51777         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
51778         Update documentation.
51779         (func_remove_suffix): Escape all dots in the suffix. Update
51780         documentation.
51781         (func_filter_filelist): Update documentation.
51782         Reported by Ralf Wildenhues.
51783
51784 2009-01-17  Bruno Haible  <bruno@clisp.org>
51785
51786         * modules/dprintf-posix-tests: New file.
51787         * tests/test-dprintf-posix.sh: New file.
51788         * tests/test-dprintf-posix.c: New file.
51789
51790         New modules 'dprintf', 'dprintf-posix'.
51791         * lib/stdio.in.h (dprintf): New declaration.
51792         * lib/dprintf.c: New file.
51793         * m4/dprintf.m4: New file.
51794         * m4/dprintf-posix.m4: New file.
51795         * modules/dprintf: New file.
51796         * modules/dprintf-posix: New file.
51797         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
51798         HAVE_DPRINTF, REPLACE_DPRINTF.
51799         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
51800         HAVE_DPRINTF, REPLACE_DPRINTF.
51801         * doc/posix-functions/dprintf.texi: Mention the new modules.
51802
51803 2009-01-17  Bruno Haible  <bruno@clisp.org>
51804
51805         * modules/vdprintf-posix-tests: New file.
51806         * tests/test-vdprintf-posix.sh: New file.
51807         * tests/test-vdprintf-posix.c: New file.
51808
51809         New modules 'vdprintf', 'vdprintf-posix'.
51810         * lib/stdio.in.h (vdprintf): New declaration.
51811         * lib/vdprintf.c: New file.
51812         * m4/vdprintf.m4: New file.
51813         * m4/vdprintf-posix.m4: New file.
51814         * modules/vdprintf: New file.
51815         * modules/vdprintf-posix: New file.
51816         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
51817         HAVE_VDPRINTF, REPLACE_VDPRINTF.
51818         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
51819         HAVE_VDPRINTF, REPLACE_VDPRINTF.
51820         * doc/posix-functions/vdprintf.texi: Mention the new modules.
51821
51822 2009-01-17  Bruno Haible  <bruno@clisp.org>
51823
51824         Fix replacement of fopen on mingw.
51825         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
51826         mingw.
51827
51828 2009-01-17  Bruno Haible  <bruno@clisp.org>
51829
51830         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
51831         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
51832
51833 2009-01-17  Bruno Haible  <bruno@clisp.org>
51834
51835         Avoid test-fflush2.sh failure on mingw.
51836         * tests/test-fflush2.c: Include binary-io.h.
51837         (main): Put standard input into binary mode.
51838         * modules/fflush-tests (Depends-on): Add binary-io.
51839
51840 2009-01-17  Bruno Haible  <bruno@clisp.org>
51841
51842         * lib/wchar.in.h: In another particular situation, include only the
51843         system's <wchar.h> file.
51844         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
51845         Reported by Albert Chin-A-Young <china@thewrittenword.com>
51846         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
51847
51848 2009-01-17  Bruno Haible  <bruno@clisp.org>
51849
51850         Support for stripping executables in --enable-relocatable.
51851         * build-aux/install-reloc: Expect one more argument, or an environment
51852         variable RELOC_STRIP_PROG. If set, strip the destination program and
51853         its wrapper.
51854         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
51855         RELOC_STRIP_PROG.
51856         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
51857         to set RELOCATABLE_STRIP.
51858         * NEWS: Mention the new Makefile requirement.
51859
51860 2009-01-17  Bruno Haible  <bruno@clisp.org>
51861
51862         * build-aux/install-reloc: Remove debugging information left over by
51863         C compiler on MacOS X.
51864
51865 2009-01-17  Bruno Haible  <bruno@clisp.org>
51866
51867         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
51868         * lib/progreloc.c (find_executable): Fix type of pointer passed to
51869         _NSGetExecutablePath.
51870
51871 2009-01-16  Jim Meyering  <meyering@redhat.com>
51872
51873         strerror: avoid warnings about discarding "const"
51874         * lib/strerror.c (rpl_strerror): Instead of returning a const
51875         string from each and every "case", use a variable, and add a single
51876         cast after the switch.
51877
51878 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
51879
51880         * lib/arpa_inet.in.h: Add extern "C" block for C++.
51881
51882 2009-01-16  Bruno Haible  <bruno@clisp.org>
51883
51884         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
51885         array initializer syntax that also works in C++ mode.
51886         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
51887
51888 2009-01-16  Jim Meyering  <meyering@redhat.com>
51889
51890         poll: suppress a warning
51891         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
51892         to ignore "...unsigned expression < 0 is always false" warnings.
51893
51894 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
51895
51896         poll: remove declarations of unused variables
51897         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
51898         sockbuf and optlen.
51899
51900 2009-01-15  Bruno Haible  <bruno@clisp.org>
51901
51902         Make fflush-after-ungetc POSIX compliant on BSD systems.
51903         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
51904         (clear_ungetc_buffer): Implement also for other systems.
51905         (rpl_fflush): On glibc systems, invoke
51906         clear_ungetc_buffer_preserving_position. Otherwise, invoke
51907         clear_ungetc_buffer after fetching the stream's position, not before.
51908
51909 2009-01-15  Bruno Haible  <bruno@clisp.org>
51910
51911         Make fflush-after-ungetc POSIX compliant on glibc systems.
51912         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
51913         after ungetc.
51914         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
51915         (rpl_fflush): On glibc systems, simply call the system's fflush
51916         function after clearing the ungetc buffer.
51917         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
51918         Instead, lseek only to the end of file, then use the system's fseeko
51919         for the rest. On glibc systems, reset the EOF indicator bit.
51920
51921 2009-01-15  Jim Meyering  <meyering@redhat.com>
51922
51923         openmp.m4: revert quote-adding change, for portability to older autoconf
51924         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
51925         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
51926         Simon Josefsson noticed the problem when using autoconf-2.61.
51927
51928 2009-01-15  Bruno Haible  <bruno@clisp.org>
51929
51930         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
51931         * tests/test-fflush2.c (ASSERT): Always fail.
51932         (main): Add two tests for fflush() after ungetc(), taking into account
51933         the Austin Group's clarification.
51934         Suggested by Eric Blake.
51935
51936 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
51937
51938         mktime.m4: remove K&R-style function prototypes
51939         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
51940         for the Sun C++ compiler.
51941
51942 2009-01-14  Bruno Haible  <bruno@clisp.org>
51943
51944         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
51945         while including <wchar.h>.
51946         * lib/wchar.in.h: In two particular situations on HP-UX, include only
51947         the system's <wchar.h> file.
51948         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
51949
51950 2009-01-14  Bruno Haible  <bruno@clisp.org>
51951
51952         * m4/csharp.m4: Don't mention gettext on the serial number line.
51953         * m4/csharpexec.m4: Likewise.
51954         * m4/eaccess.m4: Likewise.
51955         * m4/javaexec.m4: Likewise.
51956         * m4/sig_atomic_t.m4: Likewise.
51957         * m4/tmpdir.m4: Likewise.
51958         * m4/intldir.m4: Bump gettext version.
51959         * m4/lib-ld.m4: Likewise.
51960
51961 2009-01-14  Bruno Haible  <bruno@clisp.org>
51962
51963         * lib/progname.c (set_program_name): Add more comments.
51964         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
51965
51966 2009-01-14  Simon Josefsson  <simon@josefsson.org>
51967
51968         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
51969         were sys/stat.h does not define it.
51970
51971 2009-01-14  Jim Meyering  <meyering@redhat.com>
51972
51973         many *.m4 files: improve m4 quoting
51974         99% of this change was performed by running the following commands:
51975         git ls-files | grep '\.m4$' | xargs perl -pi \
51976           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
51977           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
51978           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
51979           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
51980         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
51981         The remainder were to add Copyright dates, increment serial numbers,
51982         undo some changes in comments, exclude m4/intl.m4, and add quotes
51983         around the "1" in ",1" where the unusual spacing prohibited the
51984         above regexps from doing the job.  For more details, see
51985         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
51986         * m4/acl.m4: Modified.
51987         * m4/afs.m4: Likewise.
51988         * m4/alloca.m4: Likewise.
51989         * m4/argp.m4: Likewise.
51990         * m4/argz.m4: Likewise.
51991         * m4/atexit.m4: Likewise.
51992         * m4/bison-i18n.m4: Likewise.
51993         * m4/bison.m4: Likewise.
51994         * m4/byteswap.m4: Likewise.
51995         * m4/c-stack.m4: Likewise.
51996         * m4/c-strtod.m4: Likewise.
51997         * m4/calloc.m4: Likewise.
51998         * m4/canonicalize-lgpl.m4: Likewise.
51999         * m4/chown.m4: Likewise.
52000         * m4/clock_time.m4: Likewise.
52001         * m4/codeset.m4: Likewise.
52002         * m4/copy-file.m4: Likewise.
52003         * m4/csharp.m4: Likewise.
52004         * m4/csharpcomp.m4: Likewise.
52005         * m4/csharpexec.m4: Likewise.
52006         * m4/d-ino.m4: Likewise.
52007         * m4/d-type.m4: Likewise.
52008         * m4/dirfd.m4: Likewise.
52009         * m4/double-slash-root.m4: Likewise.
52010         * m4/eaccess.m4: Likewise.
52011         * m4/eealloc.m4: Likewise.
52012         * m4/environ.m4: Likewise.
52013         * m4/errno_h.m4: Likewise.
52014         * m4/euidaccess.m4: Likewise.
52015         * m4/execute.m4: Likewise.
52016         * m4/fatal-signal.m4: Likewise.
52017         * m4/fchdir.m4: Likewise.
52018         * m4/fcntl_h.m4: Likewise.
52019         * m4/fileblocks.m4: Likewise.
52020         * m4/filenamecat.m4: Likewise.
52021         * m4/findprog.m4: Likewise.
52022         * m4/flexmember.m4: Likewise.
52023         * m4/fnmatch.m4: Likewise.
52024         * m4/fopen.m4: Likewise.
52025         * m4/fpending.m4: Likewise.
52026         * m4/fprintf-posix.m4: Likewise.
52027         * m4/free.m4: Likewise.
52028         * m4/frexp.m4: Likewise.
52029         * m4/frexpl.m4: Likewise.
52030         * m4/fsusage.m4: Likewise.
52031         * m4/ftruncate.m4: Likewise.
52032         * m4/gc-camellia.m4: Likewise.
52033         * m4/gc-random.m4: Likewise.
52034         * m4/gc.m4: Likewise.
52035         * m4/getaddrinfo.m4: Likewise.
52036         * m4/getcwd-abort-bug.m4: Likewise.
52037         * m4/getcwd-path-max.m4: Likewise.
52038         * m4/getdate.m4: Likewise.
52039         * m4/getdomainname.m4: Likewise.
52040         * m4/getgroups.m4: Likewise.
52041         * m4/gethostname.m4: Likewise.
52042         * m4/gethrxtime.m4: Likewise.
52043         * m4/getline.m4: Likewise.
52044         * m4/getloadavg.m4: Likewise.
52045         * m4/getndelim2.m4: Likewise.
52046         * m4/getpass.m4: Likewise.
52047         * m4/gettext.m4: Likewise.
52048         * m4/gettime.m4: Likewise.
52049         * m4/gettimeofday.m4: Likewise.
52050         * m4/gnulib-common.m4: Likewise.
52051         * m4/group-member.m4: Likewise.
52052         * m4/host-os.m4: Likewise.
52053         * m4/iconv.m4: Likewise.
52054         * m4/iconv_open.m4: Likewise.
52055         * m4/inet_ntop.m4: Likewise.
52056         * m4/inet_pton.m4: Likewise.
52057         * m4/inline.m4: Likewise.
52058         * m4/intldir.m4: Likewise.
52059         * m4/intlmacosx.m4: Likewise.
52060         * m4/intmax.m4: Likewise.
52061         * m4/intmax_t.m4: Likewise.
52062         * m4/inttypes.m4: Likewise.
52063         * m4/inttypes_h.m4: Likewise.
52064         * m4/inttypes-pri.m4: Likewise.
52065         * m4/isapipe.m4: Likewise.
52066         * m4/isnand.m4: Likewise.
52067         * m4/isnanf.m4: Likewise.
52068         * m4/isnanl.m4: Likewise.
52069         * m4/javacomp.m4: Likewise.
52070         * m4/javaexec.m4: Likewise.
52071         * m4/jm-winsz1.m4: Likewise.
52072         * m4/jm-winsz2.m4: Likewise.
52073         * m4/lchown.m4: Likewise.
52074         * m4/lcmessage.m4: Likewise.
52075         * m4/ldexpl.m4: Likewise.
52076         * m4/lib-ld.m4: Likewise.
52077         * m4/lib-link.m4: Likewise.
52078         * m4/libsigsegv.m4: Likewise.
52079         * m4/link-follow.m4: Likewise.
52080         * m4/localcharset.m4: Likewise.
52081         * m4/locale-fr.m4: Likewise.
52082         * m4/locale-ja.m4: Likewise.
52083         * m4/locale-tr.m4: Likewise.
52084         * m4/locale-zh.m4: Likewise.
52085         * m4/lock.m4: Likewise.
52086         * m4/longlong.m4: Likewise.
52087         * m4/ls-mntd-fs.m4: Likewise.
52088         * m4/lstat.m4: Likewise.
52089         * m4/malloc.m4: Likewise.
52090         * m4/mathl.m4: Likewise.
52091         * m4/mbrtowc.m4: Likewise.
52092         * m4/mbstate_t.m4: Likewise.
52093         * m4/mbswidth.m4: Likewise.
52094         * m4/memchr.m4: Likewise.
52095         * m4/memcmp.m4: Likewise.
52096         * m4/memcpy.m4: Likewise.
52097         * m4/memmem.m4: Likewise.
52098         * m4/memmove.m4: Likewise.
52099         * m4/mempcpy.m4: Likewise.
52100         * m4/memrchr.m4: Likewise.
52101         * m4/memset.m4: Likewise.
52102         * m4/minmax.m4: Likewise.
52103         * m4/mkdir-slash.m4: Likewise.
52104         * m4/mkdtemp.m4: Likewise.
52105         * m4/mktime.m4: Likewise.
52106         * m4/mmap-anon.m4: Likewise.
52107         * m4/mountlist.m4: Likewise.
52108         * m4/nanosleep.m4: Likewise.
52109         * m4/nls.m4: Likewise.
52110         * m4/nocrash.m4: Likewise.
52111         * m4/open.m4: Likewise.
52112         * m4/openat.m4: Likewise.
52113         * m4/openmp.m4: Likewise.
52114         * m4/pathmax.m4: Likewise.
52115         * m4/perl.m4: Likewise.
52116         * m4/physmem.m4: Likewise.
52117         * m4/pipe.m4: Likewise.
52118         * m4/po.m4: Likewise.
52119         * m4/poll.m4: Likewise.
52120         * m4/posixtm.m4: Likewise.
52121         * m4/posixver.m4: Likewise.
52122         * m4/printf-frexp.m4: Likewise.
52123         * m4/printf-frexpl.m4: Likewise.
52124         * m4/printf-posix.m4: Likewise.
52125         * m4/printf-posix-rpl.m4: Likewise.
52126         * m4/printf.m4: Likewise.
52127         * m4/progtest.m4: Likewise.
52128         * m4/putenv.m4: Likewise.
52129         * m4/readline.m4: Likewise.
52130         * m4/readlink.m4: Likewise.
52131         * m4/readutmp.m4: Likewise.
52132         * m4/realloc.m4: Likewise.
52133         * m4/regex.m4: Likewise.
52134         * m4/relocatable.m4: Likewise.
52135         * m4/relocatable-lib.m4: Likewise.
52136         * m4/rename-dest-slash.m4: Likewise.
52137         * m4/rename.m4: Likewise.
52138         * m4/rmdir-errno.m4: Likewise.
52139         * m4/rmdir.m4: Likewise.
52140         * m4/roundf.m4: Likewise.
52141         * m4/roundl.m4: Likewise.
52142         * m4/rpmatch.m4: Likewise.
52143         * m4/save-cwd.m4: Likewise.
52144         * m4/selinux-selinux-h.m4: Likewise.
52145         * m4/setenv.m4: Likewise.
52146         * m4/settime.m4: Likewise.
52147         * m4/sig2str.m4: Likewise.
52148         * m4/sig_atomic_t.m4: Likewise.
52149         * m4/signalblocking.m4: Likewise.
52150         * m4/signbit.m4: Likewise.
52151         * m4/sigpipe.m4: Likewise.
52152         * m4/sockets.m4: Likewise.
52153         * m4/sockpfaf.m4: Likewise.
52154         * m4/st_dm_mode.m4: Likewise.
52155         * m4/stat-time.m4: Likewise.
52156         * m4/stdbool.m4: Likewise.
52157         * m4/stdint.m4: Likewise.
52158         * m4/stdint_h.m4: Likewise.
52159         * m4/stpcpy.m4: Likewise.
52160         * m4/stpncpy.m4: Likewise.
52161         * m4/strcase.m4: Likewise.
52162         * m4/strchrnul.m4: Likewise.
52163         * m4/strcspn.m4: Likewise.
52164         * m4/strdup.m4: Likewise.
52165         * m4/strftime.m4: Likewise.
52166         * m4/strndup.m4: Likewise.
52167         * m4/strnlen.m4: Likewise.
52168         * m4/strpbrk.m4: Likewise.
52169         * m4/strptime.m4: Likewise.
52170         * m4/strsep.m4: Likewise.
52171         * m4/strtod.m4: Likewise.
52172         * m4/strtoimax.m4: Likewise.
52173         * m4/strtok_r.m4: Likewise.
52174         * m4/strtol.m4: Likewise.
52175         * m4/strtoll.m4: Likewise.
52176         * m4/strtoul.m4: Likewise.
52177         * m4/strtoull.m4: Likewise.
52178         * m4/strtoumax.m4: Likewise.
52179         * m4/strverscmp.m4: Likewise.
52180         * m4/threadlib.m4: Likewise.
52181         * m4/timegm.m4: Likewise.
52182         * m4/tm_gmtoff.m4: Likewise.
52183         * m4/tmpdir.m4: Likewise.
52184         * m4/tmpfile.m4: Likewise.
52185         * m4/tzset.m4: Likewise.
52186         * m4/uintmax_t.m4: Likewise.
52187         * m4/unlinkdir.m4: Likewise.
52188         * m4/unlocked-io.m4: Likewise.
52189         * m4/uptime.m4: Likewise.
52190         * m4/userspec.m4: Likewise.
52191         * m4/utimbuf.m4: Likewise.
52192         * m4/utime.m4: Likewise.
52193         * m4/utimes-null.m4: Likewise.
52194         * m4/utimes.m4: Likewise.
52195         * m4/vararrays.m4: Likewise.
52196         * m4/vasnprintf.m4: Likewise.
52197         * m4/vfprintf-posix.m4: Likewise.
52198         * m4/vprintf-posix.m4: Likewise.
52199         * m4/wait-process.m4: Likewise.
52200         * m4/wchar_t.m4: Likewise.
52201         * m4/wint_t.m4: Likewise.
52202         * m4/write-any-file.m4: Likewise.
52203         * m4/yield.m4: Likewise.
52204
52205 2009-01-13  Bruno Haible  <bruno@clisp.org>
52206
52207         Avoid test-copy-file.sh failures when ACL support insufficient.
52208         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
52209         TESTS_ENVIRONMENT.
52210         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
52211         Reported by Jim Meyering.
52212
52213 2009-01-13  Bruno Haible  <bruno@clisp.org>
52214
52215         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
52216         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
52217         * modules/unistdio/u8-printf-parse (Files): Likewise.
52218         * modules/unistdio/u32-printf-parse (Files): Likewise.
52219         * modules/unistdio/ulc-printf-parse (Files): Likewise.
52220
52221 2009-01-13  Simon Josefsson  <simon@josefsson.org>
52222
52223         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
52224         and m4/inttypes_h.m4 too.
52225
52226 2009-01-12  Eric Blake  <ebb9@byu.net>
52227
52228         tests: IRIX 6.2 cc can't compile -0.0 into .data
52229         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
52230         rather than at compile-time.
52231         * tests/test-floorl.c (minus_zero): Likewise.
52232         * tests/test-frexpl.c (minus_zero): Likewise.
52233         * tests/test-isnan.c (minus_zerol): Likewise.
52234         * tests/test-isnanl.h (minus_zero): Likewise.
52235         * tests/test-ldexpl.c (minus_zero): Likewise.
52236         * tests/test-roundl.c (minus_zero): Likewise.
52237         * tests/test-signbit.c (minus_zerol): Likewise.
52238         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
52239         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
52240         * tests/test-truncl.c (minus_zero): Likewise.
52241         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
52242         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
52243         Reported by Tom G. Christensen and Nelson H. F. Beebe.
52244
52245 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
52246
52247         regex: fix glibc bug 9697
52248         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
52249         handling.
52250
52251 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
52252
52253         regex: fix glibc bug 697
52254         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
52255         being NULL also if there are no backreferences.
52256
52257 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
52258
52259         regex: merge glibc changes
52260         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
52261         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
52262         re_string_skip_chars, re_string_reconstruct): Likewise.
52263         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
52264
52265 2009-01-07  Jim Meyering  <meyering@redhat.com>
52266
52267         poll: filter through cppi
52268         * lib/poll.c: Indent cpp directives to reflect nesting.
52269
52270 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
52271
52272         poll: don't return uninitialized
52273         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
52274
52275 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
52276
52277         avoid compile failure on AIX 6.1
52278         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
52279         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
52280
52281 2009-01-04  Jim Meyering  <meyering@redhat.com>
52282
52283         remove duplicate inclusion of <stdio.h>
52284         * tests/test-fprintf-posix.c: Likewise.
52285         * tests/test-printf-posix.c: Likewise.
52286         * tests/test-snprintf-posix.c: Likewise.
52287         * tests/test-sprintf-posix.c: Likewise.
52288         * tests/test-vasprintf-posix.c: Likewise.
52289         * tests/test-vfprintf-posix.c: Likewise.
52290         * tests/test-vprintf-posix.c: Likewise.
52291         * tests/test-vsnprintf-posix.c: Likewise.
52292         * tests/test-vsprintf-posix.c: Likewise.
52293
52294 2009-01-03  Jim Meyering  <meyering@redhat.com>
52295
52296         gnulib-tool: fix sed-based filtering
52297         * gnulib-tool (func_filter_filelist): Remove extra backslash
52298         in sed_fff_filter definition.
52299
52300 2009-01-02  Jim Meyering  <meyering@redhat.com>
52301
52302         strftime: avoid compilation failure on Solaris 2.6
52303         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
52304         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
52305         Don't #define mbrlen or mbsinit, since now they're guaranteed to
52306         be available.  Reported by Tom G. Christensen.  Details in
52307         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
52308
52309 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52310             Bruno Haible  <bruno@clisp.org>
52311
52312         Speed up gnulib-tool by doing more string processing through shell
52313         built-ins.
52314         * gnulib-tool (fast_func_append): New variable.
52315         (func_remove_prefix, func_remove_suffix): New functions.
52316         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
52317         (func_filter_filelist): New function.
52318         (func_get_dependencies): Use func_remove_suffix instead of sed.
52319         (func_get_automake_snippet): Use func_filter_filelist instead of a
52320         subshell and sed invocation.
52321
52322 2009-01-01  Bruno Haible  <bruno@clisp.org>
52323
52324         Fix a security bug.
52325         * gnulib-tool (func_import, import, update): Don't allow the characters
52326         '"', '$', '`', '\' in macro arguments that become part of commands that
52327         are evaluated.
52328
52329 2009-01-01  Bruno Haible  <bruno@clisp.org>
52330
52331         * gnulib-tool (func_reset_sigpipe): Add more comments.
52332
52333 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52334
52335         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
52336         func_emit_tests_Makefile_am, func_import): Abort loops early if we
52337         already know the answer.
52338
52339 2009-01-01  Jim Meyering  <meyering@redhat.com>
52340
52341         * lib/version-etc.c (version_etc_va): Update copyright year.
52342
52343 2008-12-30  Bruno Haible  <bruno@clisp.org>
52344
52345         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
52346         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
52347         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
52348
52349 2008-12-29  Eric Blake  <ebb9@byu.net>
52350
52351         multiarch: avoid autoconf AC_REQUIRE bug
52352         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
52353         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
52354         2.63 and older.
52355         Reported by Bruno Haible, and analyzed in
52356         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
52357
52358 2008-12-29  Bruno Haible  <bruno@clisp.org>
52359
52360         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
52361         files in subdirectories correctly.
52362         Reported by Ralf Wildenhues.
52363
52364 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52365
52366         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
52367         rather than 'join FILE -', for Solaris join.
52368
52369 2008-12-29  Bruno Haible  <bruno@clisp.org>
52370
52371         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
52372         quoting.
52373         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
52374         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
52375         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
52376         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
52377         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
52378         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
52379         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
52380         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
52381         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
52382         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
52383         * m4/nls.m4 (AM_NLS): Likewise.
52384         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
52385         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
52386         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
52387         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
52388         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
52389         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
52390         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
52391         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
52392         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
52393         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
52394         * m4/xsize.m4 (gl_XSIZE): Likewise.
52395         Suggested by Jim Meyering.
52396
52397 2008-11-17  Bruce Korb  <bkorb@gnu.org>
52398
52399         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
52400         * lib/parse-duration.c: use a switch instead of cascading if's.
52401
52402 2008-12-29  Eric Blake  <ebb9@byu.net>
52403
52404         wchar.h: supply WEOF on Irix 5.3
52405         * lib/wchar.in.h (wint_t): Also supply WEOF.
52406         * lib/wctype.in.h (wint_t): Likewise.
52407         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
52408         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
52409         Reported by Tom G. Christensen.
52410
52411 2008-12-26  Bruno Haible  <bruno@clisp.org>
52412
52413         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
52414         i486, i586, i686.
52415
52416 2008-12-26  Bruno Haible  <bruno@clisp.org>
52417
52418         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
52419
52420 2008-12-26  Bruno Haible  <bruno@clisp.org>
52421
52422         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
52423         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
52424         not __STDC_CONSTANT_MACROS.
52425         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
52426
52427 2008-12-25  Bruno Haible  <bruno@clisp.org>
52428
52429         Add support for universal builds to vasnprintf.
52430         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
52431         universal builds, guess no.
52432         * modules/vasnprintf-posix (Depends-on): Add multiarch.
52433         * modules/vasprintf-posix (Depends-on): Likewise.
52434         * modules/fprintf-posix (Depends-on): Likewise.
52435         * modules/vfprintf-posix (Depends-on): Likewise.
52436         * modules/snprintf-posix (Depends-on): Likewise.
52437         * modules/vsnprintf-posix (Depends-on): Likewise.
52438         * modules/sprintf-posix (Depends-on): Likewise.
52439         * modules/vsprintf-posix (Depends-on): Likewise.
52440         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
52441         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
52442         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
52443         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
52444         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
52445         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
52446         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
52447
52448         Add support for universal builds to <inttypes.h>.
52449         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
52450         _SCNu64_PREFIX): In Apple
52451         universal builds, define directly, using _LP64.
52452         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
52453         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
52454         * modules/inttypes (Depends-on): Add multiarch.
52455         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
52456
52457         Add support for universal builds to <stdint.h>.
52458         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
52459         universal builds, define directly, using _LP64.
52460         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
52461         Apple universal builds, don't test for the size and suffix of ptrdiff_t
52462         and size_t.
52463         * modules/stdint (Depends-on): Add multiarch.
52464         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
52465
52466         New module 'multiarch'.
52467         * modules/multiarch: New file.
52468         * m4/multiarch.m4: New file.
52469
52470 2008-12-25  Bruno Haible  <bruno@clisp.org>
52471
52472         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
52473
52474 2008-12-25  Bruno Haible  <bruno@clisp.org>
52475
52476         * modules/btowc (License): Relicense under LGPLv2+.
52477         * modules/mbsinit (License): Likewise.
52478         * modules/mbrtowc (License): Likewise.
52479         * modules/wcrtomb (License): Likewise.
52480         * modules/streq (License): Likewise.
52481         Reported by David Lutterkort <lutter@redhat.com>.
52482
52483 2008-12-23  Bruno Haible  <bruno@clisp.org>
52484
52485         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
52486
52487 2008-12-23  Bruno Haible  <bruno@clisp.org>
52488
52489         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
52490         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
52491         GETADDRINFO_LIB, not in LIBS.
52492         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
52493         * modules/canon-host (Link): Likewise.
52494         * NEWS: Mention the change.
52495         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
52496         GETADDRINFO_LIB.
52497
52498 2008-12-22  Bruno Haible  <bruno@clisp.org>
52499
52500         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
52501         * doc/posix-functions/iswalpha_l.texi: Likewise.
52502         * doc/posix-functions/iswblank_l.texi: Likewise.
52503         * doc/posix-functions/iswcntrl_l.texi: Likewise.
52504         * doc/posix-functions/iswctype_l.texi: Likewise.
52505         * doc/posix-functions/iswdigit_l.texi: Likewise.
52506         * doc/posix-functions/iswgraph_l.texi: Likewise.
52507         * doc/posix-functions/iswlower_l.texi: Likewise.
52508         * doc/posix-functions/iswprint_l.texi: Likewise.
52509         * doc/posix-functions/iswpunct_l.texi: Likewise.
52510         * doc/posix-functions/iswspace_l.texi: Likewise.
52511         * doc/posix-functions/iswupper_l.texi: Likewise.
52512         * doc/posix-functions/iswxdigit_l.texi: Likewise.
52513         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
52514         * doc/posix-functions/open_wmemstream.texi: Likewise.
52515         * doc/posix-functions/swscanf.texi: Likewise.
52516         * doc/posix-functions/towctrans_l.texi: Likewise.
52517         * doc/posix-functions/towlower.texi: Likewise.
52518         * doc/posix-functions/towlower_l.texi: Likewise.
52519         * doc/posix-functions/towupper.texi: Likewise.
52520         * doc/posix-functions/towupper_l.texi: Likewise.
52521         * doc/posix-functions/vfwprintf.texi: Likewise.
52522         * doc/posix-functions/vfwscanf.texi: Likewise.
52523         * doc/posix-functions/vswscanf.texi: Likewise.
52524         * doc/posix-functions/vwprintf.texi: Likewise.
52525         * doc/posix-functions/vwscanf.texi: Likewise.
52526         * doc/posix-functions/wcpcpy.texi: Likewise.
52527         * doc/posix-functions/wcpncpy.texi: Likewise.
52528         * doc/posix-functions/wcscasecmp.texi: Likewise.
52529         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
52530         * doc/posix-functions/wcscoll_l.texi: Likewise.
52531         * doc/posix-functions/wcsdup.texi: Likewise.
52532         * doc/posix-functions/wcsncasecmp.texi: Likewise.
52533         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
52534         * doc/posix-functions/wcsnlen.texi: Likewise.
52535         * doc/posix-functions/wcsnrtombs.texi: Likewise.
52536         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
52537         * doc/posix-functions/wctrans_l.texi: Likewise.
52538         * doc/posix-functions/wctype_l.texi: Likewise.
52539         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
52540         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
52541         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
52542         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
52543         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
52544         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
52545         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
52546         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
52547         * doc/glibc-functions/wcschrnul.texi: Likewise.
52548         * doc/glibc-functions/wcsftime_l.texi: Likewise.
52549         * doc/glibc-functions/wcstod_l.texi: Likewise.
52550         * doc/glibc-functions/wcstof_l.texi: Likewise.
52551         * doc/glibc-functions/wcstol_l.texi: Likewise.
52552         * doc/glibc-functions/wcstold_l.texi: Likewise.
52553         * doc/glibc-functions/wcstoll_l.texi: Likewise.
52554         * doc/glibc-functions/wcstoq.texi: Likewise.
52555         * doc/glibc-functions/wcstoul_l.texi: Likewise.
52556         * doc/glibc-functions/wcstoull_l.texi: Likewise.
52557         * doc/glibc-functions/wcstouq.texi: Likewise.
52558         * doc/glibc-functions/wmempcpy.texi: Likewise.
52559
52560 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
52561             Eric Blake  <ebb9@byu.net>
52562             Paolo Bonzini  <bonzini@gnu.org>
52563             Bruno Haible  <bruno@clisp.org>
52564
52565         Make c-stack work on Haiku.
52566         * lib/c-stack.c (SA_ONSTACK): Define fallback.
52567         (c_stack_action): Use SA_ONSTACK flag.
52568
52569 2008-12-22  Bruno Haible  <bruno@clisp.org>
52570
52571         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
52572
52573 2008-12-22  Bruno Haible  <bruno@clisp.org>
52574
52575         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
52576         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
52577         being overridden.
52578         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
52579         New macros.
52580         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
52581         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
52582         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
52583         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
52584
52585 2008-12-22  Bruno Haible  <bruno@clisp.org>
52586
52587         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
52588         from test code.
52589
52590 2008-12-22  Eric Blake  <ebb9@byu.net>
52591
52592         Avoid gcc warnings on cygwin.
52593         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
52594         Avoid unused variable.
52595         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
52596         Likewise.
52597
52598 2008-12-22  Bruno Haible  <bruno@clisp.org>
52599
52600         Remove HAVE_MBRTOWC conditionals.
52601         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
52602         (mbscasecmp): Assume mbrtowc function.
52603         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
52604         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
52605         * lib/mbschr.c: Include mbuiter.h unconditionally.
52606         (mbschr): Assume mbrtowc function.
52607         * lib/mbscspn.c: Include mbuiter.h unconditionally.
52608         (mbscspn): Assume mbrtowc function.
52609         * lib/mbslen.c: Include mbuiter.h unconditionally.
52610         (mbslen): Assume mbrtowc function.
52611         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
52612         (mbsncasecmp): Assume mbrtowc function.
52613         * lib/mbsnlen.c: Include mbiter.h unconditionally.
52614         (mbsnlen): Assume mbrtowc function.
52615         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
52616         (mbspbrk): Assume mbrtowc function.
52617         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
52618         (mbspcasecmp): Assume mbrtowc function.
52619         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
52620         (mbsrchr): Assume mbrtowc function.
52621         * lib/mbssep.c: Include mbuiter.h unconditionally.
52622         (mbssep): Assume mbrtowc function.
52623         * lib/mbsspn.c: Include mbuiter.h unconditionally.
52624         (mbsspn): Assume mbrtowc function.
52625         * lib/mbsstr.c: Include mbuiter.h unconditionally.
52626         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
52627         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
52628         (mbstok_r): Assume mbrtowc function.
52629         * lib/propername.c: Include mbuiter.h unconditionally.
52630         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
52631         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
52632         (trim2): Assume mbrtowc function.
52633         * lib/mbswidth.c (mbsinit): Remove fallback definition.
52634         (mbsnwidth): Assume mbrtowc function.
52635         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
52636         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
52637         fallback definitions.
52638         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
52639
52640 2008-12-22  Bruno Haible  <bruno@clisp.org>
52641
52642         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
52643
52644 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
52645
52646         * modules/regex: Request emulations for the mb*/wc* functions we need.
52647         * m4/regex.m4: Don't look for those functions here.
52648         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
52649
52650 2008-12-22  Bruno Haible  <bruno@clisp.org>
52651
52652         * modules/fnmatch (Depends-on): Remove duplicated dependency.
52653
52654 2008-12-21  Bruno Haible  <bruno@clisp.org>
52655
52656         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
52657         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
52658         (Include): Remove conditionalization.
52659         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
52660         (Include): Remove conditionalization.
52661         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
52662         (Include): Remove conditionalization.
52663         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
52664         * m4/mbfile.m4 (gl_MBFILE): Likewise.
52665         * NEWS: Mention the change.
52666         Reported by Alan Hourihane <alanh@fairlite.co.uk>
52667         via Sergey Poznyakoff <gray@gnu.org.ua>.
52668
52669 2008-12-21  Bruno Haible  <bruno@clisp.org>
52670
52671         * MODULES.html.sh (Extended multibyte and wide character utilities
52672         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
52673         wcrtomb, wcsrtombs.
52674         (Support for systems lacking POSIX:2008): Add accept, bind, close,
52675         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
52676         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
52677         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
52678
52679 2008-12-21  Bruno Haible  <bruno@clisp.org>
52680
52681         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
52682
52683 2008-12-21  Bruno Haible  <bruno@clisp.org>
52684
52685         * modules/wcsnrtombs-tests: New file.
52686         * tests/test-wcsnrtombs1.sh: New file.
52687         * tests/test-wcsnrtombs2.sh: New file.
52688         * tests/test-wcsnrtombs3.sh: New file.
52689         * tests/test-wcsnrtombs4.sh: New file.
52690         * tests/test-wcsnrtombs.c: New file.
52691
52692         New module 'wcsnrtombs'.
52693         * lib/wchar.in.h (wcsnrtombs): New declaration.
52694         * lib/wcsnrtombs.c: New file.
52695         * lib/wcsrtombs-state.c: New file.
52696         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
52697         (internal_state): Remove variable.
52698         * m4/wcsnrtombs.m4: New file.
52699         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
52700         compilation units.
52701         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
52702         HAVE_WCSNRTOMBS.
52703         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
52704         HAVE_WCSNRTOMBS.
52705         * modules/wcsnrtombs: New file.
52706         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
52707         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
52708
52709 2008-12-21  Bruno Haible  <bruno@clisp.org>
52710
52711         * modules/wcsrtombs-tests: New file.
52712         * tests/test-wcsrtombs1.sh: New file.
52713         * tests/test-wcsrtombs2.sh: New file.
52714         * tests/test-wcsrtombs3.sh: New file.
52715         * tests/test-wcsrtombs4.sh: New file.
52716         * tests/test-wcsrtombs.c: New file.
52717
52718         New module 'wcsrtombs'.
52719         * lib/wchar.in.h (wcsrtombs): New declaration.
52720         * lib/wcsrtombs.c: New file.
52721         * m4/wcsrtombs.m4: New file.
52722         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
52723         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
52724         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
52725         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
52726         * modules/wcsrtombs: New file.
52727         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
52728         bugs.
52729
52730 2008-12-21  Bruno Haible  <bruno@clisp.org>
52731
52732         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
52733         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
52734         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
52735         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
52736         if not correct.
52737         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
52738         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
52739         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
52740         m4/locale-zh.m4, m4/codeset.m4.
52741         * doc/posix-functions/wcrtomb.texi: Document the bug.
52742
52743 2008-12-21  Bruno Haible  <bruno@clisp.org>
52744
52745         Work around a btowc() bug on IRIX 6.5.
52746         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
52747         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
52748         REPLACE_WTOBC if not.
52749         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
52750         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
52751         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
52752
52753 2008-12-21  Bruno Haible  <bruno@clisp.org>
52754
52755         * modules/wcrtomb-tests: New file.
52756         * tests/test-wcrtomb.sh: New file.
52757         * tests/test-wcrtomb.c: New file.
52758
52759         New module 'wcrtomb'.
52760         * lib/wchar.in.h (wcrtomb): New declaration.
52761         * lib/wcrtomb.c: New file.
52762         * m4/wcrtomb.m4: New file.
52763         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
52764         HAVE_WCRTOMB.
52765         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
52766         HAVE_WCRTOMB.
52767         * modules/wcrtomb: New file.
52768         * doc/posix-functions/wcrtomb.texi: Mention the new module.
52769
52770 2008-12-21  Bruno Haible  <bruno@clisp.org>
52771
52772         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
52773         * modules/mbsrtowcs (Files): Likewise.
52774         * modules/wctob (Files): Likewise.
52775         * modules/c-strcase-tests (Files): Likewise.
52776         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
52777         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
52778         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
52779         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
52780         * modules/vasnprintf-posix-tests (Files): Likewise.
52781
52782 2008-12-21  William Pursell  <bill.pursell@gmail.com>
52783
52784         gitlog-to-changelog: pass all command-line arguments to git-log
52785         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
52786         it is sometimes convenient to filter the commits in various ways.
52787         gitlog-to-changelog only allows --since to specify a start date,
52788         but git-log itself supports many other filtering mechanisms.
52789         At the moment, I want to filter by branch name.  Rather than
52790         adding a --branch option to gitlog-to-changelog, it seems more
52791         flexible to simply pass all options directly to git-log and let
52792         git do the work.  Notice that this effectively makes --since a
52793         redundant option for gitlog-to-changelog, but removing it would
52794         require current usage to change since calls would then require
52795         an additional '--'.
52796
52797 2008-12-21  Bruno Haible  <bruno@clisp.org>
52798
52799         * modules/mbsnrtowcs-tests: New file.
52800         * tests/test-mbsnrtowcs1.sh: New file.
52801         * tests/test-mbsnrtowcs2.sh: New file.
52802         * tests/test-mbsnrtowcs3.sh: New file.
52803         * tests/test-mbsnrtowcs4.sh: New file.
52804         * tests/test-mbsnrtowcs.c: New file.
52805
52806         New module 'mbsnrtowcs'.
52807         * lib/wchar.in.h (mbsnrtowcs): New declaration.
52808         * lib/mbsnrtowcs.c: New file.
52809         * lib/mbsrtowcs-state.c: New file.
52810         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
52811         (internal_state): Remove variable.
52812         * m4/mbsnrtowcs.m4: New file.
52813         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
52814         compilation units.
52815         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
52816         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
52817         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
52818         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
52819         * modules/mbsnrtowcs: New file.
52820         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
52821         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
52822         portability problem.
52823
52824 2008-12-21  Bruno Haible  <bruno@clisp.org>
52825
52826         Work around mbsrtowcs bug.
52827         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
52828         (gl_FUNC_MBSRTOWCS): Invoke it.
52829         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
52830         m4/locale-zh.m4.
52831         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
52832
52833 2008-12-21  Bruno Haible  <bruno@clisp.org>
52834
52835         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
52836
52837 2008-12-21  Bruno Haible  <bruno@clisp.org>
52838
52839         Update doc for AIX.
52840         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
52841         16-bit wchar_t type.
52842         * doc/posix-functions/btowc.texi: Likewise.
52843         * doc/posix-functions/fgetwc.texi: Likewise.
52844         * doc/posix-functions/fgetws.texi: Likewise.
52845         * doc/posix-functions/fputwc.texi: Likewise.
52846         * doc/posix-functions/fputws.texi: Likewise.
52847         * doc/posix-functions/fwide.texi: Likewise.
52848         * doc/posix-functions/fwprintf.texi: Likewise.
52849         * doc/posix-functions/fwscanf.texi: Likewise.
52850         * doc/posix-functions/getwchar.texi: Likewise.
52851         * doc/posix-functions/getwc.texi: Likewise.
52852         * doc/posix-functions/iswalnum.texi: Likewise.
52853         * doc/posix-functions/iswalpha.texi: Likewise.
52854         * doc/posix-functions/iswblank.texi: Likewise.
52855         * doc/posix-functions/iswcntrl.texi: Likewise.
52856         * doc/posix-functions/iswctype.texi: Likewise.
52857         * doc/posix-functions/iswdigit.texi: Likewise.
52858         * doc/posix-functions/iswgraph.texi: Likewise.
52859         * doc/posix-functions/iswlower.texi: Likewise.
52860         * doc/posix-functions/iswprint.texi: Likewise.
52861         * doc/posix-functions/iswpunct.texi: Likewise.
52862         * doc/posix-functions/iswspace.texi: Likewise.
52863         * doc/posix-functions/iswupper.texi: Likewise.
52864         * doc/posix-functions/iswxdigit.texi: Likewise.
52865         * doc/posix-functions/mbrtowc.texi: Likewise.
52866         * doc/posix-functions/mbsrtowcs.texi: Likewise.
52867         * doc/posix-functions/mbstowcs.texi: Likewise.
52868         * doc/posix-functions/mbtowc.texi: Likewise.
52869         * doc/posix-functions/putwchar.texi: Likewise.
52870         * doc/posix-functions/putwc.texi: Likewise.
52871         * doc/posix-functions/swprintf.texi: Likewise.
52872         * doc/posix-functions/tolower.texi: Likewise.
52873         * doc/posix-functions/toupper.texi: Likewise.
52874         * doc/posix-functions/towctrans.texi: Likewise.
52875         * doc/posix-functions/ungetwc.texi: Likewise.
52876         * doc/posix-functions/vswprintf.texi: Likewise.
52877         * doc/posix-functions/wcrtomb.texi: Likewise.
52878         * doc/posix-functions/wcscat.texi: Likewise.
52879         * doc/posix-functions/wcschr.texi: Likewise.
52880         * doc/posix-functions/wcscmp.texi: Likewise.
52881         * doc/posix-functions/wcscoll.texi: Likewise.
52882         * doc/posix-functions/wcscpy.texi: Likewise.
52883         * doc/posix-functions/wcscspn.texi: Likewise.
52884         * doc/posix-functions/wcsftime.texi: Likewise.
52885         * doc/posix-functions/wcslen.texi: Likewise.
52886         * doc/posix-functions/wcsncat.texi: Likewise.
52887         * doc/posix-functions/wcsncmp.texi: Likewise.
52888         * doc/posix-functions/wcsncpy.texi: Likewise.
52889         * doc/posix-functions/wcspbrk.texi: Likewise.
52890         * doc/posix-functions/wcsrchr.texi: Likewise.
52891         * doc/posix-functions/wcsrtombs.texi: Likewise.
52892         * doc/posix-functions/wcsspn.texi: Likewise.
52893         * doc/posix-functions/wcsstr.texi: Likewise.
52894         * doc/posix-functions/wcstod.texi: Likewise.
52895         * doc/posix-functions/wcstof.texi: Likewise.
52896         * doc/posix-functions/wcstoimax.texi: Likewise.
52897         * doc/posix-functions/wcstok.texi: Likewise.
52898         * doc/posix-functions/wcstold.texi: Likewise.
52899         * doc/posix-functions/wcstoll.texi: Likewise.
52900         * doc/posix-functions/wcstol.texi: Likewise.
52901         * doc/posix-functions/wcstombs.texi: Likewise.
52902         * doc/posix-functions/wcstoull.texi: Likewise.
52903         * doc/posix-functions/wcstoul.texi: Likewise.
52904         * doc/posix-functions/wcstoumax.texi: Likewise.
52905         * doc/posix-functions/wcswidth.texi: Likewise.
52906         * doc/posix-functions/wcsxfrm.texi: Likewise.
52907         * doc/posix-functions/wctob.texi: Likewise.
52908         * doc/posix-functions/wctomb.texi: Likewise.
52909         * doc/posix-functions/wctrans.texi: Likewise.
52910         * doc/posix-functions/wctype.texi: Likewise.
52911         * doc/posix-functions/wcwidth.texi: Likewise.
52912         * doc/posix-functions/wmemchr.texi: Likewise.
52913         * doc/posix-functions/wmemcmp.texi: Likewise.
52914         * doc/posix-functions/wmemcpy.texi: Likewise.
52915         * doc/posix-functions/wmemmove.texi: Likewise.
52916         * doc/posix-functions/wmemset.texi: Likewise.
52917         * doc/posix-functions/wprintf.texi: Likewise.
52918         * doc/posix-functions/wscanf.texi: Likewise.
52919
52920 2008-12-21  Bruno Haible  <bruno@clisp.org>
52921
52922         Update doc for HP-UX 11.11.
52923         * doc/posix-functions/btowc.texi: Clarify that the function is missing
52924         in HP-UX version 11.00, not in all versions of HP-UX 11.
52925         * doc/posix-functions/fwide.texi: Likewise.
52926         * doc/posix-functions/fwprintf.texi: Likewise.
52927         * doc/posix-functions/fwscanf.texi: Likewise.
52928         * doc/posix-functions/inet_ntop.texi: Likewise.
52929         * doc/posix-functions/inet_pton.texi: Likewise.
52930         * doc/posix-functions/mbrlen.texi: Likewise.
52931         * doc/posix-functions/mbrtowc.texi: Likewise.
52932         * doc/posix-functions/mbsinit.texi: Likewise.
52933         * doc/posix-functions/mbsrtowcs.texi: Likewise.
52934         * doc/posix-functions/swprintf.texi: Likewise.
52935         * doc/posix-functions/swscanf.texi: Likewise.
52936         * doc/posix-functions/towctrans.texi: Likewise.
52937         * doc/posix-functions/vfwprintf.texi: Likewise.
52938         * doc/posix-functions/vswprintf.texi: Likewise.
52939         * doc/posix-functions/vwprintf.texi: Likewise.
52940         * doc/posix-functions/wcrtomb.texi: Likewise.
52941         * doc/posix-functions/wcsrtombs.texi: Likewise.
52942         * doc/posix-functions/wcsstr.texi: Likewise.
52943         * doc/posix-functions/wctob.texi: Likewise.
52944         * doc/posix-functions/wctrans.texi: Likewise.
52945         * doc/posix-functions/wmemchr.texi: Likewise.
52946         * doc/posix-functions/wmemcmp.texi: Likewise.
52947         * doc/posix-functions/wmemcpy.texi: Likewise.
52948         * doc/posix-functions/wmemmove.texi: Likewise.
52949         * doc/posix-functions/wmemset.texi: Likewise.
52950         * doc/posix-functions/wprintf.texi: Likewise.
52951         * doc/posix-functions/wscanf.texi: Likewise.
52952
52953 2008-12-21  Bruno Haible  <bruno@clisp.org>
52954
52955         Work around a portability problem.
52956         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
52957         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
52958
52959 2008-12-20  Bruno Haible  <bruno@clisp.org>
52960
52961         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
52962         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
52963         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
52964         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
52965         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
52966
52967         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
52968         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
52969         set.
52970         (GNULIB_defined_mbstate_t): New macro.
52971         (mbsinit): Redefine if REPLACE_MBSINIT is set.
52972         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
52973         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
52974         reuses the system's mbrtowc function but works around the bugs.
52975         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
52976         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
52977         macros.
52978         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
52979         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
52980         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
52981         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
52982         REPLACE_MBSINIT if mbsinit needs to be overridden.
52983         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
52984         REPLACE_MBSINIT, REPLACE_MBRTOWC.
52985         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
52986         REPLACE_MBSINIT, REPLACE_MBRTOWC.
52987         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
52988         m4/locale-zh.m4.
52989         (Depends): Add mbsinit.
52990         * modules/mbsinit (Depends): Add mbrtowc.
52991         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
52992
52993 2008-12-20  Bruno Haible  <bruno@clisp.org>
52994
52995         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
52996         so that there are no conversion errors on AIX.
52997         * tests/test-mbsrtowcs.c (main): LIkewise.
52998
52999 2008-12-20  Bruno Haible  <bruno@clisp.org>
53000
53001         Work around wctob bug on Solaris <= 9.
53002         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
53003         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
53004         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
53005         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
53006         * modules/wctob (Files): Add m4/locale-fr.m4.
53007         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
53008
53009 2008-12-20  Bruno Haible  <bruno@clisp.org>
53010
53011         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
53012         /dev/null.
53013         * tests/test-select-in.sh: Likewise.
53014         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
53015
53016 2008-12-20  Bruno Haible  <bruno@clisp.org>
53017
53018         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
53019         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
53020         Cygwin 1.5.x.
53021
53022 2008-12-20  Bruno Haible  <bruno@clisp.org>
53023
53024         Ensure mbstate_t is defined on HP-UX 11.11.
53025         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
53026         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
53027         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
53028         AC_USE_SYSTEM_EXTENSIONS.
53029         * modules/fnmatch (Depends-on): Add extensions.
53030         * modules/mbrlen (Depends-on): Likewise.
53031         * modules/mbrtowc (Depends-on): Likewise.
53032         * modules/mbsinit (Depends-on): Likewise.
53033         * modules/mbsrtowcs (Depends-on): Likewise.
53034         * modules/mbswidth (Depends-on): Likewise.
53035         * modules/quotearg (Depends-on): Likewise.
53036         * modules/strftime (Depends-on): Likewise.
53037
53038 2008-12-20  Bruno Haible  <bruno@clisp.org>
53039
53040         Ensure wctob is declared on IRIX 6.5.
53041         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
53042         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
53043         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
53044         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
53045         of HAVE_WCTOB.
53046         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
53047         HAVE_WCTOB.
53048         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
53049
53050 2008-12-19  Bruno Haible  <bruno@clisp.org>
53051
53052         * modules/mbsrtowcs-tests: New file.
53053         * tests/test-mbsrtowcs1.sh: New file.
53054         * tests/test-mbsrtowcs2.sh: New file.
53055         * tests/test-mbsrtowcs3.sh: New file.
53056         * tests/test-mbsrtowcs4.sh: New file.
53057         * tests/test-mbsrtowcs.c: New file.
53058
53059         New module 'mbsrtowcs'.
53060         * lib/wchar.in.h (mbsrtowcs): New declaration.
53061         * lib/mbsrtowcs.c: New file.
53062         * m4/mbsrtowcs.m4: New file.
53063         * modules/mbsrtowcs: New file.
53064         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
53065         HAVE_MBSRTOWCS.
53066         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
53067         HAVE_MBSRTOWCS.
53068         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
53069
53070 2008-12-19  Bruno Haible  <bruno@clisp.org>
53071
53072         New module 'mbrlen'.
53073         * lib/wchar.in.h (mbrlen): New declaration.
53074         * lib/mbrlen.c: New file.
53075         * m4/mbrlen.m4: New file.
53076         * modules/mbrlen: New file.
53077         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
53078         HAVE_MBRLEN.
53079         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
53080         HAVE_MBRLEN.
53081         * doc/posix-functions/mbrlen.texi: Document the new module.
53082
53083 2008-12-19  Bruno Haible  <bruno@clisp.org>
53084
53085         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
53086         * modules/mbrtowc (Depends-on): Add verify.
53087         Suggested by Paul Eggert.
53088
53089 2008-12-18  Bruno Haible  <bruno@clisp.org>
53090
53091         * modules/mbsinit-tests: New file.
53092         * tests/test-mbsinit.sh: New file.
53093         * tests/test-mbsinit.c: New file.
53094
53095 2008-12-18  Bruno Haible  <bruno@clisp.org>
53096
53097         * modules/mbrtowc-tests: New file.
53098         * tests/test-mbrtowc1.sh: New file.
53099         * tests/test-mbrtowc2.sh: New file.
53100         * tests/test-mbrtowc3.sh: New file.
53101         * tests/test-mbrtowc4.sh: New file.
53102         * tests/test-mbrtowc.c: New file.
53103
53104         New module 'mbrtowc'.
53105         * lib/wchar.in.h (mbstate_t): Override when the system does not have
53106         mbsinit and mbrtowc.
53107         (mbrtowc): New declaration.
53108         * lib/mbrtowc.c: New file.
53109         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
53110         * modules/mbrtowc: New file.
53111         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
53112         HAVE_MBRTOWC.
53113         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
53114         HAVE_MBRTOWC.
53115         * doc/posix-functions/mbrtowc.texi: Document the new module.
53116
53117 2008-12-18  Bruno Haible  <bruno@clisp.org>
53118
53119         New module 'wctob'.
53120         * lib/wchar.in.h (wctob): New declaration.
53121         * lib/wctob.c: New file.
53122         * m4/wctob.m4: New file.
53123         * modules/wctob: New file.
53124         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
53125         HAVE_WCTOB.
53126         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
53127         * doc/posix-functions/wctob.texi: Document the new module.
53128
53129 2008-12-18  Bruno Haible  <bruno@clisp.org>
53130
53131         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
53132         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
53133
53134 2008-12-18  Simon Josefsson  <simon@josefsson.org>
53135
53136         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
53137         G. Christensen" <tgc@jupiterrise.com>.
53138
53139         * lib/flock.c: Need to include errno.h.  Reported by "Tom
53140         G. Christensen" <tgc@jupiterrise.com>.
53141
53142         * lib/flock.c: Need to include string.h.  Reported by "Tom
53143         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
53144         <ebb9@byu.net>.
53145
53146 2008-12-18  Bruno Haible  <bruno@clisp.org>
53147
53148         * m4/locale-ja.m4: New file, from GNU gettext.
53149
53150 2008-12-17  Bruno Haible  <bruno@clisp.org>
53151
53152         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
53153         Suggested by Eric Blake.
53154
53155 2008-12-17  Bruno Haible  <bruno@clisp.org>
53156
53157         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
53158
53159 2008-12-17  Bruno Haible  <bruno@clisp.org>
53160
53161         * lib/mbsinit.c: Include verify.h. Verify an assumption.
53162         * modules/mbsinit (Depends-on): Add verify.
53163         Suggested by Paul Eggert.
53164
53165 2008-12-17  Bruno Haible  <bruno@clisp.org>
53166
53167         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
53168         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
53169         gl_FUNC_MBRTOWC.
53170         * m4/mbiter.m4 (gl_MBITER): LIkewise.
53171         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
53172         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
53173         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
53174         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
53175         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
53176         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
53177         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
53178         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
53179         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
53180         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
53181         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
53182         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
53183         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
53184         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
53185         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
53186         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
53187         * modules/trim (configure.ac): Likewise.
53188
53189 2008-12-17  Bruno Haible  <bruno@clisp.org>
53190
53191         * modules/btowc-tests: New file.
53192         * tests/test-btowc1.sh: New file.
53193         * tests/test-btowc2.sh: New file.
53194         * tests/test-btowc.c: New file.
53195
53196         New module 'btowc'.
53197         * lib/wchar.in.h (btowc): New declaration.
53198         * lib/btowc.c: New file.
53199         * m4/btowc.m4: New file.
53200         * modules/btowc: New file.
53201         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
53202         HAVE_BTOWC.
53203         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
53204         * doc/posix-functions/btowc.texi: Document the new module.
53205
53206 2008-12-17  Bruno Haible  <bruno@clisp.org>
53207
53208         New module 'mbsinit'.
53209         * lib/wchar.in.h (mbsinit): New declaration.
53210         * lib/mbsinit.c: New file.
53211         * m4/mbsinit.m4: New file.
53212         * modules/mbsinit: New file.
53213         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
53214         HAVE_MBSINIT.
53215         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
53216         HAVE_MBSINIT.
53217         * doc/posix-functions/mbsinit.texi: Document the new module.
53218
53219 2008-12-16  Bruno Haible  <bruno@clisp.org>
53220
53221         * lib/unistd.in.h: Add comment.
53222         * tests/test-environ.c: Don't include <stdlib.h>.
53223
53224 2008-12-16  Bruno Haible  <bruno@clisp.org>
53225
53226         * lib/parse-duration.h (parse_duration): Document return value
53227         convention.
53228         * lib/parse-duration.c: Include specification header first. Add
53229         comments.
53230         (_): Remove macro.
53231         (parse_year_month_day, parse_hour_minute_second): Move side effects
53232         outside of strchr call.
53233         (parse_non_iso8601): Move side effects outside of isspace call.
53234         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
53235         call.
53236
53237 2008-12-16  Bruno Haible  <bruno@clisp.org>
53238
53239         * tests/test-parse-duration.sh: Produce no output when the test
53240         succeeds.
53241
53242 2008-12-16  Bruno Haible  <bruno@clisp.org>
53243
53244         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
53245         expressions.
53246
53247 2008-12-15  Bruno Haible  <bruno@clisp.org>
53248
53249         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
53250         * doc/glibc-functions/flistxattr.texi: Likewise.
53251         * doc/glibc-functions/fopencookie.texi: Likewise.
53252         * doc/glibc-functions/fremovexattr.texi: Likewise.
53253         * doc/glibc-functions/fsetxattr.texi: Likewise.
53254         * doc/glibc-functions/getxattr.texi: Likewise.
53255         * doc/glibc-functions/lgetxattr.texi: Likewise.
53256         * doc/glibc-functions/listxattr.texi: Likewise.
53257         * doc/glibc-functions/llistxattr.texi: Likewise.
53258         * doc/glibc-functions/lremovexattr.texi: Likewise.
53259         * doc/glibc-functions/lsetxattr.texi: Likewise.
53260         * doc/glibc-functions/removexattr.texi: Likewise.
53261         * doc/glibc-functions/setxattr.texi: Likewise.
53262         * doc/posix-functions/open_memstream.texi: Likewise.
53263
53264 2008-12-15  Eric Blake  <ebb9@byu.net>
53265
53266         Update doc for cygwin 1.7.
53267         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
53268         functions.
53269         * doc/posix-functions/fchmodat.texi: Likewise.
53270         * doc/posix-functions/fchownat.texi: Likewise.
53271         * doc/posix-functions/fdopendir.texi: Likewise.
53272         * doc/posix-functions/fmemopen.texi: Likewise.
53273         * doc/posix-functions/freeaddrinfo.texi: Likewise.
53274         * doc/posix-functions/fstatat.texi: Likewise.
53275         * doc/posix-functions/futimens.texi: Likewise.
53276         * doc/posix-functions/gai_strerror.texi: Likewise.
53277         * doc/posix-functions/getaddrinfo.texi: Likewise.
53278         * doc/posix-functions/getnameinfo.texi: Likewise.
53279         * doc/posix-functions/if_freenameindex.texi: Likewise.
53280         * doc/posix-functions/if_indextoname.texi: Likewise.
53281         * doc/posix-functions/if_nameindex.texi: Likewise.
53282         * doc/posix-functions/if_nametoindex.texi: Likewise.
53283         * doc/posix-functions/insque.texi: Likewise.
53284         * doc/posix-functions/linkat.texi: Likewise.
53285         * doc/posix-functions/llrint.texi: Likewise.
53286         * doc/posix-functions/llrintf.texi: Likewise.
53287         * doc/posix-functions/llrintl.texi: Likewise.
53288         * doc/posix-functions/lockf.texi: Likewise.
53289         * doc/posix-functions/lrintl.texi: Likewise.
53290         * doc/posix-functions/mkdirat.texi: Likewise.
53291         * doc/posix-functions/mkfifoat.texi: Likewise.
53292         * doc/posix-functions/mknodat.texi: Likewise.
53293         * doc/posix-functions/mq_close.texi: Likewise.
53294         * doc/posix-functions/mq_getattr.texi: Likewise.
53295         * doc/posix-functions/mq_notify.texi: Likewise.
53296         * doc/posix-functions/mq_open.texi: Likewise.
53297         * doc/posix-functions/mq_receive.texi: Likewise.
53298         * doc/posix-functions/mq_send.texi: Likewise.
53299         * doc/posix-functions/mq_setattr.texi: Likewise.
53300         * doc/posix-functions/mq_timedreceive.texi: Likewise.
53301         * doc/posix-functions/mq_timedsend.texi: Likewise.
53302         * doc/posix-functions/mq_unlink.texi: Likewise.
53303         * doc/posix-functions/open_memstream.texi: Likewise.
53304         * doc/posix-functions/openat.texi: Likewise.
53305         * doc/posix-functions/posix_fadvise.texi: Likewise.
53306         * doc/posix-functions/posix_fallocate.texi: Likewise.
53307         * doc/posix-functions/posix_madvise.texi: Likewise.
53308         * doc/posix-functions/posix_memalign.texi: Likewise.
53309         * doc/posix-functions/posix_openpt.texi: Likewise.
53310         * doc/posix-functions/readlinkat.texi: Likewise.
53311         * doc/posix-functions/remque.texi: Likewise.
53312         * doc/posix-functions/renameat.texi: Likewise.
53313         * doc/posix-functions/rintl.texi: Likewise.
53314         * doc/posix-functions/sem_unlink.texi: Likewise.
53315         * doc/posix-functions/shm_open.texi: Likewise.
53316         * doc/posix-functions/shm_unlink.texi: Likewise.
53317         * doc/posix-functions/signgam.texi: Likewise.
53318         * doc/posix-functions/sigset.texi: Likewise.
53319         * doc/posix-functions/stpcpy.texi: Likewise.
53320         * doc/posix-functions/stpncpy.texi: Likewise.
53321         * doc/posix-functions/strerror.texi: Likewise.
53322         * doc/posix-functions/strtod.texi: Likewise.
53323         * doc/posix-functions/symlinkat.texi: Likewise.
53324         * doc/posix-functions/unlinkat.texi: Likewise.
53325         * doc/posix-functions/utimensat.texi: Likewise.
53326         * doc/glibc-functions/bindresvport.texi: Likewise.
53327         * doc/glibc-functions/dn_expand.texi: Likewise.
53328         * doc/glibc-functions/exp10.texi: Likewise.
53329         * doc/glibc-functions/exp10f.texi: Likewise.
53330         * doc/glibc-functions/fgetxattr.texi: Likewise.
53331         * doc/glibc-functions/flistxattr.texi: Likewise.
53332         * doc/glibc-functions/fopencookie.texi: Likewise.
53333         * doc/glibc-functions/freeifaddrs.texi: Likewise.
53334         * doc/glibc-functions/fremovexattr.texi: Likewise.
53335         * doc/glibc-functions/fsetxattr.texi: Likewise.
53336         * doc/glibc-functions/getifaddrs.texi: Likewise.
53337         * doc/glibc-functions/getxattr.texi: Likewise.
53338         * doc/glibc-functions/lgetxattr.texi: Likewise.
53339         * doc/glibc-functions/listxattr.texi: Likewise.
53340         * doc/glibc-functions/llistxattr.texi: Likewise.
53341         * doc/glibc-functions/lremovexattr.texi: Likewise.
53342         * doc/glibc-functions/lsetxattr.texi: Likewise.
53343         * doc/glibc-functions/pow10.texi: Likewise.
53344         * doc/glibc-functions/pow10f.texi: Likewise.
53345         * doc/glibc-functions/rcmd_af.texi: Likewise.
53346         * doc/glibc-functions/removexattr.texi: Likewise.
53347         * doc/glibc-functions/res_init.texi: Likewise.
53348         * doc/glibc-functions/res_mkquery.texi: Likewise.
53349         * doc/glibc-functions/res_query.texi: Likewise.
53350         * doc/glibc-functions/res_querydomain.texi: Likewise.
53351         * doc/glibc-functions/res_send.texi: Likewise.
53352         * doc/glibc-functions/rresvport_af.texi: Likewise.
53353         * doc/glibc-functions/setxattr.texi: Likewise.
53354         * doc/glibc-functions/strcasestr.texi: Likewise.
53355
53356 2008-12-15  Bruno Haible  <bruno@clisp.org>
53357
53358         Fix compilation error on OSF/1 4.0.
53359         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
53360         <sys/time.h>, simply delegate to the system header.
53361         Reported by Daniel Richard G. <oss@teragram.com>.
53362
53363 2008-12-15  Bruno Haible  <bruno@clisp.org>
53364
53365         * doc/posix-functions/openat.texi: Mention the 'openat' module.
53366         * doc/posix-functions/fchmodat.texi: Likewise.
53367         * doc/posix-functions/fchownat.texi: Likewise.
53368         * doc/posix-functions/fdopendir.texi: Likewise.
53369         * doc/posix-functions/fstatat.texi: Likewise.
53370         * doc/posix-functions/mkdirat.texi: Likewise.
53371         * doc/posix-functions/unlinkat.texi: Likewise.
53372
53373 2008-12-14  Bruno Haible  <bruno@clisp.org>
53374
53375         Update doc for POSIX:2008.
53376         * doc/posix-functions/faccessat.texi: New file.
53377         * doc/posix-functions/fchmodat.texi: New file.
53378         * doc/posix-functions/fchownat.texi: New file.
53379         * doc/posix-functions/fdopendir.texi: New file.
53380         * doc/posix-functions/fstatat.texi: New file.
53381         * doc/posix-functions/futimens.texi: New file.
53382         * doc/posix-functions/linkat.texi: New file.
53383         * doc/posix-functions/mkdirat.texi: New file.
53384         * doc/posix-functions/mkfifoat.texi: New file.
53385         * doc/posix-functions/mknodat.texi: New file.
53386         * doc/posix-functions/open_wmemstream.texi: New file.
53387         * doc/posix-functions/openat.texi: New file.
53388         * doc/posix-functions/psiginfo.texi: New file.
53389         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
53390         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
53391         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
53392         * doc/posix-functions/readlinkat.texi: New file.
53393         * doc/posix-functions/renameat.texi: New file.
53394         * doc/posix-functions/strerror_l.texi: New file.
53395         * doc/posix-functions/symlinkat.texi: New file.
53396         * doc/posix-functions/unlinkat.texi: New file.
53397         * doc/posix-functions/utimensat.texi: New file.
53398         * doc/gnulib.texi (Function Substitutes): Add these subsections.
53399
53400 2008-12-14  Bruno Haible  <bruno@clisp.org>
53401
53402         Update doc for POSIX:2008.
53403         * doc/posix-functions/alphasort.texi: Renamed from
53404         doc/glibc-functions/alphasort.texi.
53405         * doc/posix-functions/dirfd.texi: Renamed from
53406         doc/glibc-functions/dirfd.texi.
53407         * doc/posix-functions/dprintf.texi: Renamed from
53408         doc/glibc-functions/dprintf.texi.
53409         * doc/posix-functions/duplocale.texi: Renamed from
53410         doc/glibc-functions/duplocale.texi.
53411         * doc/posix-functions/fexecve.texi: Renamed from
53412         doc/glibc-functions/fexecve.texi.
53413         * doc/posix-functions/fmemopen.texi: Renamed from
53414         doc/glibc-functions/fmemopen.texi.
53415         * doc/posix-functions/freelocale.texi: Renamed from
53416         doc/glibc-functions/freelocale.texi.
53417         * doc/posix-functions/getdate_err.texi: Renamed from
53418         doc/glibc-functions/getdate_err.texi.
53419         * doc/posix-functions/isalnum_l.texi: Renamed from
53420         doc/glibc-functions/isalnum_l.texi.
53421         * doc/posix-functions/isalpha_l.texi: Renamed from
53422         doc/glibc-functions/isalpha_l.texi.
53423         * doc/posix-functions/isblank_l.texi: Renamed from
53424         doc/glibc-functions/isblank_l.texi.
53425         * doc/posix-functions/iscntrl_l.texi: Renamed from
53426         doc/glibc-functions/iscntrl_l.texi.
53427         * doc/posix-functions/isdigit_l.texi: Renamed from
53428         doc/glibc-functions/isdigit_l.texi.
53429         * doc/posix-functions/isgraph_l.texi: Renamed from
53430         doc/glibc-functions/isgraph_l.texi.
53431         * doc/posix-functions/islower_l.texi: Renamed from
53432         doc/glibc-functions/islower_l.texi.
53433         * doc/posix-functions/isprint_l.texi: Renamed from
53434         doc/glibc-functions/isprint_l.texi.
53435         * doc/posix-functions/ispunct_l.texi: Renamed from
53436         doc/glibc-functions/ispunct_l.texi.
53437         * doc/posix-functions/isspace_l.texi: Renamed from
53438         doc/glibc-functions/isspace_l.texi.
53439         * doc/posix-functions/isupper_l.texi: Renamed from
53440         doc/glibc-functions/isupper_l.texi.
53441         * doc/posix-functions/iswalnum_l.texi: Renamed from
53442         doc/glibc-functions/iswalnum_l.texi.
53443         * doc/posix-functions/iswalpha_l.texi: Renamed from
53444         doc/glibc-functions/iswalpha_l.texi.
53445         * doc/posix-functions/iswblank_l.texi: Renamed from
53446         doc/glibc-functions/iswblank_l.texi.
53447         * doc/posix-functions/iswcntrl_l.texi: Renamed from
53448         doc/glibc-functions/iswcntrl_l.texi.
53449         * doc/posix-functions/iswctype_l.texi: Renamed from
53450         doc/glibc-functions/iswctype_l.texi.
53451         * doc/posix-functions/iswdigit_l.texi: Renamed from
53452         doc/glibc-functions/iswdigit_l.texi.
53453         * doc/posix-functions/iswgraph_l.texi: Renamed from
53454         doc/glibc-functions/iswgraph_l.texi.
53455         * doc/posix-functions/iswlower_l.texi: Renamed from
53456         doc/glibc-functions/iswlower_l.texi.
53457         * doc/posix-functions/iswprint_l.texi: Renamed from
53458         doc/glibc-functions/iswprint_l.texi.
53459         * doc/posix-functions/iswpunct_l.texi: Renamed from
53460         doc/glibc-functions/iswpunct_l.texi.
53461         * doc/posix-functions/iswspace_l.texi: Renamed from
53462         doc/glibc-functions/iswspace_l.texi.
53463         * doc/posix-functions/iswupper_l.texi: Renamed from
53464         doc/glibc-functions/iswupper_l.texi.
53465         * doc/posix-functions/iswxdigit_l.texi: Renamed from
53466         doc/glibc-functions/iswxdigit_l.texi.
53467         * doc/posix-functions/isxdigit_l.texi: Renamed from
53468         doc/glibc-functions/isxdigit_l.texi.
53469         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
53470         doc/glibc-functions/mbsnrtowcs.texi.
53471         * doc/posix-functions/mkdtemp.texi: Renamed from
53472         doc/glibc-functions/mkdtemp.texi.
53473         * doc/posix-functions/newlocale.texi: Renamed from
53474         doc/glibc-functions/newlocale.texi.
53475         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
53476         doc/glibc-functions/nl_langinfo_l.texi.
53477         * doc/posix-functions/open_memstream.texi: Renamed from
53478         doc/glibc-functions/open_memstream.texi.
53479         * doc/posix-functions/opterr.texi: Renamed from
53480         doc/glibc-functions/opterr.texi.
53481         * doc/posix-functions/optind.texi: Renamed from
53482         doc/glibc-functions/optind.texi.
53483         * doc/posix-functions/optopt.texi: Renamed from
53484         doc/glibc-functions/optopt.texi.
53485         * doc/posix-functions/psignal.texi: Renamed from
53486         doc/glibc-functions/psignal.texi.
53487         * doc/posix-functions/scandir.texi: Renamed from
53488         doc/glibc-functions/scandir.texi.
53489         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
53490         doc/glibc-functions/sched_get_priority_min.texi.
53491         * doc/posix-functions/signgam.texi: Renamed from
53492         doc/glibc-functions/signgam.texi.
53493         * doc/posix-functions/stpcpy.texi: Renamed from
53494         doc/glibc-functions/stpcpy.texi.
53495         * doc/posix-functions/stpncpy.texi: Renamed from
53496         doc/glibc-functions/stpncpy.texi.
53497         * doc/posix-functions/strcasecmp_l.texi: Renamed from
53498         doc/glibc-functions/strcasecmp_l.texi.
53499         * doc/posix-functions/strcoll_l.texi: Renamed from
53500         doc/glibc-functions/strcoll_l.texi.
53501         * doc/posix-functions/strfmon_l.texi: Renamed from
53502         doc/glibc-functions/strfmon_l.texi.
53503         * doc/posix-functions/strftime_l.texi: Renamed from
53504         doc/glibc-functions/strftime_l.texi.
53505         * doc/posix-functions/strncasecmp_l.texi: Renamed from
53506         doc/glibc-functions/strncasecmp_l.texi.
53507         * doc/posix-functions/strndup.texi: Renamed from
53508         doc/glibc-functions/strndup.texi.
53509         * doc/posix-functions/strnlen.texi: Renamed from
53510         doc/glibc-functions/strnlen.texi.
53511         * doc/posix-functions/strsignal.texi: Renamed from
53512         doc/glibc-functions/strsignal.texi.
53513         * doc/posix-functions/strxfrm_l.texi: Renamed from
53514         doc/glibc-functions/strxfrm_l.texi.
53515         * doc/posix-functions/timer_gettime.texi: Renamed from
53516         doc/glibc-functions/timer_gettime.texi.
53517         * doc/posix-functions/tolower_l.texi: Renamed from
53518         doc/glibc-functions/tolower_l.texi.
53519         * doc/posix-functions/toupper_l.texi: Renamed from
53520         doc/glibc-functions/toupper_l.texi.
53521         * doc/posix-functions/towctrans_l.texi: Renamed from
53522         doc/glibc-functions/towctrans_l.texi.
53523         * doc/posix-functions/towlower_l.texi: Renamed from
53524         doc/glibc-functions/towlower_l.texi.
53525         * doc/posix-functions/towupper_l.texi: Renamed from
53526         doc/glibc-functions/towupper_l.texi.
53527         * doc/posix-functions/uselocale.texi: Renamed from
53528         doc/glibc-functions/uselocale.texi.
53529         * doc/posix-functions/vdprintf.texi: Renamed from
53530         doc/glibc-functions/vdprintf.texi.
53531         * doc/posix-functions/wcpcpy.texi:
53532         Renamed from doc/glibc-functions/wcpcpy.texi.
53533         * doc/posix-functions/wcpncpy.texi: Renamed from
53534         doc/glibc-functions/wcpncpy.texi.
53535         * doc/posix-functions/wcscasecmp.texi: Renamed from
53536         doc/glibc-functions/wcscasecmp.texi.
53537         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
53538         doc/glibc-functions/wcscasecmp_l.texi.
53539         * doc/posix-functions/wcscoll_l.texi: Renamed from
53540         doc/glibc-functions/wcscoll_l.texi.
53541         * doc/posix-functions/wcsdup.texi: Renamed from
53542         doc/glibc-functions/wcsdup.texi.
53543         * doc/posix-functions/wcsncasecmp.texi: Renamed from
53544         doc/glibc-functions/wcsncasecmp.texi.
53545         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
53546         doc/glibc-functions/wcsncasecmp_l.texi.
53547         * doc/posix-functions/wcsnlen.texi: Renamed from
53548         doc/glibc-functions/wcsnlen.texi.
53549         * doc/posix-functions/wcsnrtombs.texi: Renamed from
53550         doc/glibc-functions/wcsnrtombs.texi.
53551         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
53552         doc/glibc-functions/wcsxfrm_l.texi.
53553         * doc/posix-functions/wctrans_l.texi: Renamed from
53554         doc/glibc-functions/wctrans_l.texi.
53555         * doc/posix-functions/wctype_l.texi: Renamed from
53556         doc/glibc-functions/wctype_l.texi.
53557         * doc/gnulib.texi (Function Substitutes): Add these subsections.
53558         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
53559         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
53560         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
53561         these subsections.
53562         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
53563         Remove sections.
53564
53565 2008-12-14  Bruno Haible  <bruno@clisp.org>
53566
53567         Update doc for POSIX:2008.
53568         * doc/posix-functions/*.texi: Update URL of POSIX specification.
53569
53570 2008-12-14  Bruno Haible  <bruno@clisp.org>
53571
53572         Update doc for POSIX:2008.
53573         * doc/pastposix-functions/bcmp.texi: Renamed from
53574         doc/posix-functions/bcmp.texi.
53575         * doc/pastposix-functions/bcopy.texi: Renamed from
53576         doc/posix-functions/bcopy.texi.
53577         * doc/pastposix-functions/bsd_signal.texi: Renamed from
53578         doc/posix-functions/bsd_signal.texi.
53579         * doc/pastposix-functions/bzero.texi: Renamed from
53580         doc/posix-functions/bzero.texi.
53581         * doc/pastposix-functions/ecvt.texi: Renamed from
53582         doc/posix-functions/ecvt.texi.
53583         * doc/pastposix-functions/fcvt.texi: Renamed from
53584         doc/posix-functions/fcvt.texi.
53585         * doc/pastposix-functions/ftime.texi: Renamed from
53586         doc/posix-functions/ftime.texi.
53587         * doc/pastposix-functions/gcvt.texi: Renamed from
53588         doc/posix-functions/gcvt.texi.
53589         * doc/pastposix-functions/getcontext.texi: Renamed from
53590         doc/posix-functions/getcontext.texi.
53591         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
53592         doc/posix-functions/gethostbyaddr.texi.
53593         * doc/pastposix-functions/gethostbyname.texi: Renamed from
53594         doc/posix-functions/gethostbyname.texi.
53595         * doc/pastposix-functions/getwd.texi: Renamed from
53596         doc/posix-functions/getwd.texi.
53597         * doc/pastposix-functions/h_errno.texi: Renamed from
53598         doc/posix-functions/h_errno.texi.
53599         * doc/pastposix-functions/index.texi: Renamed from
53600         doc/posix-functions/index.texi.
53601         * doc/pastposix-functions/makecontext.texi: Renamed from
53602         doc/posix-functions/makecontext.texi.
53603         * doc/pastposix-functions/mktemp.texi: Renamed from
53604         doc/posix-functions/mktemp.texi.
53605         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
53606         doc/posix-functions/pthread_attr_getstackaddr.texi.
53607         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
53608         doc/posix-functions/pthread_attr_setstackaddr.texi.
53609         * doc/pastposix-functions/rindex.texi: Renamed from
53610         doc/posix-functions/rindex.texi.
53611         * doc/pastposix-functions/scalb.texi: Renamed from
53612         doc/posix-functions/scalb.texi.
53613         * doc/pastposix-functions/setcontext.texi: Renamed from
53614         doc/posix-functions/setcontext.texi.
53615         * doc/pastposix-functions/swapcontext.texi: Renamed from
53616         doc/posix-functions/swapcontext.texi.
53617         * doc/pastposix-functions/ualarm.texi: Renamed from
53618         doc/posix-functions/ualarm.texi.
53619         * doc/pastposix-functions/usleep.texi: Renamed from
53620         doc/posix-functions/usleep.texi.
53621         * doc/pastposix-functions/vfork.texi: Renamed from
53622         doc/posix-functions/vfork.texi.
53623         * doc/pastposix-functions/wcswcs.texi: Renamed from
53624         doc/posix-functions/wcswcs.texi.
53625         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
53626         (Function Substitutes): Update.
53627
53628 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53629
53630         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
53631         m4/strerror.m4.
53632
53633 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53634             Bruno Haible  <bruno@clisp.org>
53635
53636         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
53637
53638 2008-12-13  Bruno Haible  <bruno@clisp.org>
53639
53640         * modules/strtoull (Depends-on): Remove unistd.
53641
53642 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53643
53644         * modules/strtoull (Depends-on): Add stdlib.
53645
53646 2008-12-11  Simon Josefsson  <simon@josefsson.org>
53647
53648         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
53649
53650 2008-12-10  Jim Meyering  <meyering@redhat.com>
53651
53652         gl_ASSERT: don't say assertions are disabled when they're not
53653         * m4/assert.m4 (gl_ASSERT): Do not make configure report
53654         "checking whether to enable assertions... no", when they are in
53655         fact enabled.  This is solely a bug in the output of configure.
53656         In spite of saying "no", NDEBUG was not defined in that case.
53657         Also, as noted by Eric Blake, leave assertions enabled upon
53658         --enable-assert=INVALID.
53659
53660 2008-12-10  Bruno Haible  <bruno@clisp.org>
53661
53662         Change MODULES.html to refer to POSIX:2008 where possible.
53663         * MODULES.html.sh (POSIX2008_URL): New variable.
53664         (posix_headers): Remove sys/timeb, ucontext.
53665         (posix2001_headers): New variable.
53666         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
53667         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
53668         index, makecontext, mktemp, pthread_attr_getstackaddr,
53669         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
53670         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
53671         (posix2001_functions): New variable.
53672         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
53673         otherwise.
53674
53675 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53676
53677         add missing include to parse-duration.c
53678         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
53679         * modules/parse-duration (Depends-on): Add xalloc.
53680
53681         fix sed script reading maint.mk
53682         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
53683         (syntax-check-rules): Use it.
53684
53685 2008-12-09  Bruno Haible  <bruno@clisp.org>
53686
53687         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
53688         MacOS X 10.4/PowerPC.
53689         Reported by Simon Josefsson.
53690
53691 2008-12-08  Jim Meyering  <meyering@redhat.com>
53692
53693         work around mingw's lack of some S_IF definitions
53694         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
53695         Reported by Simon Josefsson.
53696
53697 2008-12-08  Bruno Haible  <bruno@clisp.org>
53698
53699         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
53700         applied to variables. Needed on MacOS X 10.4/PowerPC.
53701         Reported by Simon Josefsson.
53702
53703 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
53704         and Eric Blake  <ebb9@byu.net>
53705
53706         assert: honor --enable-assert
53707         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
53708         order to honor --enable-assert, rather than treating it as a
53709         synonym for --disable-assert.
53710
53711 2008-12-08  Jim Meyering  <meyering@redhat.com>
53712
53713         * lib/posixtm.c: Remove now-useless declaration of mktime.
53714
53715         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
53716
53717 2008-12-07  Bruno Haible  <bruno@clisp.org>
53718
53719         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
53720         test_once): Mark functions as static.
53721         * tests/test-tls.c (test_tls): Likewise.
53722
53723 2008-12-07  Bruno Haible  <bruno@clisp.org>
53724
53725         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
53726         iconv_register_autodetect.
53727
53728 2008-12-07  Jim Meyering  <meyering@redhat.com>
53729
53730         posixtm.c: avoid a warning
53731         * lib/posixtm.c (posixtime): Don't initialize tm0.
53732         It's no longer needed to placate gcc4's -Wuninitialized,
53733         and the attempt to placate would elicit a new warning.
53734
53735         unicodeio.c: mark unused parameters
53736         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
53737         (fallback_failure_callback): Likewise.
53738
53739 2008-12-07  Bruno Haible  <bruno@clisp.org>
53740
53741         * gnulib-tool (func_create_testdir): When building the tests
53742         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
53743         Reported by Simon Josefsson.
53744
53745 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53746
53747         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
53748
53749 2008-12-06  Bruno Haible  <bruno@clisp.org>
53750
53751         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
53752         Suggested by Eric Blake.
53753
53754 2008-12-06  Bruno Haible  <bruno@clisp.org>
53755
53756         Fix a c-stack test failure on MacOS X.
53757         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
53758         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
53759         handler for SIGBUS as well.
53760         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
53761         install a signal handler for SIGBUS as well.
53762         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
53763
53764 2008-12-06  Bruno Haible  <bruno@clisp.org>
53765
53766         Advocacy documentation.
53767         * doc/gnulib-intro.texi (Benefits): New section.
53768         * doc/gnulib.texi: Update.
53769
53770 2008-12-06  Bruno Haible  <bruno@clisp.org>
53771
53772         Document the 'manywarnings' module.
53773         * doc/manywarnings.texi: New file.
53774         * doc/gnulib.texi: Include it.
53775
53776 2008-12-05  Eric Blake  <ebb9@byu.net>
53777
53778         tests: silence some gcc warnings
53779         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
53780         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
53781         type mismatches.
53782
53783 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53784             Bruno Haible  <bruno@clisp.org>
53785
53786         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
53787
53788 2008-11-29  Jim Meyering  <meyering@redhat.com>
53789
53790         unicodeio.c: mark unused parameters
53791         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
53792         (fallback_failure_callback): Likewise.
53793
53794         fts: fix a thinko
53795         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
53796         (set_stat_type): Return S_IF*-valued "type" directly.
53797         Prompted by James Youngman's spotting a related bug.
53798         Confirmed by further testing through find.
53799
53800         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
53801         * lib/fts.c (D_TYPE): Define.
53802         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
53803         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
53804         (s_ifmt_shift_bits): New function.
53805         (set_stat_type): New function.
53806         (fts_build): When not calling fts_stat, call set_stat_type
53807         to propagate dirent.d_type info to fts_read caller.
53808         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
53809         fts_statp->st_mode type information may be valid.
53810
53811 2008-11-28  Simon Josefsson  <simon@josefsson.org>
53812
53813         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
53814         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
53815         <sds@gnu.org>.
53816
53817 2008-11-20  Bruno Haible  <bruno@clisp.org>
53818
53819         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
53820         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
53821         INCLUDE_NEXT.
53822         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
53823         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
53824         * modules/math (Makefile.am): Substitute
53825         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
53826         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
53827
53828 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
53829             Bruno Haible  <bruno@clisp.org>
53830
53831         * lib/stdint.in.h: Define all type macros so that their expansion is
53832         a single typedef'ed token. Fixes a compilation failure in Boost which
53833         does "using ::int8_t;".
53834
53835 2008-11-18  Simon Josefsson  <simon@josefsson.org>
53836
53837         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
53838         gl_MANYWARN_ALL_GCC.
53839         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
53840         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
53841         * modules/manywarnings: New file.
53842         * MODULES.html.sh: Mention manywarnings module.
53843
53844 2008-11-18  Bruno Haible  <bruno@clisp.org>
53845
53846         * doc/gnulib-tool.texi (Unit tests): New section.
53847
53848 2008-11-18  Simon Josefsson  <simon@josefsson.org>
53849
53850         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
53851         paths like 'lib/po/foo.po'.
53852
53853 2008-11-17  Simon Josefsson  <simon@josefsson.org>
53854
53855         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
53856         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
53857
53858 2008-11-17  Simon Josefsson  <simon@josefsson.org>
53859
53860         * m4/warnings.m4: Use CPPFLAGS to really check whether the
53861         parameter works.
53862
53863 2008-11-17  Simon Josefsson  <simon@josefsson.org>
53864
53865         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
53866
53867 2008-11-17  Bruce Korb  <bkorb@gnu.org>
53868
53869         * modules/parse-duration-tests: New file.
53870         * tests/test-parse-duration.sh: New file.
53871         * tests/test-parse-duration.c: New file.
53872
53873         New module 'parse-duration'.
53874         * lib/parse-duration.h: New file.
53875         * lib/parse-duration.c: New file.
53876         * modules/parse-duration: New file.
53877
53878 2008-11-17  Bruno Haible  <bruno@clisp.org>
53879
53880         * tests/test-select-out.sh: Comment out the first pipe test.
53881         Reported by Simon Josefsson.
53882
53883 2008-11-17  Bruno Haible  <bruno@clisp.org>
53884
53885         * modules/getaddrinfo (Depends-on): Add servent, hostent.
53886         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
53887         gl_HOSTENT.
53888
53889 2008-11-17  Bruno Haible  <bruno@clisp.org>
53890
53891         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
53892         -lnetwork and -lnet. Needed for Haiku and BeOS.
53893
53894 2008-11-16  Bruno Haible  <bruno@clisp.org>
53895
53896         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
53897
53898 2008-11-16  Bruno Haible  <bruno@clisp.org>
53899
53900         Avoid test failure on Haiku.
53901         * tests/test-fsync.c: Include <errno.h>.
53902         (main): Don't require that fsync (0) fails.
53903
53904 2008-11-15  Bruno Haible  <bruno@clisp.org>
53905
53906         New module 'hostent'.
53907         * modules/hostent: New file.
53908         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
53909
53910 2008-11-15  Bruno Haible  <bruno@clisp.org>
53911
53912         New module 'servent'.
53913         * modules/servent: New file.
53914         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
53915
53916 2008-11-15  Bruno Haible  <bruno@clisp.org>
53917
53918         Avoid generating same test program with two different rules.
53919         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
53920         test-frexp to test-frexp-nolibm.
53921         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
53922         test-frexpl to test-frexpl-nolibm.
53923
53924 2008-11-15  Bruno Haible  <bruno@clisp.org>
53925
53926         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
53927         $(FREXPL_LIBM).
53928
53929 2008-11-15  Bruno Haible  <bruno@clisp.org>
53930
53931         * lib/netdb.in.h: Activate the definitions also when the system's
53932         <netdb.h> has 'struct addrinfo'.
53933         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
53934         EAI_OVERFLOW or AI_NUMERICSERV.
53935         * doc/posix-headers/netdb.texi: Document the problem.
53936
53937 2008-11-15  Bruno Haible  <bruno@clisp.org>
53938
53939         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
53940
53941         Make the 'sched' module work on platforms where <sched.h> exists but
53942         is incomplete (such as Haiku).
53943         * lib/sched.in.h; Include the system's <sched.h> if it exists.
53944         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
53945         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
53946         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
53947         HAVE_STRUCT_SCHED_PARAM.
53948         * modules/sched (Depends-on): Add include_next.
53949         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
53950         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
53951         * doc/posix-headers/sched.texi: Document the issue.
53952
53953 2008-11-13  Jim Meyering  <meyering@redhat.com>
53954
53955         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
53956         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
53957         test would fail due to the difference in the Report bugs to ...
53958         line.  The expected address is empty, "<>", while the actual
53959         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
53960
53961 2008-11-12  Bruno Haible  <bruno@clisp.org>
53962
53963         lstat: don't compile lstat.c on systems lacking lstat
53964         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
53965         which don't have lstat; this is handled by lib/sys_stat.in.h already.
53966         Reported by Daniel P. Berrange via Jim Meyering.
53967
53968 2008-11-12  Jim Meyering  <meyering@redhat.com>
53969
53970         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
53971
53972 2008-11-12  Simon Josefsson  <simon@josefsson.org>
53973
53974         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
53975         instead.
53976
53977 2008-11-12  Bruno Haible  <bruno@clisp.org>
53978
53979         * lib/unicodeio.c: Include unistr.h.
53980         (utf8_wctomb): Remove function.
53981         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
53982
53983 2008-11-12  Simon Josefsson  <simon@josefsson.org>
53984
53985         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
53986         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
53987         <bruno@clisp.org>.
53988         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
53989
53990 2008-11-12  Simon Josefsson  <simon@josefsson.org>
53991
53992         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
53993         * doc/gnulib.texi: Add section for warnings.
53994
53995 2008-11-11  Bruno Haible  <bruno@clisp.org>
53996
53997         * lib/sockets.h: Add a comment.
53998
53999 2008-11-11  Karl Berry  <karl@gnu.org>
54000
54001         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
54002
54003 2008-11-11  Eric Blake  <ebb9@byu.net>
54004
54005         fdl.texi: avoid git symlinks
54006         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
54007
54008 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
54009
54010         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
54011
54012 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
54013
54014         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
54015         (gl_WARN_ADD): Substitute $2 if literal.
54016
54017 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
54018
54019         * m4/warning.m4: Remove.
54020
54021 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
54022
54023         * m4/warnings.m4: Almost complete rewrite. :-)
54024
54025 2008-11-10  Simon Josefsson  <simon@josefsson.org>
54026
54027         * modules/warnings: New module.
54028         * m4/warnings.m4: New file.
54029         * MODULES.html.sh: Mention warnings module.
54030         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
54031         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54032
54033 2008-11-10  Eric Blake  <ebb9@byu.net>
54034
54035         fdl.texi: make a symlink to the latest version
54036         * doc/standards.texi: Revert today's earlier change.
54037         * doc/fdl-1.2.texi: Rename from old fdl.texi...
54038         * doc/fdl.texi: ...and replace this with a symlink to the newer
54039         fdl-1.3.texi.
54040
54041 2008-11-10  Bruno Haible  <bruno@clisp.org>
54042
54043         * tests/test-select-fd.c (main): Accept the result file name as fourth
54044         argument.
54045         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
54046         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
54047
54048 2008-11-10  Bruno Haible  <bruno@clisp.org>
54049
54050         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
54051         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
54052         as autoconf-substituted macros.
54053         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
54054         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
54055         gl_NETDB_H_DEFAULTS. Set these variables.
54056         * modules/netdb (Makefile.am): Substitute these variables.
54057
54058 2008-11-10  Eric Blake  <ebb9@byu.net>
54059
54060         standards.texi: include correct file for FDL 1.3
54061         * doc/standards.texi (GNU Free Documentation License): Change
54062         include file to pull in FDL 1.3, not 1.2.
54063
54064         fdl.texi: revert accidental change to license
54065         * doc/fdl.texi: This is FDL 1.2, not 1.3.
54066
54067 2008-11-10  Bruno Haible  <bruno@clisp.org>
54068
54069         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
54070         cross-compiling guesses also when the native compile gives no result.
54071
54072 2008-11-10  Bruno Haible  <bruno@clisp.org>
54073
54074         * lib/spawni.c (__spawni): Force variable into the stack.
54075
54076 2008-11-10  Bruno Haible  <bruno@clisp.org>
54077
54078         Add support for Haiku.
54079         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
54080         glibc and BeOS, but also on Haiku.
54081         * lib/fpurge.c (fpurge): Likewise.
54082         * lib/freadable.c (freadable): Likewise.
54083         * lib/freadahead.c (freadahead): Likewise.
54084         * lib/freading.c (freading): Likewise.
54085         * lib/freadptr.c (freadptr): Likewise.
54086         * lib/freadseek.c (freadptrinc): Likewise.
54087         * lib/fseeko.c (rpl_fseeko): Likewise.
54088         * lib/fseterr.c (fseterr): Likewise.
54089         * lib/fwritable.c (fwritable): Likewise.
54090         * lib/fwriting.c (fwriting): Likewise.
54091         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
54092
54093 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
54094
54095         * lib/config.charset: Treat Haiku like BeOS.
54096
54097 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
54098
54099         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
54100         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
54101
54102 2008-11-08  Bruno Haible  <bruno@clisp.org>
54103
54104         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
54105         AC_CACHE_CHECK.
54106
54107 2008-11-08  Bruno Haible  <bruno@clisp.org>
54108
54109         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
54110
54111 2008-11-08  Bruno Haible  <bruno@clisp.org>
54112
54113         * tests/test-select-fd.c: New file.
54114         * tests/test-select-in.sh: New file.
54115         * tests/test-select-out.sh: New file.
54116         * tests/test-select-stdin.c: New file.
54117         * modules/select-tests (Files): Add the new files.
54118         (Depends-on): Add gettimeofday.
54119         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
54120         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
54121         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
54122
54123 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
54124             Bruno Haible  <bruno@clisp.org>
54125
54126         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
54127
54128 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
54129
54130         * build-aux/pmccabe2html: Added support for C++ source files.
54131
54132 2008-11-05  Ben Pfaff  <blp@gnu.org>
54133
54134         Fix lib/close.c build on Windows.
54135         * modules/close (Files): Add lib/w32sock.h.
54136
54137 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
54138
54139         Accept Bison's NEWS format.
54140         * build-aux/announce-gen (print_news_deltas): Tweak
54141         $re_prefix.
54142
54143 2008-11-04  Bruno Haible  <bruno@clisp.org>
54144
54145         * modules/random_r (Maintainer): Add glibc.
54146
54147 2008-11-04  Simon Josefsson  <simon@josefsson.org>
54148
54149         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
54150         by karl@freefriends.org (Karl Berry).
54151         * doc/alloca.texi: Likewise.
54152         * doc/c-ctype.texi: Likewise.
54153         * doc/c-strcase.texi: Likewise.
54154         * doc/c-strcaseeq.texi: Likewise.
54155         * doc/c-strcasestr.texi: Likewise.
54156         * doc/c-strstr.texi: Likewise.
54157         * doc/c-strtod.texi: Likewise.
54158         * doc/c-strtold.texi: Likewise.
54159         * doc/ctime.texi: Likewise.
54160         * doc/error.texi: Likewise.
54161         * doc/fdl.texi: Likewise.
54162         * doc/gcd.texi: Likewise.
54163         * doc/getdate.texi: Likewise.
54164         * doc/gnulib-intro.texi: Likewise.
54165         * doc/gnulib-tool.texi: Likewise.
54166         * doc/gnulib.texi: Likewise.
54167         * doc/inet_ntoa.texi: Likewise.
54168         * doc/maintain.texi: Likewise.
54169         * doc/make-stds.texi: Likewise.
54170         * doc/quote.texi: Likewise.
54171         * doc/regexprops-generic.texi: Likewise.
54172         * doc/standards.texi: Likewise.
54173         * doc/verify.texi: Likewise.
54174         * doc/visibility.texi: Likewise.
54175         * doc/gnulib.texi (GNU Free Documentation License): Include
54176         fdl-1.3.texi instead of fdl.texi.
54177
54178 2008-11-04  Simon Josefsson  <simon@josefsson.org>
54179
54180         * doc/fdl-1.3.texi: New file, from
54181         <http://www.gnu.org/licenses/fdl-1.3.texi>.
54182         * modules/fdl-1.3: Add.
54183         * MODULES.html.sh: Add fdl-1.3.
54184
54185 2008-11-03  Bruno Haible  <bruno@clisp.org>
54186
54187         Make determination of absolute name of header file work with AIX xlc.
54188         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
54189         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
54190         preprocessing.
54191         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
54192         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
54193
54194 2008-11-03  Simon Josefsson  <simon@josefsson.org>
54195
54196         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
54197         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
54198         <ludo@gnu.org>.
54199
54200 2008-11-02  Bruno Haible  <bruno@clisp.org>
54201
54202         Mark 'strpbrk' obsolete.
54203         * modules/strpbrk (Status, Notice): New sections.
54204         * modules/strtok_r (Depends-on): Add strpbrk.
54205
54206 2008-11-02  Bruno Haible  <bruno@clisp.org>
54207
54208         Mark 'strdup' obsolete.
54209         * modules/strdup (Status, Notice): New sections.
54210         * modules/findprog (Depends-on): Add strdup.
54211         * modules/getaddrinfo (Depends-on): Likewise.
54212         * modules/localename (Depends-on): Likewise.
54213         * modules/relocatable-lib (Depends-on): Likewise.
54214         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
54215         * modules/relocatable-prog (Depends-on): Likewise.
54216         * modules/trim (Depends-on): Likewise.
54217         * modules/unictype/gen-ctype (Depends-on): Likewise.
54218         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
54219
54220 2008-11-02  Bruno Haible  <bruno@clisp.org>
54221
54222         Mark 'strcspn' obsolete.
54223         * modules/strcspn (Status, Notice): New sections.
54224
54225 2008-11-02  Bruno Haible  <bruno@clisp.org>
54226
54227         Mark 'rmdir' obsolete.
54228         * modules/rmdir (Status, Notice): New sections.
54229         * modules/clean-temp (Depends-on): Add rmdir.
54230         * modules/openat (Depends-on): Likewise.
54231
54232 2008-11-02  Bruno Haible  <bruno@clisp.org>
54233
54234         Mark 'raise' obsolete.
54235         * modules/raise (Status, Notice): New sections.
54236         (Include): Specify <signal.h>.
54237         * modules/stdio (Depends-on): Add raise.
54238         * modules/write (Depends-on): Likewise.
54239
54240 2008-11-02  Bruno Haible  <bruno@clisp.org>
54241
54242         Mark 'memset' obsolete.
54243         * modules/memset (Status, Notice): New sections.
54244
54245 2008-11-02  Bruno Haible  <bruno@clisp.org>
54246
54247         Mark 'memmove' obsolete.
54248         * modules/memmove (Status, Notice): New sections.
54249         * modules/argp (Depends-on): Add memmove.
54250         * modules/argz (Depends-on): Likewise.
54251         * modules/canonicalize (Depends-on): Likewise.
54252         * modules/canonicalize-lgpl (Depends-on): Likewise.
54253         * modules/fts (Depends-on): Likewise.
54254         * modules/getcwd (Depends-on): Likewise.
54255         * modules/human (Depends-on): Likewise.
54256         * modules/regex (Depends-on): Likewise.
54257         * modules/striconveh (Depends-on): Likewise.
54258         * modules/trim (Depends-on): Likewise.
54259         * modules/unistr/u8-move (Depends-on): Likewise.
54260         * modules/unistr/u16-move (Depends-on): Likewise.
54261         * modules/unistr/u32-move (Depends-on): Likewise.
54262
54263 2008-11-02  Bruno Haible  <bruno@clisp.org>
54264
54265         Mark 'memcpy' obsolete.
54266         * modules/memcpy (Status, Notice): New sections.
54267
54268 2008-11-02  Bruno Haible  <bruno@clisp.org>
54269
54270         Mark 'memcmp' obsolete.
54271         * modules/memcmp (Status, Notice): New sections.
54272         * modules/argmatch (Depends-on): Add memchr.
54273         * modules/backupfile (Depends-on): Likewise.
54274         * modules/c-strcasestr (Depends-on): Likewise.
54275         * modules/crypto/des (Depends-on): Likewise.
54276         * modules/csharpcomp (Depends-on): Likewise.
54277         * modules/fnmatch (Depends-on): Likewise.
54278         * modules/git-merge-changelog (Depends-on): Likewise.
54279         * modules/isnand (Depends-on): Likewise.
54280         * modules/isnand-nolibm (Depends-on): Likewise.
54281         * modules/isnanf (Depends-on): Likewise.
54282         * modules/isnanf-nolibm (Depends-on): Likewise.
54283         * modules/isnanl (Depends-on): Likewise.
54284         * modules/isnanl-nolibm (Depends-on): Likewise.
54285         * modules/mbchar (Depends-on): Likewise.
54286         * modules/memcoll (Depends-on): Likewise.
54287         * modules/quotearg (Depends-on): Likewise.
54288         * modules/regex (Depends-on): Likewise.
54289         * modules/relocatable-prog (Depends-on): Likewise.
54290         * modules/same (Depends-on): Likewise.
54291         * modules/signbit (Depends-on): Likewise.
54292         * modules/strcasestr-simple (Depends-on): Likewise.
54293         * modules/unictype/gen-ctype (Depends-on): Likewise.
54294         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
54295         * modules/uniname/uniname (Depends-on): Likewise.
54296         * modules/unistr/u8-cmp (Depends-on): Likewise.
54297
54298 2008-11-02  Bruno Haible  <bruno@clisp.org>
54299
54300         Mark 'memchr' obsolete.
54301         * modules/memchr (Status, Notice): New sections.
54302         * modules/argp (Depends-on): Add memchr.
54303         * modules/base64 (Depends-on): Likewise.
54304         * modules/c-strcasestr (Depends-on): Likewise.
54305         * modules/chdir-long (Depends-on): Likewise.
54306         * modules/fnmatch (Depends-on): Likewise.
54307         * modules/getsubopt (Depends-on): Likewise.
54308         * modules/git-merge-changelog (Depends-on): Likewise.
54309         * modules/glob (Depends-on): Likewise.
54310         * modules/strcasestr-simple (Depends-on): Likewise.
54311         * modules/strnlen (Depends-on): Likewise.
54312
54313 2008-11-02  Bruno Haible  <bruno@clisp.org>
54314
54315         Mark 'atexit' obsolete.
54316         * modules/atexit (Status, Notice): New sections.
54317         * modules/chdir-long (Depends-on): Add atexit.
54318         * modules/wait-process (Depends-on): Likewise.
54319
54320 2008-11-02  Bruno Haible  <bruno@clisp.org>
54321
54322         * gnulib-tool: New option --with-obsolete.
54323         (func_usage): Document it.
54324         (func_modules_transitive_closure): Drop obsolete dependencies if
54325         incobsolete is not true.
54326         (func_import): Read and save the incobsolete variable to the cache.
54327
54328 2008-11-02  Bruno Haible  <bruno@clisp.org>
54329
54330         * modules/TEMPLATE-EXTENDED: New field 'Status'.
54331         * gnulib-tool: New option --extract-status.
54332         (func_usage): Document it.
54333         (sed_extract_prog): Recognize it.
54334         (func_get_status): New function.
54335
54336 2008-10-30  Simon Josefsson  <simon@josefsson.org>
54337
54338         * modules/sockets (License): Change from LGPL to LGPLv2+.
54339
54340 2008-10-28  Simon Josefsson  <simon@josefsson.org>
54341
54342         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
54343
54344 2008-10-28  Simon Josefsson  <simon@josefsson.org>
54345
54346         * MODULES.html.sh (Support for systems lacking POSIX:2001):
54347         Mention times and sys_times.
54348         * modules/sys_times, modules/sys_times-tests: New modules.
54349         * modules/times, modules/times-tests: Likewise
54350         * m4/sys_times_h.m4: New file.
54351         * lib/sys_times.in.h: Likewise
54352         * lib/times.c: Likewise.
54353         * tests/test-sys_times.c: Likewise.
54354         * tests/test-times.c: Likewise.
54355         * doc/posix-headers/sys_times.texi: Update.
54356         * doc/posix-functions/times.texi: Update.
54357
54358 2008-10-28  Jim Meyering  <meyering@redhat.com>
54359
54360         * modules/tempname (Depends-on): Add lstat.
54361
54362         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
54363
54364 2008-10-28  Simon Josefsson  <simon@josefsson.org>
54365
54366         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
54367         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
54368         using idiom used elsewhere in gnulib.
54369
54370 2008-10-27  Jim Meyering  <meyering@redhat.com>
54371
54372         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
54373
54374 2008-10-27  Simon Josefsson  <simon@josefsson.org>
54375
54376         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
54377         TESTS_ENVIRONMENT, for shell scripts that needs to call built
54378         programs.
54379         * tests/test-argp-2.sh: Use $EXEEXT when needed.
54380
54381 2008-10-27  Simon Josefsson  <simon@josefsson.org>
54382
54383         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
54384
54385 2008-10-27  Bruno Haible  <bruno@clisp.org>
54386
54387         * tests/test-lstat.c: Include <stdio.h>.
54388
54389 2008-10-27  Simon Josefsson  <simon@josefsson.org>
54390
54391         * modules/lstat-tests: New module.
54392         * tests/test-lstat.c: New file.
54393
54394 2008-10-26  Jim Meyering  <meyering@redhat.com>
54395
54396         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
54397
54398 2008-10-26  Simon Josefsson  <simon@josefsson.org>
54399             Bruno Haible  <bruno@clisp.org>
54400
54401         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
54402         * modules/configmake (Include): Add a note that the include must come
54403         after all system headers.
54404         * lib/javaversion.c: Include configmake.h after all other includes.
54405
54406 2008-10-26  Bruno Haible  <bruno@clisp.org>
54407
54408         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
54409         HAVE_STRUCT_RANDOM_DATA to 1.
54410         (gl_STDLIB_H): Simplify.
54411
54412 2008-10-26  Simon Josefsson  <simon@josefsson.org>
54413
54414         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
54415         substitute HAVE_STRUCT_RANDOM_DATA.
54416         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
54417         random_data.
54418         * modules/stdlib (Makefile.am): Substitute
54419         HAVE_STRUCT_RANDOM_DATA.
54420
54421 2008-10-26  Simon Josefsson  <simon@josefsson.org>
54422
54423         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
54424         * doc/gnulib-intro.texi (Copyright): Likewise.
54425
54426 2008-10-26  Simon Josefsson  <simon@josefsson.org>
54427
54428         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
54429         findings.
54430
54431 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
54432             Bruno Haible  <bruno@clisp.org>
54433
54434         * lib/unistd.in.h: Include <winsock2.h>.
54435         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
54436         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
54437         Provide dummy declarations.
54438         (gethostname): Override.
54439         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
54440         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
54441         gl_PREREQ_SYS_H_WINSOCK2.
54442         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
54443         * doc/posix-functions/gethostname.texi: More details.
54444
54445 2008-10-25  Bruno Haible  <bruno@clisp.org>
54446
54447         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
54448         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
54449         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
54450
54451         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
54452         here ...
54453         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
54454         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
54455         gl_UNISTD_H_DEFAULTS.
54456
54457 2008-10-25  Eric Blake  <ebb9@byu.net>
54458
54459         signbit: avoid spurious compiler failure
54460         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
54461         declarations inside function.
54462
54463 2008-10-24  Simon Josefsson  <simon@josefsson.org>
54464             Bruno Haible  <bruno@clisp.org>
54465
54466         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
54467         * modules/random_r (Depends-on): Add stdint.
54468
54469 2008-10-24  Bruno Haible  <bruno@clisp.org>
54470
54471         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
54472         Eggert.
54473         * modules/strerror (License): Likewise.
54474
54475 2008-10-24  Jim Meyering  <meyering@redhat.com>
54476
54477         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
54478         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
54479
54480 2008-10-24  Eric Blake  <ebb9@byu.net>
54481
54482         getgroups: fix compilation when getgroups is available
54483         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
54484         but with <config.h> override of getgroups disabled.
54485
54486 2008-10-24  Simon Josefsson  <simon@josefsson.org>
54487
54488         * doc/gnulib.texi (Header files): Add note about C++ problems.
54489         Explained by Bruno Haible <bruno@clisp.org>.
54490
54491 2008-10-23  Bruno Haible  <bruno@clisp.org>
54492
54493         Define a dummy SA_NODEFER macro on Interix.
54494         * lib/signal.in.h (SA_NODEFER): Define fallback.
54495         Reported by Aleksey Cheusov <cheusov@tut.by> via
54496         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
54497
54498 2008-10-23  Bruno Haible  <bruno@clisp.org>
54499
54500         * modules/freadahead (License): Change to LGPLv2+.
54501         Suggested by Simon Josefsson.
54502
54503 2008-10-23  Jim Meyering  <meyering@redhat.com>
54504
54505         random_r: new module
54506         * modules/random_r: New file.
54507         * m4/random_r.m4: New file.
54508         * lib/random_r.c: New file, from glibc.
54509         * modules/random_r-tests: New file.
54510         * tests/test-random_r.c: New file.
54511         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
54512          Declare.
54513         (RAND_MAX): Define.
54514         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
54515         * modules/stdlib: Substitute them, too.
54516         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
54517         * doc/glibc-functions/initstate_r.texi: Mention the new module.
54518         * doc/glibc-functions/random_r.texi: Likewise.
54519         * doc/glibc-functions/setstate_r.texi: Likewise.
54520         * doc/glibc-functions/srandom_r.texi: Likewise.
54521         * config/srclist.txt: Mention it.
54522
54523 2008-10-23  David Lutterkort  <lutter@redhat.com>
54524
54525         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
54526         link requirement
54527
54528 2008-10-23  Jim Meyering  <meyering@redhat.com>
54529
54530         selinux-h: mark parameters of stub functions as intentionally unused
54531         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
54532         * lib/se-context.in.h: Likewise.
54533
54534 2008-10-22  Simon Josefsson  <simon@josefsson.org>
54535
54536         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
54537
54538 2008-10-22  Simon Josefsson  <simon@josefsson.org>
54539
54540         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
54541
54542 2008-10-22  Eric Blake  <ebb9@byu.net>
54543
54544         glthread/thread: avoid compiler warning
54545         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
54546         Add unreachable abort to silence compiler.
54547
54548 2008-10-22  Eric Blake  <ebb9@byu.net>
54549
54550         netdb: also supply struct addrinfo for cygwin 1.5.x
54551         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
54552         older cygwin.
54553         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
54554         cygwin.
54555         * doc/posix-headers/netdb.texi (netdb.h): Document this.
54556
54557 2008-10-22  Bruno Haible  <bruno@clisp.org>
54558
54559         * users.txt: Update entry about pspp.
54560
54561 2008-10-21  Bruno Haible  <bruno@clisp.org>
54562
54563         Simplification.
54564         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
54565         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
54566
54567         Simplification.
54568         * lib/ioctl.c (ioctl): Don't undefine.
54569         * lib/socket.c (socket): Don't undefine.
54570
54571         Remove unused module indicator macros.
54572         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
54573         GNULIB_$1 as a C macro.
54574
54575         * doc/posix-functions/close.texi: Undo last change.
54576         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
54577         Windows platforms.
54578
54579 2008-10-21  Bruno Haible  <bruno@clisp.org>
54580
54581         Add gethostname() declaration to <unistd.h>.
54582         * lib/unistd.in.h (gethostname): New declaration.
54583         * lib/gethostname.c: Include <unistd.h>.
54584         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
54585         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
54586         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
54587         and HAVE_GETHOSTNAME.
54588         * modules/gethostname (Depends-on): Add unistd.
54589         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
54590         (Include): Specify <unistd.h>.
54591         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
54592         HAVE_GETHOSTNAME.
54593         * tests/test-gethostname.c: Include <unistd.h> first.
54594
54595 2008-10-21  Bruno Haible  <bruno@clisp.org>
54596
54597         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
54598         * modules/select-tests (Depends-on): Likewise.
54599         Reported by Simon Josefsson.
54600
54601 2008-10-21  Simon Josefsson  <simon@josefsson.org>
54602
54603         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
54604         * lib/accept.c: New file, based on winsock.c.
54605         * lib/bind.c: New file, based on winsock.c.
54606         * lib/connect.c: New file, based on winsock.c.
54607         * lib/getpeername.c: New file, based on winsock.c.
54608         * lib/getsockname.c: New file, based on winsock.c.
54609         * lib/getsockopt.c: New file, based on winsock.c.
54610         * lib/ioctl.c: New file, based on winsock.c.
54611         * lib/listen.c: New file, based on winsock.c.
54612         * lib/recv.c: New file, based on winsock.c.
54613         * lib/recvfrom.c: New file, based on winsock.c.
54614         * lib/send.c: New file, based on winsock.c.
54615         * lib/sendto.c: New file, based on winsock.c.
54616         * lib/setsockopt.c: New file, based on winsock.c.
54617         * lib/shutdown.c: New file, based on winsock.c.
54618         * lib/socket.c: New file, based on winsock.c.
54619         * lib/w32sock.h: New file, based on winsock.c.
54620         * lib/winsock.c: Remove file.
54621         * modules/accept: Likewise.
54622         * modules/bind: Likewise.
54623         * modules/connect: Likewise.
54624         * modules/getpeername: Likewise.
54625         * modules/getsockname: Likewise.
54626         * modules/getsockopt: Likewise.
54627         * modules/ioctl: Likewise.
54628         * modules/listen: Likewise.
54629         * modules/recv: Likewise.
54630         * modules/recvfrom: Likewise.
54631         * modules/send: Likewise.
54632         * modules/sendto: Likewise.
54633         * modules/setsockopt: Likewise.
54634         * modules/shutdown: Likewise.
54635         * modules/socket: Use socket.c instead of winsock.c.
54636         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
54637         * doc/posix-functions/accept.texi: Doc fix.
54638         * doc/posix-functions/bind.texi: Doc fix.
54639         * doc/posix-functions/close.texi: Doc fix.
54640         * doc/posix-functions/connect.texi: Doc fix.
54641         * doc/posix-functions/getpeername.texi: Doc fix.
54642         * doc/posix-functions/getsockname.texi: Doc fix.
54643         * doc/posix-functions/getsockopt.texi: Doc fix.
54644         * doc/posix-functions/ioctl.texi: Doc fix.
54645         * doc/posix-functions/listen.texi: Doc fix.
54646         * doc/posix-functions/recv.texi: Doc fix.
54647         * doc/posix-functions/recvfrom.texi: Doc fix.
54648         * doc/posix-functions/send.texi: Doc fix.
54649         * doc/posix-functions/sendto.texi: Doc fix.
54650         * doc/posix-functions/setsockopt.texi: Doc fix.
54651         * doc/posix-functions/shutdown.texi: Doc fix.
54652         * doc/posix-functions/socket.texi: Doc fix.
54653
54654 2008-10-20  Bruno Haible  <bruno@clisp.org>
54655
54656         Take into account the role of SIGABRT_COMPAT on Windows 2008.
54657         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
54658         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
54659         as an alias for SIGABRT.
54660         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
54661         (sigaction): Map it to SIGABRT.
54662         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
54663
54664 2008-10-20  Bruno Haible  <bruno@clisp.org>
54665
54666         * lib/fts.c: Don't include lstat.h.
54667         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
54668
54669         Move the lstat() declaration to <sys/stat.h>.
54670         * lib/lstat.h: Remove file.
54671         * lib/sys_stat.in.h: Add special invocation convention.
54672         (lstat): New declaration.
54673         * lib/lstat.c (orig_lstat): New function.
54674         (rpl_lstat): Use orig_lstat instead of lstat.
54675         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
54676         AC_C_INLINE. Set REPLACE_LSTAT.
54677         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
54678         and REPLACE_LSTAT.
54679         * modules/lstat (Files): Remove lib/lstat.h.
54680         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
54681         (Include): Specify <sys/stat.h> instead of lstat.h.
54682         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
54683         REPLACE_LSTAT.
54684         * NEWS: Mention the change.
54685
54686 2008-10-20  Bruno Haible  <bruno@clisp.org>
54687
54688         * modules/posix_spawn-tests: New file.
54689         * tests/test-posix_spawn3.c: New file.
54690
54691 2008-10-20  Bruno Haible  <bruno@clisp.org>
54692
54693         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
54694         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
54695         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
54696         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
54697         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
54698
54699 2008-10-20  Bruno Haible  <bruno@clisp.org>
54700
54701         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
54702         of posix_spawn on AIX 5.3.
54703
54704 2008-10-20  Bruno Haible  <bruno@clisp.org>
54705
54706         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
54707
54708 2008-10-20  Bruno Haible  <bruno@clisp.org>
54709
54710         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
54711         of AC_LANG_PROGRAM.
54712
54713 2008-10-20  Simon Josefsson  <simon@josefsson.org>
54714
54715         * lib/netdb.in.h: Don't define GNU specific constants until they
54716         are supported or needed.  Reported by Bruno Haible
54717         <bruno@clisp.org>.
54718
54719 2008-10-20  Simon Josefsson  <simon@josefsson.org>
54720
54721         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
54722
54723 2008-10-20  Simon Josefsson  <simon@josefsson.org>
54724
54725         * lib/getaddrinfo.h: Remove file.
54726         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
54727         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
54728         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
54729         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
54730         * modules/netdb: Substitute GNULIB_GETADDRINFO.
54731         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
54732         * tests/test-getaddrinfo.c: Likewise.
54733         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
54734         * NEWS: Mention change.
54735
54736 2008-10-19  Bruno Haible  <bruno@clisp.org>
54737
54738         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
54739
54740 2008-10-19  Bruno Haible  <bruno@clisp.org>
54741
54742         * lib/wait-process.c: Include simply <sys/wait.h>.
54743         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
54744         WIFSTOPPED): Remove fallback definitions.
54745         * modules/wait-process (Depends-on): Add sys_wait.
54746
54747         New module 'sys_wait'.
54748         * modules/sys_wait: New file.
54749         * lib/sys_wait.in.h: New file, partially copied from
54750         lib/wait-process.c.
54751         * m4/sys_wait_h.m4: New file.
54752         * doc/posix-headers/sys_wait.texi: Mention the new module.
54753
54754 2008-10-19  Bruno Haible  <bruno@clisp.org>
54755
54756         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
54757
54758 2008-10-19  Bruno Haible  <bruno@clisp.org>
54759
54760         Assume that waitpid() fills an 'int' status, not a 'union wait'.
54761         * lib/wait-process.c (WAIT_T): Remove type.
54762         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
54763         (wait_subprocess): Update.
54764
54765 2008-10-19  Bruno Haible  <bruno@clisp.org>
54766
54767         New module 'atoll'.
54768         * modules/atoll: New file.
54769         * lib/stdlib.in.h (atoll): New declaration.
54770         * lib/atoll.c: New file, from glibc with modifications.
54771         * m4/atoll.m4: New file.
54772         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
54773         HAVE_ATOLL.
54774         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
54775         * doc/posix-functions/atoll.texi: Mention the new module.
54776
54777 2008-10-19  Bruno Haible  <bruno@clisp.org>
54778
54779         Add strtoull() declaration to <stdlib.h>.
54780         * lib/stdlib.in.h (strtoull): New declaration.
54781         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
54782         Set HAVE_STRTOULL.
54783         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
54784         HAVE_STRTOULL.
54785         * modules/strtoull (Depends-on): Add stdlib.
54786         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
54787         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
54788         HAVE_STRTOULL.
54789
54790 2008-10-19  Bruno Haible  <bruno@clisp.org>
54791
54792         Add strtoll() declaration to <stdlib.h>.
54793         * lib/stdlib.in.h (strtoll): New declaration.
54794         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
54795         Set HAVE_STRTOLL.
54796         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
54797         HAVE_STRTOLL.
54798         * modules/strtoll (Depends-on): Add stdlib.
54799         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
54800         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
54801
54802 2008-10-19  Bruno Haible  <bruno@clisp.org>
54803
54804         * modules/bcopy (Depends-on): Add strings.
54805         (Include): Specify <strings.h>.
54806
54807 2008-10-19  Bruno Haible  <bruno@clisp.org>
54808
54809         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
54810
54811 2008-10-19  Bruno Haible  <bruno@clisp.org>
54812
54813         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
54814         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
54815         mingw.
54816
54817 2008-10-19  Bruno Haible  <bruno@clisp.org>
54818
54819         * lib/atanl.c: Don't include isnanl.h.
54820         * lib/cosl.c: Likewise.
54821         * lib/ldexpl.c: Likewise.
54822         * lib/logl.c: Likewise.
54823         * lib/sinl.c: Likewise.
54824         * lib/sqrtl.c: Likewise.
54825         * lib/tanl.c: Likewise.
54826
54827         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
54828         * lib/isnanf.h: Remove file.
54829         * lib/isnand.h: Remove file.
54830         * lib/isnanl.h: Remove file.
54831         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
54832         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
54833         macros.
54834         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
54835         HAVE_ISNANF, don't define it as a C macro.
54836         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
54837         HAVE_ISNAND, don't define it as a C macro.
54838         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
54839         HAVE_ISNANL, don't define it as a C macro.
54840         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
54841         HAVE_ISNAN[FDL].
54842         * modules/isnanf (Files): Remove lib/isnanf.h.
54843         (Depends-on): Add math.
54844         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
54845         (Include): Specify <math.h> instead of isnanf.h.
54846         * modules/isnand (Files): Remove lib/isnand.h.
54847         (Depends-on): Add math.
54848         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
54849         (Include): Specify <math.h> instead of isnand.h.
54850         * modules/isnanl (Files): Remove lib/isnanl.h.
54851         (Depends-on): Add math.
54852         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
54853         (Include): Specify <math.h> instead of isnanl.h.
54854         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
54855         HAVE_ISNAN[FDL].
54856         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
54857         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
54858         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
54859         * NEWS: Mention the change.
54860
54861 2008-10-18  Bruno Haible  <bruno@clisp.org>
54862
54863         Add getusershell(), setusershell(), endusershell() declarations to
54864         <unistd.h>.
54865         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
54866         declarations.
54867         * lib/getusershell.c: Include unistd.h.
54868         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
54869         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
54870         HAVE_GETUSERSHELL.
54871         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
54872         and HAVE_GETUSERSHELL.
54873         * modules/getusershell (Depends-on): Add unistd, extensions.
54874         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
54875         (Include): Specify <unistd.h>.
54876         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
54877         HAVE_GETUSERSHELL.
54878
54879 2008-10-18  Bruno Haible  <bruno@clisp.org>
54880
54881         Add a getloadavg() declaration to <stdlib.h>.
54882         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
54883         getloadavg declaration.
54884         (getloadavg): New declaration.
54885         * lib/getloadavg.c: Include <stdlib.h> first.
54886         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
54887         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
54888         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
54889         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
54890         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
54891         * modules/getloadavg (Depends-on): Add stdlib, extensions.
54892         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
54893         (Include): Specify <stdlib.h>.
54894         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
54895         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
54896
54897 2008-10-18  Bruno Haible  <bruno@clisp.org>
54898
54899         * lib/dirchownmod.c: Don't include lchmod.h.
54900
54901         Move the lchmod() declaration to <sys/stat.h>.
54902         * lib/lchmod.h: Remove file.
54903         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
54904         (lchmod): New declaration, moved here from lib/lchown.h.
54905         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
54906         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
54907         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
54908         and HAVE_LCHMOD.
54909         * modules/lchmod (Files): Remove lib/lchmod.h.
54910         (Depends-on): Add sys_stat, extensions.
54911         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
54912         (Include): Specify <sys/stat.h> instead of lchmod.h.
54913         * modules/sys_stat (Depends-on): Add link-warning.
54914         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
54915         definition of GL_LINK_WARNING.
54916         * NEWS: Mention the change.
54917
54918 2008-10-18  Bruno Haible  <bruno@clisp.org>
54919
54920         * lib/fchdir.c: Don't include dirfd.h.
54921         * lib/fts.c: Likewise.
54922         * lib/getcwd.c: Likewise.
54923         * lib/glob.c: Likewise.
54924
54925         Move the dirfd() declaration to <dirent.h>.
54926         * lib/dirfd.h: Remove file.
54927         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
54928         (dirfd): New declaration.
54929         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
54930         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
54931         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
54932         HAVE_DECL_DIRFD.
54933         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
54934         HAVE_DECL_DIRFD.
54935         * modules/dirfd (Files): Remove lib/dirfd.h.
54936         (Depends-on): Add dirent, extensions.
54937         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
54938         (Include): Specify <dirent.h> instead of dirfd.h.
54939         * modules/dirent (Depends-on): Add link-warning.
54940         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
54941         definition of GL_LINK_WARNING.
54942         * NEWS: Mention the change.
54943
54944 2008-10-18  Bruno Haible  <bruno@clisp.org>
54945
54946         Move the euidaccess() declaration to <unistd.h>.
54947         * lib/euidaccess.h: Remove file.
54948         * lib/unistd.in.h (euidaccess): New declaration.
54949         * lib/euidaccess.c: Don't include euidaccess.h.
54950         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
54951         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
54952         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
54953         and HAVE_EUIDACCESS.
54954         * modules/euidaccess (Files): Remove lib/euidaccess.h.
54955         (Depends-on): Add unistd.
54956         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
54957         (Include): Specify <unistd.h> instead of euidaccess.h.
54958         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
54959         HAVE_EUIDACCESS.
54960         * NEWS: Mention the change.
54961
54962 2008-10-18  Bruno Haible  <bruno@clisp.org>
54963
54964         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
54965
54966         Move the getdomainname() declaration to <unistd.h>.
54967         * lib/getdomainname.h: Remove file.
54968         * lib/unistd.in.h (getdomainname): New declaration.
54969         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
54970         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
54971         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
54972         HAVE_GETDOMAINNAME.
54973         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
54974         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
54975         * modules/getdomainname (Files): Remove lib/getdomainname.h.
54976         (Depends-on): Add unistd, extensions.
54977         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
54978         (Includes): Specify <unistd.h> instead of getdomainname.h.
54979         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
54980         HAVE_GETDOMAINNAME.
54981         * NEWS: Mention the change.
54982
54983 2008-10-18  Bruno Haible  <bruno@clisp.org>
54984
54985         * modules/dirent: New file.
54986         * m4/dirent_h.m4: New file.
54987         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
54988         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
54989         * modules/fchdir (Files): Remove lib/dirent.in.h.
54990         (Depends-on): Add dirent.
54991         (Makefile.am): Move rules to modules/dirent.
54992         * doc/posix-headers/dirent.texi: Mention the new module.
54993
54994 2008-10-18  Bruno Haible  <bruno@clisp.org>
54995
54996         Avoid -Wunused-parameter warnings in public gnulib header files.
54997         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
54998         macro.
54999         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
55000
55001 2008-10-18  Bruno Haible  <bruno@clisp.org>
55002
55003         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
55004         * doc/glibc-functions/error.texi: Mention the module 'error'.
55005         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
55006         * doc/glibc-functions/getdomainname.texi: Mention the module
55007         'getdomainname'.
55008         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
55009         * doc/glibc-functions/getpagesize.texi: Mention the module
55010         'getpagesize'.
55011         * doc/glibc-functions/getusershell.texi: Mention the module
55012         'getusershell'.
55013         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
55014         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
55015         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
55016         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
55017         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
55018         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
55019         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
55020         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
55021         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
55022         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
55023         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
55024         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
55025         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
55026         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
55027
55028 2008-10-17  Bruno Haible  <bruno@clisp.org>
55029
55030         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
55031         HP-UX and IRIX, use -0.0L.
55032         * tests/test-ceill.c (minus_zero): Likewise.
55033         * tests/test-floorl.c (minus_zero): Likewise.
55034         * tests/test-frexpl.c (minus_zero): Likewise.
55035         * tests/test-isnan.c (minus_zerol): Likewise.
55036         * tests/test-isnanl.h (minus_zero): Likewise.
55037         * tests/test-ldexpl.c (minus_zero): Likewise.
55038         * tests/test-roundl.c (minus_zero): Likewise.
55039         * tests/test-signbit.c (minus_zerol): Likewise.
55040         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
55041         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
55042         * tests/test-truncl.c (minus_zero): Likewise.
55043         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
55044         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
55045         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
55046         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
55047
55048 2008-10-17  Bruno Haible  <bruno@clisp.org>
55049
55050         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
55051         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
55052         that it gets activated only for gcc >= 3.0.
55053         * lib/dirent.in.h: Likewise.
55054         * lib/errno.in.h: Likewise.
55055         * lib/fcntl.in.h: Likewise.
55056         * lib/float.in.h: Likewise.
55057         * lib/iconv.in.h: Likewise.
55058         * lib/inttypes.in.h: Likewise.
55059         * lib/locale.in.h: Likewise.
55060         * lib/math.in.h: Likewise.
55061         * lib/netdb.in.h: Likewise.
55062         * lib/netinet_in.in.h: Likewise.
55063         * lib/search.in.h: Likewise.
55064         * lib/signal.in.h: Likewise.
55065         * lib/spawn.in.h: Likewise.
55066         * lib/stdarg.in.h: Likewise.
55067         * lib/stdint.in.h: Likewise.
55068         * lib/stdio.in.h: Likewise.
55069         * lib/stdlib.in.h: Likewise.
55070         * lib/string.in.h: Likewise.
55071         * lib/strings.in.h: Likewise.
55072         * lib/sys_file.in.h: Likewise.
55073         * lib/sys_ioctl.in.h: Likewise.
55074         * lib/sys_select.in.h: Likewise.
55075         * lib/sys_socket.in.h: Likewise.
55076         * lib/sys_stat.in.h: Likewise.
55077         * lib/sys_time.in.h: Likewise.
55078         * lib/sysexits.in.h: Likewise.
55079         * lib/time.in.h: Likewise.
55080         * lib/unistd.in.h: Likewise.
55081         * lib/wchar.in.h: Likewise.
55082         * lib/wctype.in.h: Likewise.
55083         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
55084
55085 2008-10-17  Jim Meyering  <meyering@redhat.com>
55086
55087         ignore-value: don't depend on inline module
55088         * modules/ignore-value (Depends-on): Remove 'inline'.
55089         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
55090         Suggestion from Bruno Haible.
55091
55092 2008-10-17  Bruno Haible  <bruno@clisp.org>
55093
55094         New implementation of condition variables for Win32.
55095         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
55096         (gl_linked_waitqueue_t): New type.
55097         (gl_cond_t): Use it.
55098         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
55099         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
55100         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
55101         (glthread_cond_init_func, glthread_cond_wait_func,
55102         glthread_cond_timedwait_func, glthread_cond_signal_func,
55103         glthread_cond_broadcast_func, glthread_cond_destroy_func):
55104         Reimplemented on the basis of gl_linked_waitqueue_t.
55105         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
55106         gl_waitqueue_t.
55107         (gl_rwlock_t): Update.
55108         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
55109
55110 2008-10-17  Simon Josefsson  <simon@josefsson.org>
55111
55112         * modules/recvfrom (Depends-on): Add dependency on getpeername.
55113         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
55114
55115 2008-10-17  Jim Meyering  <meyering@redhat.com>
55116
55117         ignore-value: new module
55118         * modules/ignore-value: New file.
55119         * lib/ignore-value.h: New file.
55120         * MODULES.html.sh (Compiler warning management): New section,
55121         just for this module.  More to come.
55122
55123 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
55124
55125         open-safer.c: avoid 'signed and unsigned in conditional...' warning
55126         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
55127         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
55128
55129 2008-10-16  Jim Meyering  <meyering@redhat.com>
55130
55131         openat-die.c: avoid 'no previous prototype' warning
55132         * lib/openat-die.c: Include "openat.h".
55133         Reported by Reuben Thomas <rrt@sc3d.org>.
55134
55135 2008-10-16  Simon Josefsson  <simon@josefsson.org>
55136
55137         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
55138         * lib/netdb.in.h: Fix typo.
55139         Reported by Bruno Haible  <bruno@clisp.org>
55140
55141         * lib/netdb.in.h: Include sys/socket.h for platforms without
55142         netdb.h, to get structures like hostent on MinGW.
55143         * modules/netdb (Depends-on): Add sys_socket.
55144
55145 2008-10-15  Simon Josefsson  <simon@josefsson.org>
55146
55147         * modules/netdb, modules/netdb-tests: New file.
55148         * m4/netdb_h.m4: New file.
55149         * lib/netdb.in.h: Add, currently just an empty file pending
55150         definitions.
55151         * tests/test-netdb.c: New file.
55152         * doc/posix-headers/netdb.texi: Mention that we replace it if
55153         needed.
55154         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
55155         netdb.
55156
55157 2008-10-15  Simon Josefsson  <simon@josefsson.org>
55158
55159         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
55160         with code.
55161
55162 2008-10-13  Bruno Haible  <bruno@clisp.org>
55163
55164         * lib/glthread/cond.c (glthread_cond_wait_func,
55165         glthread_cond_timedwait_func): Add a comment.
55166
55167 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
55168
55169         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
55170         * tests/test-select.c: Likewise,
55171
55172 2008-10-13  Bruno Haible  <bruno@clisp.org>
55173
55174         * lib/glthread/cond.c (glthread_cond_wait_func,
55175         glthread_cond_timedwait_func): Fix variable name.
55176         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
55177
55178 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
55179
55180         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
55181         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
55182         struct sockaddr.sa_len.
55183         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
55184
55185 2008-10-13  Simon Josefsson  <simon@josefsson.org>
55186
55187         * build-aux/pmccabe2html: Add css and css_url parameters.
55188
55189 2008-10-12  Bruno Haible  <bruno@clisp.org>
55190
55191         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
55192         calling aclx_get.
55193         Reported by Rainer Tammer <tammer@tammer.net>.
55194
55195 2008-10-12  Bruno Haible  <bruno@clisp.org>
55196
55197         Use msvcrt aware primitives for creation/termination of Win32 threads.
55198         * lib/glthread/thread.c: Include <process.h>.
55199         (glthread_create_func): Use _beginthreadex instead of CreateThread.
55200         (wrapper_func): Update signature.
55201         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
55202
55203 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
55204             Bruno Haible  <bruno@clisp.org>
55205
55206         Provide a Win32 implementation of the 'cond' module.
55207         * lib/glthread/cond.h [USE_WIN32]: New implementation.
55208         * lib/glthread/cond.c (glthread_cond_init_func,
55209         glthread_cond_wait_func, glthread_cond_timedwait_func,
55210         glthread_cond_signal_func, glthread_cond_broadcast_func,
55211         glthread_cond_destroy_func) [USE_WIN32]: New functions.
55212         * modules/cond (Dependencies): Add gettimeofday.
55213
55214 2008-10-11  Bruno Haible  <bruno@clisp.org>
55215
55216         Make sleep work on older versions of mingw.
55217         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
55218         only whether it exists.
55219         * doc/posix-functions/sleep.texi: Mention the problem with older
55220         versions of mingw.
55221
55222 2008-10-11  Bruno Haible  <bruno@clisp.org>
55223
55224         New module 'shutdown'.
55225         * modules/shutdown: New file.
55226         * lib/sys_socket.in.h (shutdown): New declaration.
55227         * lib/winsock.c (shutdown): New function.
55228         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
55229         GNULIB_SHUTDOWN.
55230         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
55231         * doc/posix-functions/shutdown.texi: Document the new module.
55232
55233 2008-10-11  Jim Meyering  <meyering@redhat.com>
55234
55235         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
55236
55237 2008-10-11  Bruno Haible  <bruno@clisp.org>
55238
55239         New module 'fclose'.
55240         * modules/fclose: New file.
55241         * lib/stdio.in.h (fclose): New declaration.
55242         * lib/fclose.c: New file.
55243         * m4/fclose.m4: New file.
55244         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
55245         REPLACE_FCLOSE.
55246         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
55247         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
55248         REPLACE_FCLOSE.
55249         * modules/close (Depends-on): fclose.
55250         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
55251
55252 2008-10-11  Bruno Haible  <bruno@clisp.org>
55253
55254         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
55255         set errno and don't call _close.
55256
55257 2008-10-10  Bruno Haible  <bruno@clisp.org>
55258
55259         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
55260         ACL, not afterwards. Fixes test failure on Cygwin.
55261
55262 2008-10-09  Ben Pfaff  <blp@gnu.org>
55263
55264         * build-aux/announce-gen: Fix gnulib version related part of usage
55265         message.  Die with a useful error message if no tarballs are
55266         found.
55267
55268 2008-10-10  Jim Meyering  <meyering@redhat.com>
55269
55270         bootstrap: use git's --depth=N option only if it's supported
55271         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
55272         recognize the --depth option.  Reported by Pádraig Brady.
55273
55274 2008-10-09  Bruno Haible  <bruno@clisp.org>
55275
55276         New module 'ioctl'.
55277         * modules/ioctl: New file.
55278         * lib/sys_socket.in.h (ioctl): Remove declaration.
55279         * lib/winsock.c: Include <sys/ioctl.h>.
55280         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
55281         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
55282         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
55283         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
55284         * doc/posix-functions/ioctl.texi: Mention the new module.
55285
55286 2008-10-09  Bruno Haible  <bruno@clisp.org>
55287
55288         New module 'sys_ioctl'.
55289         * lib/sys_ioctl.in.h: New file.
55290         * m4/sys_ioctl_h.m4: New file.
55291         * modules/sys_ioctl: New file.
55292         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
55293
55294 2008-10-09  Bruno Haible  <bruno@clisp.org>
55295
55296         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
55297         * lib/winsock.c: Include <stdarg.h>.
55298         (rpl_ioctl): Change to second argument 'int' and then varargs.
55299
55300 2008-10-09  Bruno Haible  <bruno@clisp.org>
55301
55302         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
55303         when the sys_socket module is present and the system has <winsock2.h>.
55304
55305 2008-10-09  Bruno Haible  <bruno@clisp.org>
55306
55307         * doc/posix-functions/close.texi: Mention module 'close' instead of
55308         module 'sys_socket'.
55309
55310 2008-10-09  Bruno Haible  <bruno@clisp.org>
55311
55312         * doc/glibc-headers/sys_ioctl.texi: New file.
55313         * doc/gnulib.texi: Include it.
55314
55315 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
55316             Bruno Haible  <bruno@clisp.org>
55317
55318         Combine the two replacements of 'close'.
55319         * lib/sys_socket.in.h (close): Define to a reminder to include
55320         <unistd.h>.
55321         (_gl_close_fd_maybe_socket): New declaration.
55322         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
55323         * lib/winsock.c (close): Remove undefinition.
55324         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
55325         needed for the gnulib module 'close'.
55326         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
55327         define to an error symbol or to a warning, if suitable.
55328         * lib/close.c: Include <sys/socket.h>.
55329         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
55330         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
55331         UNISTD_H_HAVE_WINSOCK2_H.
55332         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
55333         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
55334         UNISTD_H_HAVE_WINSOCK2_H.
55335         * modules/sys_socket (Files): Add m4/unistd_h.m4.
55336         (configure.ac): Set a module indicator.
55337         (Makefile.am): Substitute GNULIB_CLOSE.
55338         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
55339         * modules/poll-tests (Depends-on): Add close.
55340         * modules/select-tests (Depends-on): Likewise.
55341
55342 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
55343             Bruno Haible  <bruno@clisp.org>
55344
55345         New module 'close'.
55346         * modules/close: New file.
55347         * lib/unistd.in.h (close): Move declaration out of the
55348         FCHDIR_REPLACEMENT scope.
55349         (_gl_unregister_fd): New declaration.
55350         * lib/close.c: New file.
55351         * lib/fchdir.c (rpl_close): Remove function.
55352         * m4/close.m4: New file.
55353         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
55354         close.
55355         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
55356         REPLACE_CLOSE.
55357         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
55358         REPLACE_CLOSE.
55359         * modules/fchdir (Depends-on): Add close.
55360
55361 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
55362             Bruno Haible  <bruno@clisp.org>
55363
55364         * lib/fcntl.in.h (open): Simplify conditionals.
55365         (_gl_register_fd): New declaration.
55366         * lib/fchdir.c (rpl_open): Remove function.
55367         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
55368         also.
55369         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
55370         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
55371         open.
55372
55373 2008-10-09  Jim Meyering  <meyering@redhat.com>
55374
55375         GNUmakefile: use the more name-space-friendly "_version"
55376         * top/GNUmakefile (_dummy): Update.
55377         (_version): Rename from "version".
55378
55379 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
55380             Bruno Haible  <bruno@clisp.org>
55381
55382         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
55383         rpl_close.
55384         (_gl_register_fd): New function, extracted from rpl_open.
55385         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
55386         (rpl_open, rpl_opendir): Use _gl_register_fd.
55387
55388 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
55389
55390         Fix organization of 'open' replacement.
55391         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
55392         (gl_FUNC_OPEN): Use it.
55393         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
55394
55395 2008-10-08  Bruno Haible  <bruno@clisp.org>
55396
55397         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
55398
55399 2008-10-08  Simon Josefsson  <simon@josefsson.org>
55400
55401         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
55402         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
55403         listen).
55404
55405 2008-10-08  Eric Blake  <ebb9@byu.net>
55406
55407         GNUmakefile: add 'make version' target
55408         * top/GNUmakefile (_curr-ver): Split version update rules...
55409         (version): ...into a target.
55410
55411 2008-10-07  Bruno Haible  <bruno@clisp.org>
55412
55413         Use a more portable replacement expression for -0.0L.
55414         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
55415         instead of -0.0L. Fix m4 quotation.
55416
55417         * tests/test-signbit.c: Include <float.h>.
55418         (minus_zero): New variable.
55419         (test_signbitl): Use minus_zero instead of -zero.
55420         * modules/signbit-tests (Depends-on): Add float.
55421
55422         * tests/test-ceill.c: Include <float.h>.
55423         (zero): Remove variable.
55424         (minus_zero): New variable.
55425         (main): Use minus_zero instead of -zero.
55426         * modules/ceill-tests (Depends-on): Add float.
55427
55428         * tests/test-floorl.c: Include <float.h>.
55429         (zero): Remove variable.
55430         (minus_zero): New variable.
55431         (main): Use minus_zero instead of -zero.
55432         * modules/floorl-tests (Depends-on): Add float.
55433
55434         * tests/test-roundl.c: Include <float.h>.
55435         (zero): Remove variable.
55436         (minus_zero): New variable.
55437         (main): Use minus_zero instead of -zero.
55438         * modules/roundl-tests (Depends-on): Add float.
55439
55440         * tests/test-truncl.c: Include <float.h>.
55441         (zero): Remove variable.
55442         (minus_zero): New variable.
55443         (main): Use minus_zero instead of -zero.
55444         * modules/truncl-tests (Depends-on): Add float.
55445
55446         * tests/test-frexpl.c (zero): Remove variable.
55447         (minus_zero): New variable.
55448         (main): Use minus_zero instead of -zero.
55449         * modules/frexpl-tests (Depends-on): Add float.
55450
55451         * tests/test-isnan.c (zerol): Remove variable.
55452         (minus_zerol): New variable.
55453         (test_long_double): Use minus_zerol instead of -zerol.
55454         * modules/isnan-tests (Depends-on): Add float.
55455
55456         * tests/test-isnanl.h (zero): Remove variable.
55457         (minus_zero): New variable.
55458         (main): Use minus_zero instead of -zero.
55459         * modules/isnanl-nolibm-tests (Depends-on): Add float.
55460         * modules/isnanl-tests (Depends-on): Add float.
55461
55462         * tests/test-ldexpl.c (zero): Remove variable.
55463         (minus_zero): New variable.
55464         (main): Use minus_zero instead of -zero.
55465         * modules/ldexpl-tests (Depends-on): Add float.
55466
55467         * tests/test-snprintf-posix.h (zerol): Remove variable.
55468         (minus_zerol): New variable.
55469         (test_function): Use minus_zerol instead of -zerol.
55470         * modules/snprintf-posix-tests (Depends-on): Add float.
55471         * modules/vsnprintf-posix-tests (Depends-on): Add float.
55472
55473         * tests/test-sprintf-posix.h (zerol): Remove variable.
55474         (minus_zerol): New variable.
55475         (test_function): Use minus_zerol instead of -zerol.
55476         * modules/sprintf-posix-tests (Depends-on): Add float.
55477         * modules/vsprintf-posix-tests (Depends-on): Add float.
55478
55479         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
55480         (minus_zerol): New variable.
55481         (test_function): Use minus_zerol instead of -zerol.
55482         * modules/vasnprintf-posix-tests (Depends-on): Add float.
55483
55484         * tests/test-vasprintf-posix.c (zerol): Remove variable.
55485         (minus_zerol): New variable.
55486         (test_function): Use minus_zerol instead of -zerol.
55487         * modules/vasprintf-posix-tests (Depends-on): Add float.
55488
55489 2008-10-07  Simon Josefsson  <simon@josefsson.org>
55490
55491         * MODULES.html.sh (Support for building documentation): Mention
55492         pmccabe2html.  Sort entries.
55493
55494         Add pmccabe2html module, from gnupdf.
55495         * build-aux/pmccabe.css: New file.
55496         * build-aux/pmccabe2html: New file.
55497         * m4/pmccabe2html.m4: New file.
55498         * modules/pmccabe2html: New file.
55499
55500 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
55501
55502         flock: new module
55503         * MODULES.html.sh: Add to list of modules.
55504         * lib/flock.c: flock implementation for Windows and Unix systems
55505         which have fcntl.
55506         * doc/glibc-functions/flock.texi: Update documentation.
55507         * lib/sys_file.in.h: <sys/file.h> header file.
55508         * m4/flock.m4: M4 macros.
55509         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
55510         * modules/flock: flock module.
55511         * modules/flock-tests: flock tests module.
55512         * modules/sys_file: sys/file.h module.
55513         * tests/test-flock.c: test suite for flock.
55514
55515 2008-10-06  Jim Meyering  <meyering@redhat.com>
55516
55517         bootstrap: check for LT_INIT more portably still ;-)
55518         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
55519         Spotted by Bruno Haible.
55520
55521 2008-10-06  Eric Blake  <ebb9@byu.net>
55522
55523         test-signbit: avoid tripping Irix cc bug on -0.0L
55524         * tests/test-signbit.c (minus_zerol): Delete, and replace with
55525         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
55526         entire testsuite consistent and avoids an Irix 6.2 bug.
55527
55528 2008-10-05  Bruno Haible  <bruno@clisp.org>
55529             Jim Meyering  <jim@meyering.net>
55530
55531         Add an option for ignoring EPIPE during close_stdout.
55532         * lib/closeout.h: Include <stdbool.h>.
55533         (close_stdout_set_ignore_EPIPE): New declaration.
55534         * lib/closeout.c: Include <stdbool.h>.
55535         (ignore_EPIPE): New variable.
55536         (close_stdout_set_ignore_EPIPE): New function.
55537         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
55538         * lib/close-stream.c (close_stream): Mention the possible EPIPE
55539         failure.
55540         * modules/closeout (Depends-on): Add stdbool.
55541
55542 2008-10-05  Bruno Haible  <bruno@clisp.org>
55543
55544         * modules/accept: New file.
55545         * modules/bind: New file.
55546         * modules/connect: New file.
55547         * modules/getpeername: New file.
55548         * modules/getsockname: New file.
55549         * modules/getsockopt: New file.
55550         * modules/listen: New file.
55551         * modules/recv: New file.
55552         * modules/recvfrom: New file.
55553         * modules/send: New file.
55554         * modules/sendto: New file.
55555         * modules/setsockopt: New file.
55556         * modules/socket: New file.
55557         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
55558         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
55559         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
55560         the particular module is requested. Add a link warning when the
55561         particular module is not requested.
55562         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
55563         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
55564         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
55565         the particular module is requested.
55566         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
55567         gl_SYS_SOCKET_H_DEFAULTS): New macros.
55568         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
55569         * modules/sys_socket (Depends-on): Add link-warning.
55570         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
55571         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
55572         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
55573         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
55574         GL_LINK_WARNING.
55575         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
55576         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
55577         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
55578         * doc/posix-functions/getpeername.texi: Mention the new module
55579         'getpeername'.
55580         * doc/posix-functions/getsockname.texi: Mention the new module
55581         'getsockname'.
55582         * doc/posix-functions/getsockopt.texi: Mention the new module
55583         'getsockopt'.
55584         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
55585         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
55586         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
55587         * doc/posix-functions/send.texi: Mention the new module 'send'.
55588         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
55589         * doc/posix-functions/setsockopt.texi: Mention the new module
55590         'setsockopt'.
55591         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
55592         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
55593         listen, connect, accept.
55594         * modules/select-tests (Depends-on): Likewise.
55595
55596 2008-10-05  Bruno Haible  <bruno@clisp.org>
55597
55598         * lib/winsock.c (strerror): Remove unused #undef.
55599         (rpl_close): Remove unused local variable.
55600
55601         * modules/sys_socket (Depends-on); Add errno.
55602
55603 2008-10-05  Bruno Haible  <bruno@clisp.org>
55604
55605         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
55606         (select): Add a link warning when the 'select' module is not used.
55607         * modules/sys_select (Depends-on): Add link-warning.
55608         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
55609         Suggested by Paolo Bonzini.
55610
55611 2008-10-05  Jim Meyering  <meyering@redhat.com>
55612
55613         bootstrap: check for LT_INIT more portably
55614         * build-aux/bootstrap: Avoid using grep -E, since it's not
55615         portable enough.  Suggestion from Bruno Haible.
55616
55617 2008-10-05  Bruno Haible  <bruno@clisp.org>
55618
55619         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
55620         as being fixed by gnulib.
55621
55622 2008-10-05  Bruno Haible  <bruno@clisp.org>
55623
55624         * modules/select-tests: New file, mostly copied from
55625         modules/sys_select-tests.
55626         * tests/test-select.c: New file, mostly copied from
55627         tests/test-sys_select.c.
55628         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
55629         * modules/sys_select-tests (Depends-on): Remove all dependencies.
55630         (Makefile.am): Remove test_sys_select_LDADD.
55631
55632         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
55633         to an undefined symbol, for an error message.
55634         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
55635         (gl_SYS_SELECT_H_DEFAULTS): New macro.
55636         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
55637         winsock-select.c here.
55638         * modules/sys_select (Files): Remove lib/winsock-select.c.
55639         (Depends-on): Remove alloca.
55640         (Makefile.am): Substitute GNULIB_SELECT.
55641         * modules/select: New file.
55642         * doc/posix-functions/select.texi: Update.
55643
55644 2008-10-05  Bruno Haible  <bruno@clisp.org>
55645
55646         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
55647         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
55648         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
55649         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
55650         getdtablesize.
55651         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
55652         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
55653
55654 2008-10-05  Bruno Haible  <bruno@clisp.org>
55655
55656         * modules/getdtablesize-tests: New file.
55657         * tests/test-getdtablesize.c: New file.
55658
55659         New module 'getdtablesize'.
55660         * lib/unistd.in.h (getdtablesize): New declaration.
55661         * lib/getdtablesize.c: New file.
55662         * m4/getdtablesize.m4: New file.
55663         * modules/getdtablesize: New file.
55664         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
55665         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
55666         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
55667         HAVE_GETDTABLESIZE.
55668         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
55669
55670 2008-10-05  Bruno Haible  <bruno@clisp.org>
55671
55672         * modules/sched (Makefile.am): Fix typo.
55673         Reported by Simon Josefsson.
55674
55675 2008-10-05  Jim Meyering  <meyering@redhat.com>
55676
55677         bootstrap: check for LT_INIT, too
55678         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
55679         are deprecated.  Suggestion from Ralf Wildenhues.
55680
55681 2008-10-05  Bruno Haible  <bruno@clisp.org>
55682
55683         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
55684         overriding them by ours.
55685         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
55686
55687 2008-10-05  Jim Meyering  <meyering@redhat.com>
55688
55689         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
55690         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
55691         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
55692
55693 2008-10-04  Bruno Haible  <bruno@clisp.org>
55694
55695         * modules/dup2 (License): Change to LGPLv2+.
55696         * modules/sleep (License): Likewise.
55697         * modules/perror (License): Likewise.
55698         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
55699         Blake.
55700         * modules/signal (License): Likewise.
55701         * modules/sigprocmask (License): Likewise.
55702         * modules/raise (License): Change to LGPLv2+, with approval by Jim
55703         Meyering.
55704
55705 2008-10-04  Bruno Haible  <bruno@clisp.org>
55706
55707         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
55708         Reported by Rainer Tammer <tammer@tammer.net>.
55709
55710 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
55711             Bruno Haible  <bruno@clisp.org>
55712
55713         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
55714         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
55715         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
55716
55717 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
55718
55719         filevercmp: new module
55720         * lib/filevercmp.h: New function filevercmp comparing version strings.
55721         * lib/filevercmp.c: Implementation of filevercmp function.
55722         * modules/filevercmp: Module metadata.
55723         * tests/test-filevercmp.c: Unit test for new module.
55724         * modules/filevercmp-tests: Unit test metadata.
55725         * MODULES.html.sh: Add filevercmp module.
55726
55727 2008-10-03  Bruno Haible  <bruno@clisp.org>
55728
55729         * lib/c-ctype.h: Add comment.
55730         Reported by Jim Meyering.
55731
55732 2008-10-02  Bruno Haible  <bruno@clisp.org>
55733
55734         * modules/posix_spawn-internal (Depends-on): Add 'open'.
55735
55736 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
55737
55738         * build-aux/bootstrap: Allow renaming bootstrap, and change the
55739         name of bootstrap.conf accordingly.
55740
55741 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
55742
55743         * build-aux/bootstrap: Install git-merge-changelog configuration
55744         items into .gitconfig if needed.
55745
55746 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
55747
55748         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
55749         git repository, and initialize/update it accordingly.
55750
55751 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
55752
55753         * modules/fsync-tests: New file.
55754         * tests/test-fsync.c: New file.
55755
55756         New module 'fsync'.
55757         * lib/fsync.c: New file.
55758         * m4/fsync.m4: New file.
55759         * modules/fsync: New file.
55760         * lib/unistd.in.h (fsync): New declaration.
55761         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
55762         GNULIB_FSYNC and HAVE_FSYNC.
55763         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
55764         * MODULES.html.sh (posix_functions): Add fsync.
55765         * doc/posix-functions/fsync.texi: Mention the new module.
55766
55767 2008-10-02  Jim Meyering  <meyering@redhat.com>
55768
55769         fts.c: sync with similar code from coreutils' remove.c
55770         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
55771         Guard also with "#if defined __linux__", since for now at least,
55772         this code is Linux-kernel-specific.
55773
55774 2008-10-02  Jim Meyering  <meyering@redhat.com>
55775
55776         fts: bug fixes
55777         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
55778         Include <sys/vfs.h>, not <sys/statfs.h>.
55779
55780         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
55781         Include <sys/vfs.h>, not <sys/statfs.h>.
55782
55783 2008-10-01  Bruno Haible  <bruno@clisp.org>
55784
55785         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
55786         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
55787         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
55788         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
55789         * doc/posix-functions/posix_spawnp.texi: Likewise.
55790         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
55791         whether posix_spawn actually works.
55792         * m4/pipe.m4 (gl_PIPE): Likewise.
55793         * modules/execute (Files): Add m4/posix_spawn.m4.
55794         * modules/pipe (Files): Add m4/posix_spawn.m4.
55795         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
55796
55797 2008-10-01  Jim Meyering  <meyering@redhat.com>
55798
55799         remove trailing spaces
55800         * NEWS: Likewise.
55801         * lib/poll.c (poll): Likewise.
55802         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
55803         * lib/winsock.c (rpl_close): Likewise.
55804         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
55805         * modules/yield: Likewise.
55806         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
55807         * tests/test-sys_select.c (connect_to_socket): Likewise.
55808
55809         fts.c: adjust a new interface to be more generally useful
55810         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
55811         (fts_build): Adjust caller.
55812
55813 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55814
55815         * modules/cond-tests: New file.
55816         * tests/test-cond.c: New file.
55817
55818 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55819             Bruno Haible  <bruno@clisp.org>
55820
55821         * modules/cond (Dependencies): Add errno, time.
55822         * lib/glthread/cond.h: Include <time.h>.
55823         (gl_cond_define, gl_cond_define_initialized): Use the same definition
55824         across platforms.
55825
55826 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55827             Bruno Haible  <bruno@clisp.org>
55828
55829         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
55830
55831 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55832             Bruno Haible  <bruno@clisp.org>
55833
55834         * modules/tls-tests (Depends-on): Add thread, yield.
55835         (configure.ac): Remove all checks.
55836         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
55837         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
55838         gl_thread_self): Remove definitions. Include glthread/thread.h and
55839         glthread/yield.h instead.
55840         (test_tls): Pass an additional NULL argument to gl_thread_join.
55841
55842 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55843             Bruno Haible  <bruno@clisp.org>
55844
55845         * modules/lock-tests (Depends-on): Add thread, yield.
55846         (configure.ac): Remove all checks.
55847         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
55848         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
55849         gl_thread_self): Remove definitions. Include glthread/thread.h and
55850         glthread/yield.h instead.
55851         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
55852         additional NULL argument to gl_thread_join.
55853
55854 2008-09-30  Bruno Haible  <bruno@clisp.org>
55855
55856         Fix the Win32 implementation of the 'thread' module.
55857         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
55858         pointer type.
55859         (gl_thread_self): Invoke gl_thread_self_func.
55860         (gl_thread_self_func): New declaration.
55861         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
55862         (do_init_self_key, init_self_key): New functions.
55863         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
55864         Remove some fields.
55865         (running_threads, running_lock): Remove variables.
55866         (get_current_thread_handle): New function.
55867         (gl_thread_self_func, wrapper_func, glthread_create_func,
55868         glthread_join_func, gl_thread_exit_func): Largely rewritten and
55869         simplified.
55870
55871 2008-09-30  Bruno Haible  <bruno@clisp.org>
55872
55873         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
55874         files.
55875
55876 2008-09-30  Jim Meyering  <meyering@redhat.com>
55877
55878         fts.m4: correct the test for statfs.f_type
55879         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
55880         when checking for statfs.f_type.
55881
55882 2008-09-15  Simon Josefsson  <simon@josefsson.org>
55883
55884         tests: avoid some compiler warnings
55885         * tests/test-memchr.c (main): Pass NULL indirectly.
55886         * tests/test-getdate.c (main): Remove unused variable 'ret'.
55887
55888 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
55889
55890         getdate.y: disallow countable dayshifts like "4 yesterday ago"
55891         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
55892         exactly specified dayshifts.
55893         (dayshift): New rule.
55894         (rel): Add dayshift.
55895         (relative_time_table) [tomorrow, yesterday, today, now]:
55896         Use tDAY_SHIFT in place of tDAY_UNIT.
55897         * tests/test-getdate.c: Add tests for now-disallowed countable
55898         dayshifts, e.g., "4 yesterday ago".
55899
55900 2008-09-29  Bruno Haible  <bruno@clisp.org>
55901
55902         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
55903         * tests/test-posix_spawn1.in.sh: Renamed from
55904         tests/test-posix_spawn.in.sh.
55905         * tests/test-posix_spawn2.c: New file.
55906         * tests/test-posix_spawn2.in.sh: New file.
55907         * modules/posix_spawnp-tests (Files): Update.
55908         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
55909
55910 2008-09-29  Bruno Haible  <bruno@clisp.org>
55911
55912         Propagate effects of putenv/setenv/unsetenv to child processes.
55913         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
55914         * lib/pipe.c (create_pipe): Likewise.
55915
55916 2008-09-29  Bruno Haible  <bruno@clisp.org>
55917
55918         Enable use of shell scripts as executables in mingw.
55919         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
55920         run the program as a shell script.
55921         * lib/pipe.c (create_pipe): Likewise.
55922         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
55923         resulting array.
55924
55925 2008-09-29  Eric Blake  <ebb9@byu.net>
55926
55927         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
55928
55929 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
55930
55931         * doc/posix-functions/accept.texi: Update mingw problems.
55932         * doc/posix-functions/bind.texi: Update mingw problems.
55933         * doc/posix-functions/close.texi: Update mingw problems.
55934         * doc/posix-functions/connect.texi: Update mingw problems.
55935         * doc/posix-functions/getpeername.texi: Update mingw problems.
55936         * doc/posix-functions/getsockname.texi: Update mingw problems.
55937         * doc/posix-functions/getsockopt.texi: Update mingw problems.
55938         * doc/posix-functions/ioctl.texi: Update mingw problems.
55939         * doc/posix-functions/listen.texi: Update mingw problems.
55940         * doc/posix-functions/recv.texi: Update mingw problems.
55941         * doc/posix-functions/recvfrom.texi: Update mingw problems.
55942         * doc/posix-functions/select.texi: Update mingw problems.
55943         * doc/posix-functions/send.texi: Update mingw problems.
55944         * doc/posix-functions/sendto.texi: Update mingw problems.
55945         * doc/posix-functions/setsockopt.texi: Update mingw problems.
55946         * doc/posix-functions/socket.texi: Update mingw problems.
55947
55948 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
55949             Bruno Haible  <bruno@clisp.org>
55950
55951         * lib/sys_select.in.h: Include sys/time.h.
55952         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
55953         * modules/sys_select: Depend on sys_time.
55954         * tests/test-sys_select.c: Test that sys/select.h defines struct
55955         timeval fully.
55956
55957 2008-09-29  Bruno Haible  <bruno@clisp.org>
55958
55959         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
55960         * lib/sys_select.in.h: Likewise.
55961
55962 2008-09-29  Bruno Haible  <bruno@clisp.org>
55963
55964         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
55965
55966 2008-09-29  Bruno Haible  <bruno@clisp.org>
55967
55968         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
55969         Set LIBSOCKET instead of augmenting LIBS.
55970         * modules/sockets (Link): New section.
55971         * modules/sockets-tests (test_sockets_LDADD): New variable.
55972         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
55973         * modules/poll-tests (test_poll_LDADD): New variable.
55974         * NEWS: Document the change.
55975
55976 2008-09-29  Bruno Haible  <bruno@clisp.org>
55977
55978         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
55979         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
55980         ARPA_INET_H directly.
55981         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
55982
55983 2008-09-28  Bruno Haible  <bruno@clisp.org>
55984
55985         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
55986         from gl_HEADER_SYS_SOCKET.
55987         (gl_HEADER_SYS_SOCKET): Invoke it.
55988         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
55989
55990 2008-09-28  Bruno Haible  <bruno@clisp.org>
55991
55992         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
55993         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
55994         Needed on OSF/1 4.0.
55995
55996 2008-09-28  Bruno Haible  <bruno@clisp.org>
55997
55998         Override open more carefully.
55999         * lib/open.c (orig_open): New function.
56000         (rpl_open): Use orig_open instead of open.
56001         * lib/fcntl.in.h: Add special invocation convention.
56002         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
56003         (gl_FUNC_OPEN): Invoke it.
56004
56005         Override freopen more carefully.
56006         * lib/freopen.c (orig_freopen): New function.
56007         (rpl_freopen): Use orig_freopen instead of freopen.
56008         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
56009         (gl_FUNC_FREOPEN): Invoke it.
56010
56011         Override fopen more carefully.
56012         * lib/fopen.c (orig_fopen): New function.
56013         (rpl_fopen): Use orig_fopen instead of fopen.
56014         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
56015         (gl_FUNC_FOPEN): Invoke it.
56016         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
56017
56018 2008-09-28  Bruno Haible  <bruno@clisp.org>
56019
56020         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
56021         SIGPIPE.
56022
56023 2008-09-28  Bruno Haible  <bruno@clisp.org>
56024
56025         * tests/test-sigaction.c (handler, main): Disable the check whether
56026         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
56027         glibc systems with LinuxThreads.
56028
56029 2008-09-28  Bruno Haible  <bruno@clisp.org>
56030
56031         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
56032
56033         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
56034         with AIX xlc.
56035         * lib/fcntl.in.h (open): Likewise.
56036         Reported by Rainer Tammer <tammer@tammer.net>.
56037
56038 2008-09-28  Bruno Haible  <bruno@clisp.org>
56039
56040         * modules/posix_spawnp-tests: New file.
56041         * tests/test-posix_spawn.c: New file.
56042         * tests/test-posix_spawn.in.sh: New file.
56043
56044         New module 'posix_spawnp'.
56045         * modules/posix_spawnp: New file.
56046         * lib/spawnp.c: New file, from GNU libc with modifications.
56047         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
56048
56049         New module 'posix_spawn'.
56050         * modules/posix_spawn: New file.
56051         * lib/spawn.c: New file, from GNU libc with modifications.
56052         * doc/posix-functions/posix_spawn.texi: Mention the new module.
56053
56054         New module 'posix_spawnattr_destroy'.
56055         * modules/posix_spawnattr_destroy: New file.
56056         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
56057         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
56058         module.
56059
56060         New module 'posix_spawnattr_setsigmask'.
56061         * modules/posix_spawnattr_setsigmask: New file.
56062         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
56063         modifications.
56064         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
56065         new module.
56066
56067         New module 'posix_spawnattr_getsigmask'.
56068         * modules/posix_spawnattr_getsigmask: New file.
56069         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
56070         modifications.
56071         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
56072         new module.
56073
56074         New module 'posix_spawnattr_setsigdefault'.
56075         * modules/posix_spawnattr_setsigdefault: New file.
56076         * lib/spawnattr_setdefault.c: New file, from GNU libc with
56077         modifications.
56078         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
56079         new module.
56080
56081         New module 'posix_spawnattr_getsigdefault'.
56082         * modules/posix_spawnattr_getsigdefault: New file.
56083         * lib/spawnattr_getdefault.c: New file, from GNU libc with
56084         modifications.
56085         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
56086         new module.
56087
56088         New module 'posix_spawnattr_setschedpolicy'.
56089         * modules/posix_spawnattr_setschedpolicy: New file.
56090         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
56091         modifications.
56092         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
56093         new module.
56094
56095         New module 'posix_spawnattr_getschedpolicy'.
56096         * modules/posix_spawnattr_getschedpolicy: New file.
56097         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
56098         modifications.
56099         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
56100         new module.
56101
56102         New module 'posix_spawnattr_setschedparam'.
56103         * modules/posix_spawnattr_setschedparam: New file.
56104         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
56105         modifications.
56106         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
56107         new module.
56108
56109         New module 'posix_spawnattr_getschedparam'.
56110         * modules/posix_spawnattr_getschedparam: New file.
56111         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
56112         modifications.
56113         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
56114         new module.
56115
56116         New module 'posix_spawnattr_setpgroup'.
56117         * modules/posix_spawnattr_setpgroup: New file.
56118         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
56119         modifications.
56120         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
56121         module.
56122
56123         New module 'posix_spawnattr_getpgroup'.
56124         * modules/posix_spawnattr_getpgroup: New file.
56125         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
56126         modifications.
56127         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
56128         module.
56129
56130         New module 'posix_spawnattr_setflags'.
56131         * modules/posix_spawnattr_setflags: New file.
56132         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
56133         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
56134         module.
56135
56136         New module 'posix_spawnattr_getflags'.
56137         * modules/posix_spawnattr_getflags: New file.
56138         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
56139         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
56140         module.
56141
56142         New module 'posix_spawnattr_init'.
56143         * modules/posix_spawnattr_init: New file.
56144         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
56145         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
56146         module.
56147
56148         New module 'posix_spawn_file_actions_destroy'.
56149         * modules/posix_spawn_file_actions_destroy: New file.
56150         * lib/spawn_faction_destroy.c: New file, from GNU libc with
56151         modifications.
56152         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
56153         the new module.
56154
56155         New module 'posix_spawn_file_actions_addopen'.
56156         * modules/posix_spawn_file_actions_addopen: New file.
56157         * lib/spawn_faction_addopen.c: New file, from GNU libc with
56158         modifications.
56159         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
56160         the new module.
56161
56162         New module 'posix_spawn_file_actions_adddup2'.
56163         * modules/posix_spawn_file_actions_adddup2: New file.
56164         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
56165         modifications.
56166         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
56167         the new module.
56168
56169         New module 'posix_spawn_file_actions_addclose'.
56170         * modules/posix_spawn_file_actions_addclose: New file.
56171         * lib/spawn_faction_addclose.c: New file, from GNU libc with
56172         modifications.
56173         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
56174         the new module.
56175
56176         New module 'posix_spawn_file_actions_init'.
56177         * modules/posix_spawn_file_actions_init: New file.
56178         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
56179         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
56180         new module.
56181
56182         New module 'posix_spawn-internal'.
56183         * modules/posix_spawn-internal: New file.
56184         * lib/spawn_int.h: New file, from GNU libc with modifications.
56185         * lib/spawni.c: New file, from GNU libc with modifications.
56186         * m4/posix_spawn.m4: New file.
56187
56188         New module 'spawn'.
56189         * modules/spawn: New file.
56190         * lib/spawn.in.h: New file, from GNU libc with modifications.
56191         * m4/spawn_h.m4: New file.
56192         * doc/posix-headers/spawn.texi: Mention the new module.
56193
56194 2008-09-28  Bruno Haible  <bruno@clisp.org>
56195
56196         * modules/sched-tests: New file.
56197         * tests/test-sched.c: New file.
56198
56199         New module 'sched'.
56200         * modules/sched: New file.
56201         * lib/sched.in.h: New file.
56202         * m4/sched_h.m4: New file.
56203         * doc/posix-headers/sched.texi: Mention the new module.
56204
56205 2008-09-27  Eric Blake  <ebb9@byu.net>
56206
56207         Fix previous patch, and tweak references to $0.
56208         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
56209         (func_version, func_gnulib_dir): Don't call this program
56210         gnulib-tool.
56211         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
56212         with using $0 in function.
56213         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
56214         (func_fatal_error): Reuse the name the user invoked us with.
56215
56216 2008-09-27  Bruno Haible  <bruno@clisp.org>
56217
56218         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
56219         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
56220         (gl_ICONV_H): Not here.
56221         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
56222         instead of assigning ICONV_H directly.
56223
56224         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
56225         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
56226         WCHAR_H directly.
56227
56228 2008-09-27  Bruno Haible  <bruno@clisp.org>
56229
56230         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
56231         * modules/arpa_inet (Depends-on): Add link-warning.
56232         (Makefile.am): Insert the definition of GL_LINK-WARNING.
56233         * modules/unistd (Makefile.am): Likewise.
56234
56235 2008-09-26  Bruno Haible  <bruno@clisp.org>
56236
56237         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
56238         variables.
56239         (func_version): Essentially copied from gnulib-tool.
56240         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
56241         func_readlink): Copied from gnulib-tool.
56242
56243 2008-09-26  Bruno Haible  <bruno@clisp.org>
56244
56245         * gnulib-tool (func_version): Change directory to $gnulib_dir before
56246         invoking git-version-gen.
56247
56248 2008-09-26  Bruno Haible  <bruno@clisp.org>
56249
56250         * posix-modules: Update to directory names changed on 2008-01-19.
56251         Remove commas in output before splitting into words. No more need to
56252         avoid 'ftruncate' since 2007-02-19.
56253
56254 2008-09-26  Bruno Haible  <bruno@clisp.org>
56255
56256         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
56257
56258 2008-09-26  Bruno Haible  <bruno@clisp.org>
56259
56260         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
56261         * modules/fwriteerror (Depends-on): Add errno.
56262
56263 2008-09-26  Bruno Haible  <bruno@clisp.org>
56264
56265         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
56266         * tests/test-vc-list-files-cvs.sh: Likewise.
56267
56268 2008-09-26  Bruno Haible  <bruno@clisp.org>
56269
56270         * doc/posix-headers/sys_resource.texi: Reorder items.
56271
56272 2008-09-26  Jim Meyering  <meyering@redhat.com>
56273
56274         fts: tweak inode comparison function
56275         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
56276         inode numbers, as documented.
56277
56278         fts: sort dirent entries on inode number before traversing
56279         This avoids a quadratic, seek-related performance penalty when
56280         operating on a directory containing many entries (measurable at 10k;
56281         3.5 hours at 2 million entries with a cold cache) on certain types
56282         of file systems, including ext3 and ext4, but not tmpfs.
56283         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
56284         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
56285         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
56286         (fs_handles_readdir_ordered_dirents_efficiently): New function.
56287         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
56288         (fts_build): Set the stat.st_ino member from D_INO.
56289         If it is likely to be useful, sort dirent entries on inode number.
56290
56291         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
56292         and the struct statfs.f_type member.
56293         * modules/fts (Depends-on): Add d-ino.
56294
56295 2008-09-26  Bruno Haible  <bruno@clisp.org>
56296
56297         * modules/sigpipe-die (Depends-on): Add sigpipe.
56298
56299         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
56300         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
56301         and GNULIB_STDIO_H_SIGPIPE are set.
56302         * lib/stdio-write.c: New file.
56303         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
56304         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
56305         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
56306         REPLACE_STDIO_WRITE_FUNCS.
56307         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
56308         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
56309         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
56310         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
56311         * modules/stdio (Files): Add lib/stdio-write.c.
56312         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
56313         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
56314         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
56315         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
56316         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
56317         REPLACE_FPRINTF_POSIX.
56318         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
56319         REPLACE_PRINTF_POSIX.
56320         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
56321         REPLACE_VFPRINTF_POSIX.
56322         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
56323         REPLACE_VPRINTF_POSIX.
56324         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
56325         SIGPIPE issue.
56326         * doc/posix-functions/fputc.texi: Likewise.
56327         * doc/posix-functions/fputs.texi: Likewise.
56328         * doc/posix-functions/fwrite.texi: Likewise.
56329         * doc/posix-functions/printf.texi: Likewise.
56330         * doc/posix-functions/putc.texi: Likewise.
56331         * doc/posix-functions/putchar.texi: Likewise.
56332         * doc/posix-functions/puts.texi: Likewise.
56333         * doc/posix-functions/vfprintf.texi: Likewise.
56334         * doc/posix-functions/vprintf.texi: Likewise.
56335
56336         * modules/safe-write (Depends-on): Add write.
56337
56338         * modules/sigpipe-tests: New file.
56339         * tests/test-sigpipe.c: New file.
56340         * tests/test-sigpipe.sh: New file.
56341
56342         * modules/write: New file.
56343         * lib/unistd.in.h: Include <sys/types.h>.
56344         (write): New declaration.
56345         * lib/write.c: New file.
56346         * m4/write.m4: New file.
56347         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
56348         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
56349         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
56350         GNULIB_WRITE, REPLACE_WRITE.
56351         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
56352         and the SIGPIPE issue.
56353
56354         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
56355         (raise): New declaration.
56356         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
56357         (ext_signal): New function.
56358         (rpl_raise): New function.
56359         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
56360         GNULIB_SIGNAL_H_SIGPIPE.
56361         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
56362         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
56363
56364         * modules/sigpipe: New file.
56365         * m4/sigpipe.m4: New file.
56366
56367 2008-09-25  Derek Price  <derek@ximbiot.com>
56368             Bruno Haible  <bruno@clisp.org>
56369
56370         * gnulib-tool (func_import): Report all license incompatibilities, not
56371         just the first one.
56372
56373 2008-09-25  Bruno Haible  <bruno@clisp.org>
56374
56375         * gnulib-tool (func_import): When computing the edits, consider not
56376         only the Makefile.ams that exist but also those that will be generated.
56377
56378 2008-09-25  Simon Josefsson  <simon@josefsson.org>
56379
56380         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
56381         fixes gnulib-tool --test warning about duplicate dependency.
56382
56383 2008-09-25  Bruno Haible  <bruno@clisp.org>
56384
56385         * gnulib-tool: Don't ask the user to perform edits in the generated
56386         Makefile.ams.
56387         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
56388         apply to the Makefile.am being generated.
56389         (func_emit_tests_Makefile_am): Execute edits that apply to the
56390         Makefile.am being generated.
56391         (func_import): Setup list of Makefile.am edits before emitting the
56392         Makefile.ams, not at the end.
56393         (func_create_testdir): Update.
56394         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
56395
56396 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56397
56398         * gnulib-tool (func_import): Store the --tests-base option in the
56399         comment in gnulib-cache.m4.
56400
56401 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
56402
56403         * NEWS: Document increased portability that sys_select now provides.
56404
56405         * lib/sys_select.in.h: Install select wrapper.
56406         * lib/sys_socket.in.h: Use more descriptive name when there is no
56407         select wrapper.
56408         * lib/winsock-select.c: New.
56409         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
56410         Require gl_HEADER_SYS_SOCKET.
56411         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
56412         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
56413         * tests/test-sys_select.c: Add functional tests.
56414
56415 2008-09-24  Eric Blake  <ebb9@byu.net>
56416
56417         open, fopen: close fd leak in last patch
56418         * lib/open.c (rpl_open): Close fd before returning error.
56419         * lib/fopen.c (rpl_fopen): Close fd before returning error.
56420         * doc/posix-functions/open.texi (open): Document that Irix also
56421         has the bug.
56422         * doc/posix-functions/fopen.texi (fopen): Likewise.
56423         Reported by Paolo Bonzini.
56424
56425 2008-09-24  Bruno Haible  <bruno@clisp.org>
56426
56427         Ensure that a filename ending in a slash cannot be used to access a
56428         non-directory.
56429         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
56430         to check whether it's really a directory.
56431         * lib/fopen.c: Include fcntl.h, unistd.h.
56432         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
56433         and fdopen().
56434         * modules/fopen (Depends-on): Add unistd.
56435         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
56436         * tests/test-fopen.c (main): Likewise.
56437         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
56438         * doc/posix-functions/fopen.texi: Likewise.
56439         Reported by Eric Blake.
56440
56441 2008-09-23  Eric Blake  <ebb9@byu.net>
56442
56443         c-stack: avoid compiler optimizations when provoking overflow
56444         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
56445         recursion harder to optimize, to ensure a stack overflow occurs.
56446         * tests/test-c-stack.c (recurse): Likewise.
56447         Borrowed from libsigsegv.
56448
56449         c-stack: work around Irix sigaltstack bug
56450         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
56451         whether sigaltstack uses wrong end of stack_t (copied in part from
56452         libsigsegv).
56453         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
56454         Irix bug, without requiring an over-allocation.
56455         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
56456         bug.
56457
56458         fopen: document mingw bug on directories
56459         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
56460         not allowing a stream visiting a directory, even though reading
56461         from such a stream is not portable.
56462
56463 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
56464
56465         * lib/poll.c: Rewrite.
56466         * modules/poll: Depend on alloca.
56467
56468 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
56469
56470         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
56471         instead define prototypes for a full set of wrappers.  Ensure
56472         that Cygwin does not use the compatibility code, which is only
56473         for MinGW.
56474         * lib/winsock.c: New.
56475         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
56476         * modules/sys_socket: Add lib/winsock.c.
56477
56478         * modules/poll-tests: Add errno and perror.
56479         * tests/test-poll.c: Use ioctl, not ioctlsocket.
56480
56481 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
56482
56483         * tests/test-poll.c: Downgrade minimum needed Winsock version.
56484
56485 2008-09-23  Bruno Haible  <bruno@clisp.org>
56486
56487         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
56488         * doc/glibc-functions/*: Likewise.
56489
56490 2008-09-23  Simon Josefsson  <simon@josefsson.org>
56491
56492         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
56493         success.
56494
56495 2008-09-22  Eric Blake  <ebb9@byu.net>
56496             Bruno Haible  <bruno@clisp.org>
56497
56498         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
56499         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
56500         supply %A but mishandle pseudo-NaN.
56501         Reported by Simon Josefsson.
56502
56503 2008-09-21  Bruno Haible  <bruno@clisp.org>
56504
56505         * tests/test-lock.c (main): Tweak skip message.
56506         * tests/test-tls.c (main): Likewise.
56507
56508 2008-09-21  Bruno Haible  <bruno@clisp.org>
56509
56510         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
56511         whether 'struct sigaction' has sa_sigaction here...
56512         (gl_PREREQ_SIG_HANDLER_H): ... not here.
56513         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
56514
56515 2008-09-21  Bruno Haible  <bruno@clisp.org>
56516
56517         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
56518         section.
56519         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
56520         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
56521         the new section.
56522         (Support for obsolete systems lacking POSIX:2001): New section.
56523         (String handling <string.h>): Move strdup to the new section.
56524         Suggested by Simon Josefsson and Paolo Bonzini.
56525
56526 2008-09-21  Bruno Haible  <bruno@clisp.org>
56527
56528         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
56529         exponents in %e and %g results on 'long double'. Needed for mingw's
56530         improved *printf functions.
56531         * tests/test-vasprintf-posix.c (test_function): Likewise.
56532         * tests/test-snprintf-posix.h (test_function): Likewise.
56533         * tests/test-sprintf-posix.h (test_function): Likewise.
56534         Reported by Eric Blake.
56535
56536 2008-09-21  Bruno Haible  <bruno@clisp.org>
56537
56538         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
56539         * tests/test-sprintf-posix.h (test_function): Likewise.
56540
56541 2008-09-21  Bruno Haible  <bruno@clisp.org>
56542
56543         * modules/getpass (Depends-on): Add strdup-posix.
56544
56545         New module 'strdup-posix'.
56546         * modules/strdup-posix: New file.
56547         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
56548         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
56549         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
56550         REPLACE_STRDUP.
56551         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
56552         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
56553         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
56554         strdup-posix.
56555
56556         * modules/strdup (Depends-on): Remove malloc-posix.
56557
56558 2008-09-20  Bruno Haible  <bruno@clisp.org>
56559
56560         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
56561         Wildenhues.
56562
56563 2008-09-20  Bruno Haible  <bruno@clisp.org>
56564
56565         Ensure that wint_t gets defined on IRIX 5.3.
56566         * lib/wchar.in.h (wint_t): Define if not defined by the system.
56567         * lib/wctype.in.h (wint_t): Likewise.
56568         (__wctype_wint_t): Remove type.
56569         (isw*): Use wint_t instead of __wctype_wint_t.
56570         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
56571         * modules/wchar (Files): Add m4/wint_t.m4.
56572         (Makefile.am): Substitute HAVE_WINT_T.
56573         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
56574         * tests/test-wctype.c: Check that wint_t is defined.
56575         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
56576         * doc/posix-headers/wctype.texi: Likewise.
56577         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
56578
56579 2008-09-18  Bruno Haible  <bruno@clisp.org>
56580
56581         * gnulib-tool (func_exit): Update comment.
56582
56583 2008-09-18  Simon Josefsson  <simon@josefsson.org>
56584
56585         * modules/getaddrinfo (Depends-on): Remove strdup, this module
56586         assumes strdup exists and does not depend on strdup to return
56587         ENOMEM on out of memory conditions.
56588
56589 2008-09-18  Bruno Haible  <bruno@clisp.org>
56590
56591         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
56592         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
56593         digits for the exponent.
56594
56595 2008-09-18  Jim Meyering  <meyering@redhat.com>
56596             Bruno Haible  <bruno@clisp.org>
56597
56598         * lib/vasnprintf.c (decimal_point_char): Define also if
56599         NEED_PRINTF_INFINITE_LONG_DOUBLE.
56600
56601 2008-09-16  Bruno Haible  <bruno@clisp.org>
56602         and Eric Blake  <ebb9@byu.net>
56603
56604         vasnprintf: support Irix 5.3
56605         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
56606         that mishandle long double infinity.
56607         Reported by Tom G. Christensen.
56608
56609 2008-09-16  Bruno Haible  <bruno@clisp.org>
56610
56611         * doc/glibc-functions/scandir.texi: Mention the function is missing on
56612         Solaris 9.
56613         * doc/glibc-functions/alphasort.texi: Likewise.
56614         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
56615
56616 2008-09-16  Jim Meyering  <meyering@redhat.com>
56617
56618         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
56619         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
56620         a umask modification leak out of a subshell.  Otherwise, the
56621         opensolaris /bin/sh would be accepted and thus cause unwarranted
56622         failures in the coreutils test suite.
56623
56624 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
56625
56626         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
56627         to succeed.
56628
56629 2008-09-16  Jim Meyering  <meyering@redhat.com>
56630
56631         avoid spurious test failure when library is built without ACL support
56632         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
56633         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
56634         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
56635         * tests/test-copy-acl.sh: Likewise.
56636
56637 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56638
56639         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
56640         based on character occurrence counts.
56641
56642 2008-09-15  Eric Blake  <ebb9@byu.net>
56643
56644         tests: avoid some compiler warnings
56645         * tests/test-memchr.c (main): Pass NULL indirectly.
56646         * tests/test-closein.c (main): Avoid unused variable.
56647
56648 2008-09-15  Bruno Haible  <bruno@clisp.org>
56649
56650         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
56651         are missing on OpenBSD 4.0 individually.
56652         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
56653
56654 2008-09-15  Bruno Haible  <bruno@clisp.org>
56655
56656         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
56657         * doc/posix-functions/strerror.texi: Mention also Cygwin.
56658         * doc/posix-functions/perror.texi: Likewise.
56659         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
56660         is missing.
56661         Reported by Eric Blake.
56662
56663         * lib/errno.in.h: Use replacement values >= 2000.
56664         Reported by Eric Blake.
56665
56666 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56667
56668         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
56669         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
56670         limit.
56671         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
56672         compareseq was aborted.
56673
56674 2008-09-14  Bruno Haible  <bruno@clisp.org>
56675
56676         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
56677         yvec_edit_count.
56678         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
56679         (fstrcmp_bounded): Simplify result computation accordingly.
56680
56681 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56682
56683         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
56684         (fstrcmp): Define in terms of fstrcmp_bounded.
56685         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
56686         lower_bound argument.
56687         Return quickly if the result is certainly < lower_bound.
56688         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
56689
56690 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56691
56692         * lib/diffseq.h (EARLY_ABORT): New macro.
56693         (compareseq): Change return type to bool. Return true when EARLY_ABORT
56694         evaluates to true.
56695
56696 2008-09-14  Bruno Haible  <bruno@clisp.org>
56697
56698         * modules/perror-tests: New file.
56699         * tests/test-perror.sh: New file.
56700         * tests/test-perror.c: New file.
56701
56702         New module 'perror'.
56703         * lib/stdio.in.h (perror): New declaration.
56704         * lib/perror.c: New file.
56705         * m4/perror.m4: New file.
56706         * modules/perror: New file.
56707         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
56708         * doc/posix-functions/perror.texi: Mention the perror module.
56709         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
56710         REPLACE_PERROR.
56711         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
56712         REPLACE_PERROR.
56713
56714 2008-09-14  Bruno Haible  <bruno@clisp.org>
56715
56716         * modules/stdio (Makefile.am): Reorder to match the order in
56717         lib/stdio.in.h.
56718         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
56719
56720 2008-09-13  Bruno Haible  <bruno@clisp.org>
56721
56722         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
56723
56724 2008-09-13  Bruno Haible  <bruno@clisp.org>
56725
56726         Extend strerror to cover the added errno values.
56727         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
56728         (rpl_strerror): Provide error messages for the added errno values and
56729         for the WSA* values.
56730         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
56731         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
56732         strerror.
56733         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
56734         * modules/strerror (Depends-on): Add errno.
56735         * doc/posix-functions/strerror.texi: Document the change.
56736         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
56737         and EOVERFLOW.
56738
56739 2008-09-13  Bruno Haible  <bruno@clisp.org>
56740
56741         * modules/EOVERFLOW: Remove file.
56742         * m4/eoverflow.m4: Remove file.
56743         * modules/EOVERFLOW-tests: Remove file.
56744         * tests/test-EOVERFLOW.c: Remove file.
56745         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
56746         * modules/ftell (Depends-on): Likewise.
56747         * modules/getdelim (Depends-on): Likewise.
56748         * modules/getugroups (Depends-on): Likewise.
56749         * modules/poll (Depends-on): Likewise.
56750         * modules/snprintf (Depends-on): Likewise.
56751         * modules/sprintf-posix (Depends-on): Likewise.
56752         * modules/vasnprintf (Depends-on): Likewise.
56753         * modules/vasprintf (Depends-on): Likewise.
56754         * modules/vfprintf-posix (Depends-on): Likewise.
56755         * modules/vsnprintf (Depends-on): Likewise.
56756         * modules/vsprintf-posix (Depends-on): Likewise.
56757         * modules/xvasprintf (Depends-on): Likewise.
56758         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
56759         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
56760         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
56761         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
56762         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
56763         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
56764         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
56765         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
56766         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
56767         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
56768         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
56769         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
56770         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
56771         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
56772         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
56773         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
56774         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
56775         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
56776         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
56777         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
56778         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
56779         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
56780         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
56781         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
56782         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
56783         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
56784         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
56785         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
56786         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
56787         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
56788         * MODULES.html.sh: Remove EOVERFLOW.
56789         * NEWS: Mention the change.
56790
56791 2008-09-13  Bruno Haible  <bruno@clisp.org>
56792
56793         * modules/errno-tests: New file.
56794         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
56795
56796         * lib/errno.in.h: New file.
56797         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
56798         * modules/errno: New file.
56799         * doc/posix-headers/errno.texi: Update documentation.
56800         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
56801
56802 2008-09-13  Bruno Haible  <bruno@clisp.org>
56803
56804         * tests/test-poll.c: Use #if for native Windows, rather than testing
56805         __MSVCRT__.
56806
56807 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56808             Bruno Haible  <bruno@clisp.org>
56809
56810         * lib/glob.c: Don't include <pwd.h> on native Windows.
56811         (WINDOWS32): New macro.
56812         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
56813
56814 2008-09-13  Bruno Haible  <bruno@clisp.org>
56815
56816         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
56817         (ETIMEDOUT): Remove macro.
56818         (glthread_cond_timedwait_multithreaded): New declaration.
56819         (glthread_cond_timedwait): Use it.
56820         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
56821         (glthread_cond_timedwait_multithreaded): New function.
56822
56823 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
56824
56825         * modules/poll-tests: Do not check for io.h.
56826         * tests/test-poll.c: Check for __MSVCRT__ instead.
56827
56828 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
56829
56830         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
56831         * modules/poll-tests: Add inet_pton, stdbool, sockets.
56832         * tests/test-poll.c: Use them.  Use _pipe on Windows.
56833
56834 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
56835
56836         * modules/poll-tests: New.
56837         * tests/test-poll.c: New.
56838
56839 2008-09-12  Eric Blake  <ebb9@byu.net>
56840
56841         frexp: test for NetBSD failure on -0.0
56842         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
56843         not all, bugs from NetBSD 3.0 have been fixed.
56844         * doc/posix-functions/frexp.texi (frexp): Document bug.
56845         Reported by Thomas Klausner.
56846
56847         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
56848         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
56849         literal -0.0.
56850         Reported by Jonathan C. Patschke <jp@centtech.com>.
56851
56852 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56853
56854         * lib/glthread/cond.h: Use dummy implementation also if
56855         USE_WIN32_THREADS.
56856
56857 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56858
56859         * modules/fnmatch-posix (License): Change to LGPLv2+.
56860         * modules/fnmatch-gnu (License): Likewise.
56861
56862 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56863
56864         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
56865
56866 2008-09-11  Jim Meyering  <meyering@redhat.com>
56867
56868         * users.txt: Add gtk-vnc.
56869
56870 2008-09-08  Simon Josefsson  <simon@josefsson.org>
56871
56872         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
56873         rotate amounts.
56874
56875         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
56876         required for 16-bit and 8-bit rotates.
56877         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
56878         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
56879         UINT8_MAX instead of hard-coded constants.
56880         Suggested by Paul Eggert.
56881
56882 2008-09-07  Bruno Haible  <bruno@clisp.org>
56883
56884         * tests/test-striconveh.c (main): Check behaviour when converting from
56885         UTF-7.
56886
56887         Make striconveh work better with stateful encodings.
56888         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
56889         that iconv does not increment the inptr when returning -1/EINVAL.
56890
56891 2008-09-07  Bruno Haible  <bruno@clisp.org>
56892
56893         * build-aux/config.rpath: Update according to libtool-2.2.6.
56894         * build-aux/config.libpath: Likewise.
56895
56896 2008-09-06  Bruno Haible  <bruno@clisp.org>
56897
56898         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
56899         * lib/freadptr.c (freadptr): Likewise.
56900         * lib/freadseek.c (freadptrinc): Likewise.
56901         Reported by Simon Josefsson.
56902
56903 2008-09-06  Bruno Haible  <bruno@clisp.org>
56904
56905         * modules/freadptr (License): Change to LGPLv2+.
56906         * modules/freadseek (License): Likewise.
56907         Suggested by Eric Blake.
56908
56909         * modules/memchr2 (License): Change to LGPLv2+.
56910         Approved by Eric Blake.
56911
56912 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56913             Bruno Haible  <bruno@clisp.org>
56914
56915         Make gnulib-tool work with native 'sed' on AIX.
56916         * gnulib-tool (sed_noop): New variable.
56917         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
56918         func_add_or_update, func_create_testdir): Use it to initialize sed
56919         script variables.
56920         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
56921
56922 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
56923             Bruno Haible  <bruno@clisp.org>
56924
56925         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
56926         also works after #include directives.
56927
56928 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
56929
56930         getdate.y: reject an out-of-range timezone value
56931         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
56932         the range [-24...+24].  When specified with only one or two digits,
56933         * tests/test-getdate.c: Tests for the fix.
56934         * doc/getdate.texi: Document this change.
56935
56936 2008-09-03  Bruno Haible  <bruno@clisp.org>
56937
56938         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
56939
56940 2008-09-02  Simon Josefsson  <simon@josefsson.org>
56941
56942         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
56943         <bruce.korb@gmail.com> with ideas from Ben Pfaff
56944         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
56945         Blake <ebb9@byu.net>.
56946
56947         * tests/test-bitrotate.c: Add more test vectors.
56948
56949 2008-09-02  Eric Blake  <ebb9@byu.net>
56950
56951         vasnprintf-posix: handle large precision via %.*d
56952         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
56953         when handling it ourselves.
56954         * tests/test-vasnprintf-posix.c (test_function): Add test.
56955         * tests/test-snprintf-posix.h (test_function): Likewise.
56956         * tests/test-sprintf-posix.h (test_function): Likewise.
56957         * tests/test-vasprintf-posix.c (test_function): Likewise.
56958         Reported by Alain Guibert.
56959
56960 2008-09-01  Eric Blake  <ebb9@byu.net>
56961
56962         c-stack: make configure-time check more robust
56963         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
56964         successful sigaction call.
56965         Reported by Tom G. Christensen.
56966
56967 2008-09-01  Bruno Haible  <bruno@clisp.org>
56968
56969         New module 'findprog-lgpl'.
56970         * modules/findprog-lgpl: New file.
56971         * lib/findprog-lgpl.c: New file.
56972         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
56973         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
56974         to decide whether to use strdup or xstrdup, concatenated_filename or
56975         xconcatenated_filename.
56976
56977 2008-09-01  Bruno Haible  <bruno@clisp.org>
56978
56979         Split module 'concat-filename' into 'concat-filename' (LGPL) and
56980         'xconcat-filename' (GPL).
56981         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
56982         (License): Change to LGPLv2+.
56983         * modules/xconcat-filename: New file.
56984         * lib/concat-filename.h (concatenated_filename): Change specification.
56985         (xconcatenated_filename): New declaration.
56986         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
56987         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
56988         memory situations.
56989         * lib/xconcat-filename.c: New file.
56990         * NEWS: Mention the change.
56991         * lib/findprog.c: Include concat-filename.h, not filename.h.
56992         (find_in_path): Use xconcatenated_filename instead of
56993         concatenated_filename.
56994         * lib/javacomp.c: Include concat-filename.h, not filename.h.
56995         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
56996         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
56997         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
56998         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
56999         instead of concatenated_filename.
57000         * lib/javaexec.c: Include concat-filename.h, not filename.h.
57001         (execute_java_class): Use xconcatenated_filename instead of
57002         concatenated_filename.
57003         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
57004         * modules/javacomp (Depends-on): Likewise.
57005         * modules/javaexec (Depends-on): Likewise.
57006
57007 2008-09-01  Bruno Haible  <bruno@clisp.org>
57008
57009         Split module 'filename' into 'filename' and 'concat-filename'.
57010         * modules/filename: Keep only lib/filename.h.
57011         (License): Change to LGPLv2+.
57012         * modules/concat-filename: New file, extracted from modules/filename.
57013         * lib/filename.h (concatenated_filename): Remove declaration.
57014         * lib/concat-filename.h: New file, extracted from lib/filename.h.
57015         * lib/concat-filename.c: Include concat-filename.h.
57016         * NEWS: Mention the change.
57017
57018 2008-09-01  Simon Josefsson  <simon@josefsson.org>
57019
57020         * lib/bitrotate.h (rotl8, rotr8): Add.
57021
57022         * modules/bitrotate (configure.ac): Need
57023         AC_REQUIRE([AC_C_INLINE]).
57024         (Description): Mention stdint.h.  Reported by Bruno Haible
57025         <bruno@clisp.org>.
57026
57027         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
57028         Paolo Bonzini <bonzini@gnu.org>.
57029
57030 2008-08-31  Bruno Haible  <bruno@clisp.org>
57031
57032         Assume Solaris specific bi-arch conventions on Solaris systems.
57033         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
57034         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
57035         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
57036         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
57037         like acl_libdirstem.
57038         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
57039         acl_libdirstem.
57040         * NEWS: Mention the change.
57041         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
57042
57043 2008-08-31  Jim Meyering  <meyering@redhat.com>
57044
57045         * lib/strftime.h: Add comments describing the two added arguments.
57046
57047         remove duplicate #include directives
57048         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
57049         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
57050
57051 2008-08-31  Bruno Haible  <bruno@clisp.org>
57052
57053         New module 'sigpipe-die'.
57054         * modules/sigpipe-die: New file.
57055         * lib/sigpipe-die.h: New file.
57056         * lib/sigpipe-die.c: New file.
57057         * MODULES.html.sh (Signal handling): Add sigpipe-die.
57058
57059 2008-08-31  Bruno Haible  <bruno@clisp.org>
57060
57061         Don't override previously installed signal handlers.
57062         * lib/fatal-signal.c (saved_sigactions): New variable.
57063         (uninstall_handlers): Reset the signal to the saved handler, not
57064         to SIG_DFL (except when ignored).
57065         (install_handlers): Save the previous handlers.
57066
57067 2008-08-30  Bruno Haible  <bruno@clisp.org>
57068
57069         * gnulib-tool (func_reset_sigpipe): New function.
57070         (func_get_automake_snippet, func_modules_transitive_closure,
57071         func_import): Invoke it before a join command that reads from stdin,
57072         to avoid "echo: write error: Broken pipe" error messages on stderr.
57073         Reported by Sam Steingold <sds@gnu.org>.
57074
57075 2008-08-30  Bruno Haible  <bruno@clisp.org>
57076
57077         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
57078         Code copied from m4/open.m4.
57079         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
57080         access and the filename ends in a slash. Code copied from lib/open.c.
57081         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
57082         * tests/test-fopen.c (main): Check against bug with trailing slash.
57083
57084 2008-08-29  Bruno Haible  <bruno@clisp.org>
57085
57086         Avoid some "gcc -pedantic" warnings.
57087         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
57088         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
57089         * lib/dirent.in.h: Likewise.
57090         * lib/fcntl.in.h: Likewise.
57091         * lib/float.in.h: Likewise.
57092         * lib/iconv.in.h: Likewise.
57093         * lib/inttypes.in.h: Likewise.
57094         * lib/locale.in.h: Likewise.
57095         * lib/math.in.h: Likewise.
57096         * lib/netinet_in.in.h: Likewise.
57097         * lib/search.in.h: Likewise.
57098         * lib/signal.in.h: Likewise.
57099         * lib/stdarg.in.h: Likewise.
57100         * lib/stdint.in.h: Likewise.
57101         * lib/stdio.in.h: Likewise.
57102         * lib/stdlib.in.h: Likewise.
57103         * lib/string.in.h: Likewise.
57104         * lib/strings.in.h: Likewise.
57105         * lib/sys_select.in.h: Likewise.
57106         * lib/sys_socket.in.h: Likewise.
57107         * lib/sys_stat.in.h: Likewise.
57108         * lib/sys_time.in.h: Likewise.
57109         * lib/sysexits.in.h: Likewise.
57110         * lib/time.in.h: Likewise.
57111         * lib/unistd.in.h: Likewise.
57112         * lib/wchar.in.h: Likewise.
57113         * lib/wctype.in.h: Likewise.
57114         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
57115         * modules/fchdir (Makefile.am): Likewise.
57116         * modules/fcntl (Makefile.am): Likewise.
57117         * modules/float (Makefile.am): Likewise.
57118         * modules/iconv_open (Makefile.am): Likewise.
57119         * modules/inttypes (Makefile.am): Likewise.
57120         * modules/locale (Makefile.am): Likewise.
57121         * modules/math (Makefile.am): Likewise.
57122         * modules/netinet_in (Makefile.am): Likewise.
57123         * modules/search (Makefile.am): Likewise.
57124         * modules/signal (Makefile.am): Likewise.
57125         * modules/stdarg (Makefile.am): Likewise.
57126         * modules/stdint (Makefile.am): Likewise.
57127         * modules/stdio (Makefile.am): Likewise.
57128         * modules/stdlib (Makefile.am): Likewise.
57129         * modules/string (Makefile.am): Likewise.
57130         * modules/strings (Makefile.am): Likewise.
57131         * modules/sys_select (Makefile.am): Likewise.
57132         * modules/sys_socket (Makefile.am): Likewise.
57133         * modules/sys_stat (Makefile.am): Likewise.
57134         * modules/sys_time (Makefile.am): Likewise.
57135         * modules/sysexits (Makefile.am): Likewise.
57136         * modules/time (Makefile.am): Likewise.
57137         * modules/unistd (Makefile.am): Likewise.
57138         * modules/wchar (Makefile.am): Likewise.
57139         * modules/wctype (Makefile.am): Likewise.
57140         Reported by Reuben Thomas <rrt@sc3d.org>.
57141
57142 2008-08-29  Bruno Haible  <bruno@clisp.org>
57143
57144         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
57145         any more.
57146
57147 2008-08-29  Simon Josefsson  <simon@josefsson.org>
57148
57149         * MODULES.html.sh (Misc): Add bitrotate.
57150
57151         * modules/bitrotate: New file.
57152
57153         * lib/bitrotate.h: New file.
57154
57155         * modules/bitrotate-tests: New file.
57156
57157         * tests/test-bitrotate.c: New file.
57158
57159         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
57160         on the bitrotate module.
57161
57162         * lib/arctwo.c: Use new bitrotate module.
57163
57164 2008-08-29  Jim Meyering  <meyering@redhat.com>
57165
57166         bootstrap: merge changes from coreutils
57167         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
57168         of copied files.  Remove a kludge, now that this is fixed.
57169         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
57170         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
57171         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
57172
57173 2008-08-29  Bruno Haible  <bruno@clisp.org>
57174
57175         * MODULES.html.sh: Remove --cvs-urls option.
57176
57177 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
57178
57179         maint.mk: adjust to file name change
57180         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
57181
57182 2008-08-28  Jim Meyering  <meyering@redhat.com>
57183
57184         * modules/getndelim2 (License): Relicense to LGPLv2+.
57185         Approved by Richard Stallman for the version of 1995, and by
57186         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
57187
57188 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
57189
57190         * lib/getdelim.c (flockfile, funlockfile): Make all of them
57191         dummy if one is not available.  Do not touch them if
57192         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
57193         (getc_maybe_unlocked): New.
57194         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
57195
57196 2008-08-26  Eric Blake  <ebb9@byu.net>
57197
57198         doc/INSTALL: resync from autoconf
57199         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
57200         (INSTALL_PRELUDE): Delete; this is done more efficiently by
57201         moving...
57202         * install.texi [!autoconf]: ...here.  Resync from autoconf.
57203         * INSTALL: Regenerate.
57204         * INSTALL.ISO: New file.
57205         * INSTALL.UTF-8: Likewise.
57206
57207 2008-08-26  Jim Meyering  <meyering@redhat.com>
57208
57209         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
57210         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
57211         these definitions conditional, so that they may be overridden, too.
57212
57213 2008-08-26  Bruno Haible  <bruno@clisp.org>
57214
57215         Generate INSTALL file variants with prettier quotes.
57216         * doc/Makefile (INSTALL_PRELUDE): New macro.
57217         (INSTALL): Use it.
57218         (INSTALL.ISO, INSTALL.UTF-8): New rules.
57219
57220 2008-08-26  Bruno Haible  <bruno@clisp.org>
57221
57222         Run makeinfo in an English locale.
57223         * doc/Makefile (MAKEINFO): New variable.
57224
57225 2008-08-26  Bruno Haible  <bruno@clisp.org>
57226
57227         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
57228         Suggested by Eric Blake.
57229
57230 2008-08-25  Bruno Haible  <bruno@clisp.org>
57231
57232         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
57233
57234 2008-08-25  Eric Blake  <ebb9@byu.net>
57235
57236         c-stack: test that stack overflow can be caught
57237         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
57238         that platform allows handling stack overflow; at least OS/2 EMX
57239         has sigaltstack, but crashes before transferring control to
57240         handler on stack overflow.
57241         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
57242         check for HAVE_STACK_OVERFLOW_HANDLING.
57243         Reported by Elbert Pol.
57244
57245 2008-08-25  Bruno Haible  <bruno@clisp.org>
57246
57247         * doc/posix-functions/strftime.texi: Fix description of strftime
57248         module.
57249
57250 2008-08-24  Bruno Haible  <bruno@clisp.org>
57251
57252         * tests/uniwidth/test-uc_width2.c: New file.
57253         * tests/uniwidth/test-uc_width2.sh: New file.
57254         * modules/uniwidth/width-tests (Files): Add the new files.
57255         (TESTS): Add uniwidth/test-uc_width2.sh.
57256         (TESTS_ENVIRONMENT): New variable.
57257         (check_PROGRAMS): Add test-uc_width2.
57258         (test_uc_width2_SOURCES): New variable.
57259
57260         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
57261         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
57262         not 0x00AB.
57263         Reported by Alexander V. Lukyanov <lav@netis.ru>.
57264
57265 2008-08-22  Eric Blake  <ebb9@byu.net>
57266
57267         test-lock, test-tls: mention why a test is skipped
57268         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
57269         skipped.
57270         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
57271
57272         count-one-bits: relax license
57273         * modules/count-one-bits (License): Relicense to LGPLv2+.
57274         Suggested by Ludovic Courtès, approved by Ben Pfaff.
57275
57276 2008-08-22  Andreas Schwab  <schwab@suse.de>
57277
57278         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
57279         Remove spurious space in assignment.
57280
57281 2008-08-21  Simon Josefsson  <simon@josefsson.org>
57282
57283         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
57284         Paul Eggert <eggert@CS.UCLA.EDU>.
57285
57286 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
57287
57288         * modules/gettext: Add m4/threadlib.m4.
57289
57290 2008-08-19  Eric Blake  <ebb9@byu.net>
57291
57292         test-c-stack: fix compilation failure on FreeBSD 5.0
57293         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
57294         headers before <sys/resource.h>.
57295         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
57296         the bug.
57297         Reported by Nelson H. F. Beebe.
57298
57299         strverscmp: migrate from "strverscmp.h" to <string.h>
57300         * modules/string (Makefile.am): Add new hooks.
57301         * modules/strverscmp (Files): Remove strverscmp.h.
57302         (Depends-on): Add string.
57303         (configure.ac): Add indicator.
57304         (Include): Mention new header.
57305         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
57306         defaults.
57307         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
57308         results.
57309         * lib/strverscmp.h: Delete.
57310         * lib/string.in.h (strverscmp): Provide declaration, when needed.
57311         * tests/test-strverscmp.c (includes): Adjust client.
57312         * lib/check-version.c (includes): Likewise.
57313         * NEWS: Document the change.
57314
57315         strverscmp: add unit test
57316         * modules/strverscmp-tests: New file.
57317         * tests/test-strverscmp.c: Likewise.
57318
57319 2008-08-19  Simon Josefsson  <simon@josefsson.org>
57320
57321         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
57322         regarding Windows crypto stuff, from Mono.
57323
57324 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
57325
57326         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
57327         if present, for intel RND.  Return error on failures.
57328
57329 2008-08-18  Ben Pfaff  <blp@gnu.org>
57330
57331         gitlog-to-changelog: give better diagnostic for failed pipe-open
57332         * build-aux/gitlog-to-changelog: Improve error message: suggest
57333         that the version of Git may be too old.
57334
57335 2008-08-18  Simon Josefsson  <simon@josefsson.org>
57336
57337         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
57338         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
57339
57340 2008-08-18  Bruno Haible  <bruno@clisp.org>
57341
57342         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
57343         pthread_in_use().
57344
57345 2008-08-18  Bruno Haible  <bruno@clisp.org>
57346
57347         * lib/glthread/threadlib.c: Include <pthread.h>.
57348
57349 2008-08-18  Bruno Haible  <bruno@clisp.org>
57350
57351         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
57352         glthread_recursive_lock_* macros.
57353         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
57354         Fix syntax error.
57355
57356 2008-08-18  Bruno Haible  <bruno@clisp.org>
57357
57358         * lib/glthread/thread.c: Avoid forcing a context switch right after
57359         thread creation.
57360
57361 2008-08-17  Bruno Haible  <bruno@clisp.org>
57362
57363         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
57364         * lib/glthread/thread.h: Provide Win32 specific implementation.
57365         * modules/thread (Files): Add lib/glthread/thread.c.
57366         (Depends-on): Add lock.
57367         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
57368
57369 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57370
57371         New module 'yield'.
57372         * modules/yield: New file.
57373         * lib/glthread/yield.h: New file.
57374         * m4/yield.m4: New file.
57375         * MODULES.html.sh (Multithreading): Add yield.
57376
57377 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57378
57379         New module 'thread'.
57380         * modules/thread: New file.
57381         * lib/glthread/thread.h: New file.
57382         * m4/thread.m4: New file.
57383         * MODULES.html.sh (Multithreading): Add thread.
57384
57385 2008-08-17  Bruno Haible  <bruno@clisp.org>
57386
57387         * lib/glthread/lock.h: Include <stdlib.h> always.
57388         * lib/glthread/tls.h: Likewise.
57389         * lib/glthread/cond.h: Likewise.
57390
57391 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57392
57393         New module 'cond'.
57394         * modules/cond: New file.
57395         * lib/glthread/cond.h: New file.
57396         * lib/glthread/cond.c: New file.
57397         * m4/cond.m4: New file.
57398         * MODULES.html.sh (Multithreading): Add cond.
57399
57400 2008-08-16  Eric Blake  <ebb9@byu.net>
57401
57402         c-stack: fix regression on Irix 5.3 from 2008-06-21
57403         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
57404         sa_sigaction...
57405         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
57406         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
57407         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
57408         * modules/signal (Makefile.am): Use the value.
57409         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
57410         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
57411         * doc/posix-headers/signal.texi (signal.h): Document this
57412         portability issue.
57413         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
57414         Reported by Tom G. Christensen.
57415
57416 2008-08-17  Bruno Haible  <bruno@clisp.org>
57417
57418         New module 'threadlib'.
57419         * modules/threadlib: New file.
57420         * lib/glthread/threadlib.c: New file, extracted from
57421         lib/glthread/lock.c.
57422         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
57423         functions.
57424         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
57425         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
57426         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
57427         macros.
57428         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
57429         (gl_DISABLE_THREADS): Remove macro.
57430         * modules/lock (Files): Remove build-aux/config.rpath.
57431         (Depends-on): Remove havelib. Add threadlib.
57432         (configure.ac-early): Remove section.
57433         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
57434         * modules/tls (Depends-on): Remove lock. Add threadlib.
57435         (Link): New section, copied from threadlib.
57436         * MODULES.html.sh (Multithreading): Add threadlib.
57437
57438 2008-08-14  Bruno Haible  <bruno@clisp.org>
57439
57440         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
57441         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
57442         glthread_rwlock_unlock, glthread_rwlock_destroy,
57443         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
57444         glthread_recursive_lock_destroy): Define as macros always.
57445         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
57446         glthread_lock_lock.
57447         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
57448         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
57449         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
57450         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
57451         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
57452         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
57453         (glthread_recursive_lock_lock_func): Renamed from
57454         glthread_recursive_lock_lock.
57455         (glthread_recursive_lock_unlock_func): Renamed from
57456         glthread_recursive_lock_unlock.
57457         (glthread_recursive_lock_destroy_func): Renamed from
57458         glthread_recursive_lock_destroy.
57459
57460 2008-08-14  Bruno Haible  <bruno@clisp.org>
57461
57462         * lib/glthread/lock.h: Renamed from lib/lock.h.
57463         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
57464         * lib/glthread/tls.h: Renamed from lib/tls.h.
57465         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
57466         * lib/fstrcmp.c: Update includes.
57467         * lib/strsignal.c: Update includes.
57468         * modules/lock (Files, Makefile.am): Update.
57469         (Include): Change to "glthread/lock.h".
57470         * modules/tls (Files, Makefile.am): Update.
57471         (Include): Change to "glthread/tls.h".
57472         * tests/test-lock.c: Update includes.
57473         * tests/test-tls.c: Update includes.
57474         * NEWS: Mention the renamed header files.
57475
57476 2008-08-11  Jim Meyering  <meyering@redhat.com>
57477
57478         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
57479
57480 2008-08-11  Eric Blake  <ebb9@byu.net>
57481
57482         test-c-stack: avoid C99-ism
57483         * tests/test-c-stack.c (main): Fix whitespace, move declaration
57484         before statement.
57485         Reported by Alain Guibert.
57486
57487 2008-08-10  Jim Meyering  <meyering@redhat.com>
57488
57489         ensure that return value of uinttostr et al are not ignored
57490         * lib/inttostr.h (__GNUC_PREREQ): Define.
57491         (__attribute_warn_unused_result__): Define.
57492         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
57493
57494 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
57495
57496         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
57497         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
57498
57499 2008-08-07  Jim Meyering  <meyering@redhat.com>
57500
57501         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
57502
57503         * modules/mkstemp (License): Relicense under LGPLv2+.
57504         * modules/tempname (License): Likewise.
57505
57506 2008-08-06  Bruno Haible  <bruno@clisp.org>
57507
57508         * lib/poll.c (poll): Further micro-optimization.
57509
57510 2008-08-06  Jim Meyering  <meyering@redhat.com>
57511
57512         inet_pton.c: use locale-independent tolower
57513         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
57514         (inet_pton6): Use c_tolower rather than tolower.
57515         * modules/inet_pton (Depends-on): Add c-ctype.
57516
57517 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
57518
57519         * lib/poll.c (poll): Avoid division when timeout is 0, cache
57520         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
57521
57522 2008-08-06  Jim Meyering  <meyering@redhat.com>
57523
57524         * modules/inet_pton (License): Relicense under LGPLv2+.
57525
57526 2008-08-03  Bruno Haible  <bruno@clisp.org>
57527
57528         Additional non-aborting API for lock and tls.
57529         * lib/lock.h: Include <errno.h>.
57530         (glthread_lock_init): New macro/function.
57531         (gl_lock_init): Define as wrapper around glthread_lock_init.
57532         (glthread_lock_lock): New macro/function.
57533         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
57534         (glthread_lock_unlock): New macro/function.
57535         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
57536         (glthread_lock_destroy): New macro/function.
57537         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
57538         (glthread_rwlock_init): New macro/function.
57539         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
57540         (glthread_rwlock_rdlock): New macro/function.
57541         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
57542         (glthread_rwlock_wrlock): New macro/function.
57543         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
57544         (glthread_rwlock_unlock): New macro/function.
57545         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
57546         (glthread_rwlock_destroy): New macro/function.
57547         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
57548         (glthread_recursive_lock_init): New macro/function.
57549         (gl_recursive_lock_init): Define as wrapper around
57550         glthread_recursive_lock_init.
57551         (glthread_recursive_lock_lock): New macro/function.
57552         (gl_recursive_lock_lock): Define as wrapper around
57553         glthread_recursive_lock_lock.
57554         (glthread_recursive_lock_unlock): New macro/function.
57555         (gl_recursive_lock_unlock): Define as wrapper around
57556         glthread_recursive_lock_unlock.
57557         (glthread_recursive_lock_destroy): New macro/function.
57558         (gl_recursive_lock_destroy): Define as wrapper around
57559         glthread_recursive_lock_destroy.
57560         (glthread_once): New macro/function.
57561         (gl_once): Define as wrapper around glthread_once.
57562         Update function declarations.
57563         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
57564         glthread_rwlock_init. Return error code.
57565         (glthread_rwlock_rdlock_multithreaded): Renamed from
57566         glthread_rwlock_rdlock. Return error code.
57567         (glthread_rwlock_wrlock_multithreaded): Renamed from
57568         glthread_rwlock_wrlock. Return error code.
57569         (glthread_rwlock_unlock_multithreaded): Renamed from
57570         glthread_rwlock_unlock. Return error code.
57571         (glthread_rwlock_destroy_multithreaded): Renamed from
57572         glthread_rwlock_destroy. Return error code.
57573         (glthread_recursive_lock_init_multithreaded): Renamed from
57574         glthread_recursive_lock_init. Return error code.
57575         (glthread_recursive_lock_lock_multithreaded): Renamed from
57576         glthread_recursive_lock_lock. Return error code.
57577         (glthread_recursive_lock_unlock_multithreaded): Renamed from
57578         glthread_recursive_lock_unlock. Return error code.
57579         (glthread_recursive_lock_destroy_multithreaded): Renamed from
57580         glthread_recursive_lock_destroy. Return error code.
57581         (glthread_once_call): Make static.
57582         (glthread_once_multithreaded): Renamed from glthread_once.
57583         * lib/tls.h: Include <errno.h>.
57584         (glthread_tls_key_init): New macro/function.
57585         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
57586         (glthread_tls_set): New macro/function.
57587         (gl_tls_set): Define as wrapper around glthread_tls_set.
57588         (glthread_tls_key_destroy): New macro/function.
57589         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
57590         Update function declarations.
57591         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
57592         glthread_tls_get.
57593         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
57594
57595 2008-08-04  Eric Blake  <ebb9@byu.net>
57596
57597         gnumakefile: use space, not TAB, outside of targets
57598         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
57599
57600 2008-08-02  Jim Meyering  <meyering@redhat.com>
57601
57602         getdate.y: avoid locale-dependent date parsing failure
57603         In Turkish locales, getdate would fail to recognize keywords
57604         containing a lowercase "i".  The solution is not to rely on
57605         locale-sensitive case-conversion.
57606         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
57607         (lookup_word): Use c_toupper in place of toupper.
57608         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
57609         Reported by Vefa Bicakci <bicave@superonline.com> in
57610         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
57611         * modules/getdate (Depends-on): Add c-ctype.
57612
57613 2008-08-02  Bruno Haible  <bruno@clisp.org>
57614
57615         * gnulib-tool (func_import): When updating or creating a .gitignore
57616         file, prepend each added line with a slash, and ignore leading slashes
57617         from the existing lines.
57618         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
57619
57620 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57621
57622         Portability fix for GNU make 3.79.1.
57623         * top/GNUmakefile: Avoid 'else COND', which older GNU make
57624         versions do not understand.
57625
57626 2008-08-01  Bruno Haible  <bruno@clisp.org>
57627
57628         Work around bug of HP-UX 10.20 cc with -0.0 literal.
57629         * tests/test-isnanf.h (zero): New variable.
57630         (main): Avoid literal -0.0f.
57631         * tests/test-isnand.h (zero): New variable.
57632         (main): Avoid literal -0.0.
57633         * tests/test-isnanl.h (zero): New variable.
57634         (main): Avoid literal -0.0L.
57635         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
57636         (test_float, test_double, test_long_double): Avoid literals -0.0f,
57637         -0.0, -0.0L.
57638         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
57639         (test_signbitd): Avoid literal -0.0.
57640         (test_signbitl): Avoid literal -0.0L.
57641         * tests/test-ceilf1.c (zero): New variable.
57642         (main): Avoid literal -0.0f.
57643         * tests/test-ceill.c (zero): New variable.
57644         (main): Avoid literal -0.0L.
57645         * tests/test-floorf1.c (zero): New variable.
57646         (main): Avoid literal -0.0f.
57647         * tests/test-floorl.c (zero): New variable.
57648         (main): Avoid literal -0.0L.
57649         * tests/test-roundf1.c (zero): New variable.
57650         (main): Avoid literal -0.0f.
57651         * tests/test-round1.c (zero): New variable.
57652         (main): Avoid literal -0.0.
57653         * tests/test-roundl.c (zero): New variable.
57654         (main): Avoid literal -0.0L.
57655         * tests/test-truncf1.c (zero): New variable.
57656         (main): Avoid literal -0.0f.
57657         * tests/test-trunc1.c (zero): New variable.
57658         (main): Avoid literal -0.0.
57659         * tests/test-truncl.c (zero): New variable.
57660         (main): Avoid literal -0.0L.
57661         * tests/test-frexp.c (zero): New variable.
57662         (main): Avoid literal -0.0.
57663         * tests/test-frexpl.c (zero): New variable.
57664         (main): Avoid literal -0.0L.
57665         * tests/test-ldexpl.c (zero): New variable.
57666         (main): Avoid literal -0.0L.
57667         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
57668         (zerod, zerol): New variables.
57669         (test_function): Avoid literals -0.0, -0.0L.
57670         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
57671         (zerod, zerol): New variables.
57672         (test_function): Avoid literals -0.0, -0.0L.
57673         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
57674         (zerod, zerol): New variables.
57675         (test_function): Avoid literals -0.0, -0.0L.
57676         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
57677         (zerod, zerol): New variables.
57678         (test_function): Avoid literals -0.0, -0.0L.
57679         * tests/test-strtod.c (zero): New variable.
57680         (main): Avoid literal -0.0.
57681         Reported by Jonathan C. Patschke <jp@centtech.com>.
57682
57683 2008-07-31  Jim Meyering  <meyering@redhat.com>
57684
57685         sha256.h: correct definition of SHA224_DIGEST_SIZE
57686         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
57687         Reported by Paulie Pena IV <paulie4@gmail.com>.
57688         Define as 224 / 8, rather than as a literal.
57689         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
57690         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
57691         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
57692
57693 2008-07-31  Bruno Haible  <bruno@clisp.org>
57694
57695         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
57696         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
57697         Reported by Jonathan Patschke <jp@centtech.com>.
57698
57699 2008-07-31  Bruno Haible  <bruno@clisp.org>
57700
57701         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
57702         Reported by Paolo Bonzini <bonzini@gnu.org>.
57703
57704 2008-07-30  Eric Blake  <ebb9@byu.net>
57705
57706         test-strtod: allow compilation without -lm
57707         * tests/test-strtod.c (main): Avoid link dependence on fabs.
57708         Reported by Dennis Clarke <blastwave@gmail.com>.
57709
57710 2008-07-28  Jim Meyering  <meyering@redhat.com>
57711
57712         bootstrap: work also when there are no .po files in po/
57713         * build-aux/bootstrap (update_po_files): Complete the change
57714         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
57715
57716 2008-07-27  Jim Meyering  <meyering@redhat.com>
57717
57718         * users.txt: Add zile.
57719
57720 2008-07-26  Ben Pfaff  <blp@gnu.org>
57721
57722         Add missing dependencies on new m4/exponent[fdl].m4 files.
57723         * modules/isnanf-nolibm: Add m4/exponentf.m4.
57724         * modules/isnand-nolibm: Add m4/exponentd.m4.
57725         * modules/isnanl-nolibm: Add m4/exponentl.m4.
57726         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
57727         m4/isnan[fdl].m4, because the macros actually used moved.
57728         Reported by Jim Meyering.
57729
57730 2008-07-14  Ben Pfaff  <blp@gnu.org>
57731
57732         Add isinf module.
57733         * lib/isinf.c: New file.
57734         * lib/math.in.h: Define isinf macro if we have decided to replace
57735         it.
57736         * m4/isinf.m4: New file.
57737         * m4/math_h.m4: Initialize and substitute variables for isinf
57738         module.
57739         * modules/isinf: New file.
57740         * modules/isinf-tests: New file.
57741         * modules/math: Add substitutions for new module.
57742         * tests/test-isinf.c: New file.
57743         * doc/posix-functions/isinf.texi: Mention new module.
57744         * MODULES.html.sh: Mention new module.
57745
57746 2008-07-14  Ben Pfaff  <blp@gnu.org>
57747
57748         Factor out some macros for use by additional modules.
57749         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
57750         exponentf.m4.
57751         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
57752         exponentd.m4.
57753         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
57754         file exponentl.m4.
57755         * m4/exponentf.m4: New file.
57756         * m4/exponentd.m4: New file.
57757         * m4/exponentl.m4: New file.
57758         * modules/isnanf: Use new file m4/exponentf.m4.
57759         * modules/isnand: Use new file m4/exponentd.m4.
57760         * modules/isnanl: Use new file m4/exponentl.m4.
57761
57762 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
57763
57764         mktime.c: normalize tp->tm_isdst value to -1/0/1.
57765         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
57766         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
57767         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
57768
57769         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
57770         readlink on platforms without PATH_MAX.
57771
57772 2008-07-21  Eric Blake  <ebb9@byu.net>
57773
57774         Warn, not fail, on stale version.
57775         * top/GNUmakefile (_curr-ver): Tone down previous patch.
57776
57777         Don't allow installation with stale devel version number.
57778         * top/GNUmakefile (_is-install-target): New macro.
57779         (_curr-ver): Forbid installation with stale version number.
57780
57781 2008-07-20  Bruno Haible  <bruno@clisp.org>
57782
57783         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
57784         TESTS_ENVIRONMENT.
57785         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
57786
57787 2008-07-20  Bruno Haible  <bruno@clisp.org>
57788
57789         * lib/c-stack.h (c_stack_action): Add documentation.
57790         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
57791
57792 2008-07-20  Bruno Haible  <bruno@clisp.org>
57793
57794         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
57795         * modules/readlink (License): Likewise.
57796
57797 2008-07-17  Eric Blake  <ebb9@byu.net>
57798
57799         * modules/c-stack (Link): Fix typo.
57800
57801         Make c-stack use libsigsegv, when available.
57802         * modules/c-stack (Depends-on): Add libsigsegv.
57803         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
57804         needed.
57805         * lib/c-stack.c (SIGSTKSZ): Define fallback.
57806         (segv_handler, overflow_handler, c_stack_action)
57807         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
57808         implementation when libsigsegv is available, but only when using
57809         the library is necessary.
57810         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
57811         comment, explaining why XSI check fails on Linux.
57812         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
57813         * tests/test-c-stack2.sh: Tweak skip message.
57814         * NEWS: Document new link-time requirements.
57815
57816 2008-07-16  Eric Blake  <ebb9@byu.net>
57817
57818         c-stack: Expose false positives when not using libsigsegv.
57819         * modules/c-stack-tests (Files): Expand test.
57820         * tests/test-c-stack.c (main): Add means to conditionally trigger
57821         non-overflow SIGSEGV.
57822         * tests/test-c-stack2.sh: New file.
57823
57824 2008-07-14  Bruno Haible  <bruno@clisp.org>
57825
57826         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
57827         Reported by Eric Blake.
57828
57829 2008-07-14  Sam Steingold  <sds@gnu.org>
57830             Bruno Haible  <bruno@clisp.org>
57831
57832         New module libsigsegv.
57833         * modules/libsigsegv: New file.
57834         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
57835         modifications.
57836         * MODULES.html.sh (Signal handling): New section.
57837
57838 2008-07-14  Bruno Haible  <bruno@clisp.org>
57839
57840         * modules/unictype/ctype-* (Description): Add the word "function".
57841         Improves the resulting doc in MODULES.html.
57842
57843 2008-07-12  Ben Pfaff  <blp@gnu.org>
57844
57845         Add longlong module.
57846         * modules/longlong: New file.
57847
57848 2008-07-12  Bruno Haible  <bruno@clisp.org>
57849
57850         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
57851         to empty.
57852
57853 2008-07-10  Ben Pfaff  <blp@gnu.org>
57854
57855         Add isnan module.
57856         * doc/posix-functions/isnan.texi: Mention new module.
57857         * lib/math.in.h: Define isnan macro if we have decided to replace
57858         it.
57859         * m4/isnan.m4: New file.
57860         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
57861         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
57862         also.
57863         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
57864         redundancy.
57865         * m4/math_h.m4: Initialize and substitute variables for isnan
57866         module.
57867         * modules/isnan: New file.
57868         * modules/isnan-tests: New file.
57869         * modules/math: Add substitutions for new module.
57870         * tests/test-isnan.c: New file.
57871         * MODULES.html.sh: Mention new module.
57872
57873 2008-07-10  Ben Pfaff  <blp@gnu.org>
57874
57875         Add isnanf module.
57876         * lib/isnanf.m4: New file.
57877         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
57878         (gl_HAVE_ISNANF_IN_LIBM): New macro.
57879         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
57880         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
57881         * modules/isnanf: New file.
57882         * modules/isnanf-tests: New file.
57883         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
57884         files.
57885         * tests/test-isnanf-nolibm.c: factored most of its contents into
57886         new file tests/test-isnanf.h.
57887         * tests/test-isnanf.h: New file.
57888         * tests/test-isnanf.c: New file.
57889         * MODULES.html.sh: Mention new module.
57890         * doc/glibc-functions/isnanf.texi: Mention new module.
57891
57892 2008-07-10  Ben Pfaff  <blp@gnu.org>
57893
57894         Add isnand module.
57895         * lib/isnand.h: New file.
57896         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
57897         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
57898         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
57899         functionality also.
57900         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
57901         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
57902         (gl_HAVE_ISNAND_IN_LIBM): New macro.
57903         * modules/isnand: New file.
57904         * modules/isnand-tests: New file.
57905         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
57906         files.
57907         * tests/test-isnand-nolibm.c: factored most of its contents into
57908         new file tests/test-isnand.h.
57909         * tests/test-isnand.h: New file.
57910         * tests/test-isnand.c: New file.
57911         * MODULES.html.sh: Mention new module.
57912
57913 2008-07-10  Ben Pfaff  <blp@gnu.org>
57914
57915         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
57916         * lib/isnand.h: Rename lib/isnand-nolibm.h.
57917         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
57918         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
57919         * modules/isnanf-nolibm: Update references to renamed files.
57920         * modules/isnand-nolibm: Likewise.
57921         * modules/isnanf-nolibm-tests: Likewise.
57922         * modules/isnand-nolibm-tests: Likewise.
57923         * lib/frexp.c: Likewise.
57924         * lib/isfinite.c: Likewise.
57925         * lib/signbitd.c: Likewise.
57926         * lib/signbitf.c: Likewise.
57927         * lib/vasnprintf.c: Likewise.
57928         * tests/test-ceilf1.c: Likewise.
57929         * tests/test-ceilf2.c: Likewise.
57930         * tests/test-floorf1.c: Likewise.
57931         * tests/test-floorf2.c: Likewise.
57932         * tests/test-frexp.c: Likewise.
57933         * tests/test-round1.c: Likewise.
57934         * tests/test-round2.c: Likewise.
57935         * tests/test-roundf1.c: Likewise.
57936         * tests/test-strtod.c: Likewise.
57937         * tests/test-trunc1.c: Likewise.
57938         * tests/test-trunc2.c: Likewise.
57939         * tests/test-truncf1.c: Likewise.
57940         * tests/test-truncf2.c: Likewise.
57941         * NEWS: Mention the renamed header files.
57942
57943 2008-07-11  Jim Meyering  <meyering@redhat.com>
57944
57945         vc-list-files: make the last-resort awk code more portable
57946         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
57947         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
57948         does not support it.
57949
57950 2008-07-10  Eric Blake  <ebb9@byu.net>
57951
57952         Work with tar's bootstrap.
57953         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
57954         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
57955         an m4 comment.
57956
57957 2008-07-09  Jim Meyering  <meyering@redhat.com>
57958
57959         posix-shell.m4: fix typo that made this test malfunction
57960         * m4/posix-shell.m4: Remove capitalization in variable name.
57961
57962 2008-07-08  Bruno Haible  <bruno@clisp.org>
57963
57964         * m4/onceonly.m4: Update comments.
57965         Reported by Ben Pfaff <blp@cs.stanford.edu>.
57966
57967 2008-07-04  Jim Meyering  <meyering@redhat.com>
57968
57969         * users.txt: Add vc-dwim.
57970         (bison, coreutils): Use the gitweb URL.
57971
57972 2008-07-03  Jim Meyering  <meyering@redhat.com>
57973
57974         * users.txt: Add libffcall.  From Sam Steingold.
57975
57976 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
57977
57978         getdate.y: do not ignore TZ with relative day, month or year offset
57979         * lib/getdate.y (get_date): Move the tz-handling block to follow the
57980         relative-date-handling, since otherwise, the latter would clobber the
57981         sole output (an updated Start value) of the tz-handling block.
57982         * tests/test-getdate.c: Tests for the fix
57983
57984 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57985
57986         Recognize 'foo_LIBRARIES += libgnu.a'.
57987         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
57988         makefile snippet has already specified an installation location,
57989         also using '+='.
57990
57991 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
57992
57993         getdate.y: factor out common actions
57994         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
57995         Use them in place of open-coded actions.
57996
57997 2008-07-01  Simon Josefsson  <simon@josefsson.org>
57998
57999         Add self-test for getdate module.
58000         * modules/getdate-tests: New file.
58001         * tests/test-getdate.c: New file.
58002
58003 2008-06-29  Bruno Haible  <bruno@clisp.org>
58004
58005         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
58006         .gitignore.
58007         Reported by Sylvain Beucler <beuc@beuc.net>.
58008
58009 2008-06-29  Bruno Haible  <bruno@clisp.org>
58010
58011         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
58012         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
58013
58014 2008-06-29  Bruno Haible  <bruno@clisp.org>
58015
58016         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
58017         EXTRA_DIST.
58018         Reported by Sylvain Beucler <beuc@beuc.net>.
58019
58020 2008-06-26  Jim Meyering  <meyering@redhat.com>
58021
58022         make several modules depend on the "open" module
58023         This provides slightly increased consistency when opening-for-write
58024         the name of a non-directory spelled with a trailing slash.
58025         * modules/chdir-safer: Likewise.
58026         * modules/chown: Likewise.
58027         * modules/clean-temp: Likewise.
58028         * modules/copy-file: Likewise.
58029         * modules/fchdir: Likewise.
58030         * modules/fcntl-safer: Likewise.
58031         * modules/pipe: Likewise.
58032         * modules/utime: Likewise.
58033         Prompted by Eric Blake and Bruno Haible.
58034
58035 2008-06-24  Andreas Schwab  <schwab@suse.de>
58036
58037         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
58038         literals can be used as initializers for global variables.
58039
58040 2008-06-23  Eric Blake  <ebb9@byu.net>
58041
58042         Make gnulib-cache.m4 easier to diff.
58043         * gnulib-tool (func_import): Allow newlines when reading cached
58044         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
58045
58046 2008-06-23  Bruno Haible  <bruno@clisp.org>
58047
58048         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
58049         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
58050         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
58051         m4/signalblocking.m4.
58052         (gl_PREREQ_SIGACTION): Don't invoke it.
58053         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
58054         gl_PREREQ_SIG_HANDLER_H.
58055         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
58056         Don't check for sigaction here.
58057
58058 2008-06-23  Bruno Haible  <bruno@clisp.org>
58059
58060         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
58061         (install_handlers): Don't set the SA_RESETHAND flag.
58062
58063 2008-06-23  Bruno Haible  <bruno@clisp.org>
58064
58065         * m4/sigaction.m4: Comment fixes.
58066         * lib/signal.in.h: Likewise.
58067
58068 2008-06-23  Eric Blake  <ebb9@byu.net>
58069
58070         Fix typo.
58071         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
58072
58073         Avoid SA_ namespace.
58074         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
58075         Reported by Ralf Wildenhues.
58076
58077         Avoid test failure due to SA_RESTORER.
58078         * tests/test-sigaction.c (SA_MASK): New macro.
58079         (main): Avoid failing due to extension flags being set.
58080         Reported by Jim Meyering.
58081
58082         Revert use of sig-handler.h in sigprocmask.c.
58083         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
58084         it requires the existence of struct sigaction.
58085         * lib/sigprocmask.c (handler_t): Restore typedef.
58086         (rpl_signal, old_handlers): Use local type.
58087
58088 2008-06-22  Bruno Haible  <bruno@clisp.org>
58089
58090         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
58091         conditionally.
58092         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
58093
58094 2008-06-22  Bruno Haible  <bruno@clisp.org>
58095
58096         * doc/posix-functions/siginterrupt.texi: Move note.
58097
58098         * lib/signal.in.h (SA_RESTART): New macro.
58099         * lib/sigaction.c: Update comment.
58100
58101         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
58102
58103         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
58104         (gl_PREREQ_SIGPROCMASK): Invoke it.
58105         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
58106
58107         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
58108
58109         * lib/sigprocmask.c: Update a comment.
58110
58111 2008-06-21  Eric Blake  <ebb9@byu.net>
58112
58113         Use sigaction module rather than signal().
58114         * modules/c-stack (Depends-on): Add sigaction.
58115         * modules/fatal-signal (Depends-on): Likewise.
58116         * modules/nanosleep (Depends-on): Likewise.
58117         * modules/sigprocmask (Files): Add sig-handler.h.
58118         * modules/sigaction (Files): Likewise.
58119         * lib/sig-handler.h (get_handler): New file, suggested by Paul
58120         Eggert.
58121         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
58122         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
58123         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
58124         (init_fatal_signals): Likewise.
58125         * lib/nanosleep.c (rpl_nanosleep): Likewise.
58126         (siginterrupt): Delete fallback.
58127         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
58128         instead.
58129         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
58130         siginterrupt.
58131
58132         New module sigaction, for mingw.
58133         * modules/sigaction: New module...
58134         * modules/sigaction-tests: ...and its test.
58135         * m4/sigaction.m4: New file.
58136         * lib/sigaction.c: Likewise.
58137         * tests/test-sigaction.c: Likewise.
58138         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
58139         * modules/signal (Makefile.am): Likewise.
58140         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
58141         needed.
58142         * doc/posix-headers/signal.texi (signal.h): Mention provided
58143         types.
58144         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
58145         that sigaction is preferable.
58146         * doc/posix-functions/sigaction.texi (sigaction): Mention new
58147         module.
58148         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
58149         sigaction.
58150
58151         Improve robustness of sigprocmask by overriding signal.
58152         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
58153         is in use.
58154         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
58155         (SIGKILL, SIGSTOP): Provide fallbacks.
58156         (rpl_signal): Implement.
58157         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
58158         signal can be called inside handlers.
58159
58160         Fix nanosleep module on mingw.
58161         * modules/nanosleep (Depends-on): Add sys_select.
58162         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
58163
58164         Fix licensing of sigprocmask.
58165         * modules/raise (License): Relicense as LGPL.
58166
58167 2008-06-21  Bruno Haible  <bruno@clisp.org>
58168
58169         * lib/propername.c (proper_name_utf8): Don't use the transliterated
58170         result if it contains question marks.
58171         Reported by Michael Geng <linux@michaelgeng.de>.
58172
58173 2008-06-19  Bruno Haible  <bruno@clisp.org>
58174
58175         Fix CVS-ism.
58176         * doc/gnulib.texi: Include updated-stamp.texi.
58177         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
58178         (updated-stamp.texi): New rule.
58179         (gnulib.info): Depend on it.
58180         * doc/.gitignore: Add updated-stamp.texi.
58181         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
58182
58183 2008-06-19  Bruno Haible  <bruno@clisp.org>
58184
58185         * doc/Makefile (gnulib.info): Update and simplify dependencies.
58186         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
58187
58188 2008-06-19  Eric Blake  <ebb9@byu.net>
58189
58190         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
58191         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
58192         Reported by Stepan Kasal.
58193
58194 2008-06-18  Bruno Haible  <bruno@clisp.org>
58195
58196         * lib/fatal-signal.c (init_fatal_signals): Add comment.
58197         Reported by Eric Blake.
58198
58199 2008-06-18  Eric Blake  <ebb9@byu.net>
58200
58201         Work around cygwin 1.5.25 strsignal bug.
58202         * tests/test-strsignal.c: Allow for const char *.
58203         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
58204
58205 2008-06-18  Simon Josefsson  <simon@josefsson.org>
58206
58207         * users.txt: Update URL to article and add author/date
58208         information.
58209
58210 2008-06-17  Bruno Haible  <bruno@clisp.org>
58211
58212         New macro gl_DISABLE_THREADS.
58213         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
58214         if the user did not pass --enable-threads or --disable-threads option.
58215         (gl_DISABLE_THREADS): New macro.
58216         Reported by Eric Blake <ebb9@byu.net>.
58217
58218 2008-06-17  Bruno Haible  <bruno@clisp.org>
58219
58220         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
58221         when the macro ignores it.
58222         Based on a patch by Eric Blake <ebb9@byu.net>.
58223
58224 2008-06-17  Bruno Haible  <bruno@clisp.org>
58225
58226         * modules/tls (License): Change to LGPLv2+.
58227         Reported by Eric Blake.
58228
58229 2008-06-17  Eric Blake  <ebb9@byu.net>
58230
58231         Simplify c-stack prerequisites.
58232         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
58233         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
58234         no longer requires <ucontext.h> to exist.  Optimize setrlimit
58235         check.
58236         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
58237         <sys/resource.h>.
58238
58239         Move c-stack test into testsuite.
58240         * modules/c-stack-tests: New file.
58241         * lib/c-stack.c [DEBUG]: Move test program...
58242         * tests/test-c-stack.c: ...into this new file.  Skip rather than
58243         fail test if sigaltstack is lacking.
58244         * tests/test-c-stack.sh: New driver file.
58245
58246 2008-06-16  Eric Blake  <ebb9@byu.net>
58247
58248         Use raise module consistently.
58249         * modules/fatal-signal (Depends-on): Add raise.
58250         * modules/sigprocmask (Depends-on): Likewise.
58251         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
58252         * lib/sigprocmask.c (sigprocmask): Likewise.
58253         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
58254         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
58255
58256         Fix compliance bug in sigpending.
58257         * lib/sigprocmask.c (sigpending): Return pending array via
58258         parameter, not return value.
58259
58260 2008-06-14  Eric Blake  <ebb9@byu.net>
58261
58262         Improve obstack-printf test code.
58263         * tests/test-obstack-printf.c (test_function): Fix comment, and
58264         simplify usage of obstack_* in macros.  Add a test for coverage.
58265         Reported by Bruno Haible.
58266
58267 2008-06-14  Bruno Haible  <bruno@clisp.org>
58268
58269         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
58270         array size as a constant, not as a const variable.
58271         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
58272         AC_USE_SYSTEM_EXTENSIONS.
58273         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
58274         Test whether the obstack_printf function actually exists.
58275         * modules/obstack-printf (Depends-on): Add extensions.
58276         (Include): Remove obstack.h.
58277         * modules/obstack-printf-posix (Depends-on): Add extensions.
58278         (Include): Remove obstack.h.
58279
58280 2008-06-13  Eric Blake  <ebb9@byu.net>
58281
58282         Add obstack-printf and obstack-printf-posix modules.
58283         * modules/obstack-printf: New file.
58284         * modules/obstack-printf-posix: Likewise.
58285         * MODULES.html.sh (Misc): Mention them.
58286         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
58287         Likewise.
58288         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
58289         Likewise.
58290         * modules/stdio (Makefile.am): Accomodate new modules.
58291         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
58292         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
58293         Declare.
58294         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
58295         functions.
58296         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
58297         (gl_REPLACE_OBSTACK_PRINTF): New macros
58298         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
58299         * tests/test-obstack-printf.c: New file.
58300         * modules/obstack-printf-tests: Likewise.
58301         * modules/obstack-printf-posix-tests: Likewise.
58302
58303 2008-06-11  Bruno Haible  <bruno@clisp.org>
58304
58305         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
58306         * lib/open.c: Include errno.h.
58307         (open): Fail when attempting to write to a file that has a trailing
58308         slash.
58309         * tests/test-open.c (main): Test against trailing slash bug.
58310         * doc/posix-functions/open.texi: Mention the trailing slash bug.
58311
58312 2008-06-10  Bruno Haible  <bruno@clisp.org>
58313
58314         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
58315         for $? to work inside the trap command, with various /bin/sh-s.
58316         * tests/test-vc-list-files-cvs.sh: Likewise.
58317
58318 2008-06-10  Bruno Haible  <bruno@clisp.org>
58319
58320         * lib/acl-internal.h: Don't include gettext.h here.
58321         * lib/set-mode-acl.c: Include gettext.h here.
58322         * lib/copy-acl.c: Likewise.
58323
58324 2008-06-10  Bruno Haible  <bruno@clisp.org>
58325
58326         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
58327         * lib/wait-process.c (wait_subprocess): Likewise.
58328         * lib/execute.h (execute): Add termsigp argument.
58329         * lib/execute.c (execute): Likewise.
58330         * lib/csharpcomp.c (compile_csharp_using_pnet,
58331         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
58332         * lib/csharpexec.c (execute_csharp_using_pnet,
58333         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
58334         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
58335         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
58336         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
58337         is_jikes_present): Update.
58338         * lib/javaexec.c (execute_java_class): Update.
58339         * lib/javaversion.c (execute_and_read_line): Update.
58340         * NEWS: Document the changes.
58341         Reported by Eric Blake.
58342
58343 2008-06-10  Eric Blake  <ebb9@byu.net>
58344
58345         Add missing include.
58346         * tests/test-strstr.c (includes): Add <signal.h>.
58347         * tests/test-strcasestr.c (includes): Likewise.
58348         * tests/test-memmem.c (includes): Likewise.
58349
58350 2008-06-10  Bruno Haible  <bruno@clisp.org>
58351
58352         * lib/wait-process.c (wait_subprocess): Add an assertion.
58353
58354 2008-06-10  Bruno Haible  <bruno@clisp.org>
58355
58356         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
58357
58358 2008-06-10  Bruno Haible  <bruno@clisp.org>
58359
58360         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
58361         using alarm().
58362         * tests/test-strcasestr.c (main): Likewise.
58363         * tests/test-strstr.c (main): Likewise.
58364
58365 2008-06-09  Bruno Haible  <bruno@clisp.org>
58366
58367         Work around the Solaris 10 ACE ACLs ABI change.
58368         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
58369         declare if ACL_NO_TRIVIAL is present.
58370         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
58371         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
58372         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
58373         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
58374         define if ACL_NO_TRIVIAL is present.
58375         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
58376         and use the current ABI.
58377         (file_has_acl): Use same #if condition as elsewhere.
58378         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
58379         in use, and use the current ABI.
58380         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
58381         Reported by Jim Meyering.
58382
58383 2008-06-09  Eric Blake  <ebb9@byu.net>
58384
58385         Work around environments that (stupidly) ignore SIGALRM.
58386         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
58387         before using alarm().
58388         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
58389         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
58390         Reported by Ian Beckwith <ianb@erislabs.net>.
58391
58392         Produce autobuild blurb earlier in log.
58393         * modules/autobuild (configure.ac-early): Move AB_INIT here.
58394
58395 2008-06-09  Jim Meyering  <meyering@redhat.com>
58396         and OndÅ™ej Vašík  <ovasik@redhat.com>
58397
58398         utimens.c: correct kernel bug work-around
58399         OndÅ™ej Vašík found that the invalid return value of 280 indicates
58400         failure, not success, and the kernel bug we're trying to work
58401         around affects not just the utimensat call, but also the fallback
58402         futimens call.
58403         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
58404         not success.
58405         [HAVE_FUTIMENS]: Use the same work-around, here.
58406
58407 2008-06-09  Jim Meyering  <meyering@redhat.com>
58408
58409         add more guards around definition of ACE_-related code
58410         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
58411         ALLOW and ACE_OWNER are also defined.
58412
58413 2008-06-08  Bruno Haible  <bruno@clisp.org>
58414
58415         * lib/acl-internal.h: Add me as co-author.
58416         * lib/file-has-acl.c: Likewise.
58417         * lib/set-mode-acl.c: Likewise.
58418         * lib/copy-acl.c: Likewise.
58419
58420 2008-06-08  Bruno Haible  <bruno@clisp.org>
58421
58422         Add support for AIX ACLs.
58423         * lib/acl-internal.h (acl_nontrivial): New declaration.
58424         * lib/file-has-acl.c (acl_nontrivial): New function.
58425         (file_has_acl): Add implementation using AIX 4 ACL API.
58426         * lib/set-mode-acl.c (qset_acl): Likewise.
58427         * lib/copy-acl.c (qcopy_acl): Likewise.
58428
58429 2008-06-08  Bruno Haible  <bruno@clisp.org>
58430
58431         Add support for HP-UX ACLs.
58432         * lib/acl-internal.h (acl_nontrivial): New declaration.
58433         * lib/file-has-acl.c (acl_nontrivial): New function.
58434         (file_has_acl): Add implementation using HP-UX 11 ACL API.
58435         * lib/set-mode-acl.c (qset_acl): Likewise.
58436         * lib/copy-acl.c (qcopy_acl): Likewise.
58437
58438 2008-06-08  Bruno Haible  <bruno@clisp.org>
58439
58440         Add support for Cygwin ACLs.
58441         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
58442         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
58443         the chmod_or_fchmod call.
58444         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
58445
58446 2008-06-08  Bruno Haible  <bruno@clisp.org>
58447
58448         Fix bug with setuid modes in Solaris 10+ code.
58449         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
58450         succeeded, when the mode contains some special bits.
58451
58452 2008-06-08  Bruno Haible  <bruno@clisp.org>
58453
58454         Add support for Solaris 7..10 ACLs.
58455         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
58456         declarations.
58457         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
58458         functions.
58459         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
58460         * lib/set-mode-acl.c (qset_acl): Likewise.
58461         * lib/copy-acl.c (qcopy_acl): Likewise.
58462
58463 2008-06-08  Bruno Haible  <bruno@clisp.org>
58464
58465         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
58466         declaration.
58467         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
58468         (acl_access_nontrivial): Remove MacOS X case.
58469         (file_has_acl): Use acl_extended_nontrivial.
58470         * lib/copy-acl.c (qcopy_acl): Likewise.
58471
58472 2008-06-08  Bruno Haible  <bruno@clisp.org>
58473
58474         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
58475
58476 2008-06-08  Jim Meyering  <meyering@redhat.com>
58477
58478         * modules/acl (Maintainer): Add Bruno Haible.
58479
58480 2008-06-07  Bruno Haible  <bruno@clisp.org>
58481
58482         Improve support for Tru64 ACLs.
58483         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
58484         ACL on OSF/1.
58485
58486 2008-06-07  Bruno Haible  <bruno@clisp.org>
58487
58488         Add support for MacOS X ACLs.
58489         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
58490         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
58491         * lib/set-mode-acl.c (qset_acl): Likewise.
58492         * lib/copy-acl.c (qcopy_acl): Likewise.
58493
58494 2008-06-07  Bruno Haible  <bruno@clisp.org>
58495
58496         Fix memory leak introduced on 2008-05-22.
58497         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
58498         use.
58499
58500 2008-06-07  Bruno Haible  <bruno@clisp.org>
58501
58502         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
58503         to construct an empty ACL.
58504
58505 2008-06-07  Bruno Haible  <bruno@clisp.org>
58506
58507         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
58508         precisely.
58509         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
58510
58511 2008-06-07  Bruno Haible  <bruno@clisp.org>
58512
58513         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
58514         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
58515
58516 2008-06-07  Bruno Haible  <bruno@clisp.org>
58517
58518         * doc/posix-functions/_setjmp.texi: Explain the use of this function
58519         regardless of POSIX.
58520         * doc/posix-functions/_longjmp.texi: Likewise.
58521         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
58522         SystemV platform in this case.
58523
58524 2008-06-06  Eric Blake  <ebb9@byu.net>
58525
58526         Document abort() bugs.
58527         * doc/posix-functions/abort.texi (abort): Mention anomalies.
58528
58529         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
58530         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
58531         sigsetjmp.
58532         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
58533         siglongjmp, but only as a macro.
58534         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
58535         is obsolete.
58536         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
58537
58538         Tweak documentation to cover cygwin argz bugs.
58539         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
58540         argz bug fix; no code change needed since no cygwin releases
58541         occurred between the last fix and the bug being tested.
58542         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
58543         module and recently fixed cygwin bugs.
58544         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
58545         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
58546         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
58547         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
58548         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
58549         Likewise.
58550         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
58551         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
58552         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
58553         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
58554         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
58555         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
58556         Likewise.
58557
58558         Avoid gcc warning on cygwin.
58559         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
58560         !ACL_NO_TRIVIAL]: Avoid unused variable.
58561
58562 2008-06-05  Eric Blake  <ebb9@byu.net>
58563
58564         Be tolerant of UNKNOWN version in gnulib-tool test dir.
58565         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
58566         git-version-gen fails to come up with a version.
58567         Reported by Simon Josefsson.
58568
58569 2008-06-05  Jim Meyering  <meyering@redhat.com>
58570             Paul Eggert  <eggert@cs.ucla.edu>
58571
58572         utimens.c: work around a probable Linux kernel bug
58573         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
58574         appears to be a kernel bug that causes utimensat to return 280
58575         instead of 0, indicating success.
58576
58577 2008-06-04  Bruno Haible  <bruno@clisp.org>
58578
58579         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
58580         2008-06-01 commit.
58581
58582 2008-06-04  Bruno Haible  <bruno@clisp.org>
58583
58584         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
58585         * lib/file-has-acl.c (acl_access_nontrivial): New function.
58586         (file_has_acl): Use it. Save errno afterwards.
58587         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
58588
58589 2008-06-03  Bruno Haible  <bruno@clisp.org>
58590
58591         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
58592         draft code. Simplify #ifs.
58593         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
58594         Put Solaris code after POSIX-draft code. Fix comments regarding
58595         Solaris 10, HP-UX. Mention Cygwin.
58596         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
58597
58598 2008-06-03  Eric Blake  <ebb9@byu.net>
58599
58600         Provide fallback for older kernels.
58601         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
58602         Provide runtime fallback if kernel lacks support.
58603         Reported by Mike Frysinger.
58604
58605 2008-06-02  Bruno Haible  <bruno@clisp.org>
58606
58607         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
58608         it exists.
58609
58610 2008-06-02  Bruno Haible  <bruno@clisp.org>
58611
58612         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
58613         * lib/copy-acl.c (qcopy_acl): Update comment.
58614
58615 2008-06-02  Bruno Haible  <bruno@clisp.org>
58616
58617         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
58618         like ACL APIs.
58619
58620 2008-06-02  Bruno Haible  <bruno@clisp.org>
58621
58622         * tests/test-file-has-acl.sh: Use different code for Cygwin.
58623         * tests/test-set-mode-acl.sh: Likewise.
58624         * tests/test-copy-acl.sh: Likewise.
58625         * tests/test-copy-file.sh: Likewise.
58626
58627 2008-06-02  Bruno Haible  <bruno@clisp.org>
58628
58629         * tests/test-file-has-acl.sh: Remove unused code.
58630
58631 2008-06-01  Bruno Haible  <bruno@clisp.org>
58632
58633         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
58634         (copy_acl): Just a wrapper around qcopy_acl that emits the error
58635         messages.
58636         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
58637
58638 2008-06-01  Bruno Haible  <bruno@clisp.org>
58639
58640         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
58641         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
58642         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
58643         APIs.
58644         * modules/acl-tests (configure.ac): Remove tests now contained in
58645         m4/acl.m4.
58646
58647 2008-06-02  Jim Meyering  <meyering@redhat.com>
58648
58649         announce-gen: use a better key-server host name
58650         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
58651         it may be more consistently reliable.  Suggested by Werner Koch
58652         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
58653
58654 2008-06-01  Bruno Haible  <bruno@clisp.org>
58655
58656         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
58657         Reported by Voroskoi Andras <voroskoi@gmail.com>.
58658
58659 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
58660
58661         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
58662
58663 2008-06-01  Bruno Haible  <bruno@clisp.org>
58664
58665         New ACL tests.
58666         * tests/test-file-has-acl.sh: New file.
58667         * tests/test-file-has-acl.c: New file.
58668         * tests/test-set-mode-acl.sh: New file.
58669         * tests/test-set-mode-acl.c: New file.
58670         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
58671         * tests/test-copy-acl.c: New file.
58672         * modules/acl-tests: New file, based on modules/copy-file-tests.
58673         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
58674         (Depends-on): Add acl-tests.
58675         (configure.ac): Remove checks.
58676         (Makefile.am): Don't create test-sameacls program here any more.
58677
58678 2008-06-01  Bruno Haible  <bruno@clisp.org>
58679
58680         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
58681         * tests/test-sameacls.c: Include progname.h.
58682         (main): Invoke set_program_name. Portability fixes for MacOS X,
58683         Solaris, HP-UX.
58684
58685 2008-06-01  Bruno Haible  <bruno@clisp.org>
58686
58687         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
58688         function.
58689         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
58690
58691 2008-06-01  Bruno Haible  <bruno@clisp.org>
58692
58693         * modules/rpmatch (Depends-on): Add strdup.
58694
58695 2008-06-01  Bruno Haible  <bruno@clisp.org>
58696
58697         * lib/pipe.c: Include unistd-safer.h.
58698         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
58699         * modules/pipe (Depends-on): Add unistd-safer.
58700
58701 2008-05-30  Simon Josefsson  <simon@josefsson.org>
58702
58703         * modules/autobuild (configure.ac): Call AB_INIT.
58704
58705 2008-05-30  Simon Josefsson  <simon@josefsson.org>
58706
58707         * tests/test-getaddrinfo.c: Don't print debug messages by default.
58708         Suggested by Bruno Haible <bruno@clisp.org>.
58709
58710 2008-05-30  Simon Josefsson  <simon@josefsson.org>
58711
58712         * tests/test-base64.c: Cast size_t to unsigned long when invoking
58713         printf.  Use %lu instead of %d.  Reported by Bruno Haible
58714         <bruno@clisp.org>.
58715
58716 2008-05-29  Eric Blake  <ebb9@byu.net>
58717
58718         Prefer new POSIX 200x interfaces over futimesat.
58719         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
58720         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
58721         when available.
58722         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
58723
58724 2008-05-28  Bruno Haible  <bruno@clisp.org>
58725
58726         * modules/stpcpy (License): Change to LGPLv2+.
58727         Requested by David Lutterkort <dlutter@redhat.com>.
58728
58729 2008-05-27  Bruno Haible  <bruno@clisp.org>
58730
58731         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
58732         current mingw.
58733         Reported by Jose E. Marchesi <jemarch@gnu.org>.
58734
58735 2008-05-27  Bruno Haible  <bruno@clisp.org>
58736
58737         * modules/iconv_open (Link): New section, from module 'iconv'.
58738         * modules/striconv (Link): Likewise.
58739         * modules/striconveh (Link): Likewise.
58740         * modules/xstriconv (Link): Likewise.
58741         * modules/unicodeio (Link): Likewise.
58742         * modules/propername (Link): Likewise.
58743         Reported by Jim Meyering.
58744
58745 2008-05-26  Jim Meyering  <meyering@redhat.com>
58746
58747         sha256: do not artificially restrict buffer length to be < 2^32
58748         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
58749         uint32_t to size_t.
58750         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
58751         to match.
58752
58753         avoid unaligned access errors, e.g., on sparc
58754         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
58755         direct access through a possibly-unaligned uint64* pointer.
58756         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
58757         direct access through a possibly-unaligned uint32* pointer.
58758         Prompted by this patch from Tom "spot" Callaway:
58759         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
58760
58761         sha512.c: fix typo in comment
58762         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
58763
58764 2008-05-25  Bruno Haible  <bruno@clisp.org>
58765
58766         * lib/set-mode-acl.c: Renamed from lib/acl.c.
58767         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
58768         (Makefile.am): Update lib_SOURCES.
58769
58770 2008-05-25  Bruno Haible  <bruno@clisp.org>
58771
58772         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
58773
58774 2008-05-25  Jim Meyering  <meyering@redhat.com>
58775
58776         useless-if-before-free: freed expr may have white-space differences
58777         * build-aux/useless-if-before-free: Recognize cases in which the
58778         freed expression differs from the tested one in embedded white
58779         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
58780         $1 was used, so we can't make any regexp shy.  Improved tests now
58781         detect this.
58782
58783         useless-if-before-free: accept white space in the expression.
58784         * build-aux/useless-if-before-free: For now, any white space
58785         in the expression must be identical in the free argument.
58786
58787         useless-if-before-free: efficiency tweak
58788         * build-aux/useless-if-before-free: Make the expression-matching
58789         regexp "shy".
58790         Make the *outer* regexp shy, not the expr-matching one.
58791
58792         update code-in-comment to accept cast of free arg
58793         * build-aux/useless-if-before-free: Update regexp.
58794
58795 2008-05-25  Bruno Haible  <bruno@clisp.org>
58796
58797         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
58798         * modules/copy-file-tests (Files, Makefile.am): Update.
58799         * tests/test-copy-file.c (func_test_copy): Update.
58800
58801 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
58802
58803         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
58804
58805 2008-05-23  Bruno Haible  <bruno@clisp.org>
58806
58807         Improve support for ACLs on OSF/1.
58808         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
58809         Remove fallback for unknown flavors of ACLs.
58810
58811 2008-05-22  Bruno Haible  <bruno@clisp.org>
58812
58813         Add support for ACLs on OSF/1.
58814         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
58815         replacements.
58816         (acl_free_text): New macro fallback.
58817         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
58818         acl_free.
58819         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
58820         acl_free_text function. Require AC_C_INLINE.
58821
58822 2008-05-22  Bruno Haible  <bruno@clisp.org>
58823
58824         Make copy_acl work on MacOS X 10.5.
58825         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
58826         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
58827         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
58828         If MODE_INSIDE_ACL, don't assume that every system has the same text
58829         representation for ACLs as FreeBSD.
58830         * lib/copy-acl.c (copy_acl): Add support for platforms with
58831         !MODE_INSIDE_ACL.
58832         * lib/file-has-acl.c (file_has_acl): Likewise.
58833         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
58834         FreeBSD, MacOS X, or IRIX, respectively.
58835
58836 2008-05-22  Bruno Haible  <bruno@clisp.org>
58837
58838         * lib/acl.h: Don't include <sys/acl.h>.
58839         (GETACLCNT): Move fallback to lib/acl-internal.h.
58840         * lib/acl-internal.h: Include <sys/acl.h> here.
58841         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
58842
58843 2008-05-22  Bruno Haible  <bruno@clisp.org>
58844
58845         Split off copy_acl function to separate file.
58846         * lib/copy-acl.c: New file, extracted from lib/acl.c.
58847         * lib/acl.c (copy_acl): Moved function to separate file.
58848         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
58849         * modules/acl (Files): Add lib/copy-acl.c.
58850         (Makefiles.am): Augment lib_SOURCES.
58851
58852 2008-05-22  Bruno Haible  <bruno@clisp.org>
58853
58854         * modules/copy-file-tests: New file.
58855         * tests/test-copy-file.sh: New file.
58856         * tests/test-copy-file.c: New file.
58857         * tests/test-copy-file-sameacls.c: New file.
58858
58859 2008-05-22  Eric Blake  <ebb9@byu.net>
58860
58861         Avoid gcc warning.
58862         * tests/test-memcmp.c (main): Pass NULL indirectly.
58863
58864 2008-05-21  Bruno Haible  <bruno@clisp.org>
58865
58866         Add reference doc about ACLs.
58867         * doc/acl-resources.txt: New file.
58868         * doc/acl-cygwin.txt: New file.
58869
58870 2008-05-21  Bruno Haible  <bruno@clisp.org>
58871
58872         Avoid one more warning from gcc.
58873         * lib/vasnprintf.c (IF_LINT): Update comments.
58874         (VASNPRINTF): Use it also for the 'prefix' array initializer.
58875
58876 2008-05-21  Jim Meyering  <meyering@redhat.com>
58877
58878         avoid a warning from gcc
58879         * lib/vasnprintf.c (IF_LINT): Define.
58880         (scale10_round_decimal_long_double):
58881         Use it to avoid a "may be used uninitialized" warning.
58882         (scale10_round_decimal_double): Likewise.
58883
58884 2008-05-21  Simon Josefsson  <simon@josefsson.org>
58885
58886         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
58887         declared.
58888
58889 2008-05-20  Bruno Haible  <bruno@clisp.org>
58890
58891         * tests/test-memcmp.c (main): Test also the sign of the result. Test
58892         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
58893
58894 2008-05-20  Simon Josefsson  <simon@josefsson.org>
58895
58896         * modules/memcmp-tests: New file.
58897         * tests/test-memcmp.c: New file.
58898
58899 2008-05-19  Bruno Haible  <bruno@clisp.org>
58900
58901         * modules/propername (Notice, configure.ac): Put quoted "..." into
58902         --keyword option.
58903         * lib/propername.h: Update comments accordingly.
58904         Reported by Eric Blake.
58905
58906 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
58907
58908         * modules/getpass-gnu (Depends-on): Add fseeko.
58909
58910 2008-05-19  Simon Josefsson  <simon@josefsson.org>
58911
58912         * modules/base64-tests: New file.
58913
58914 2008-05-19  Bo Borgerson <gigabo@gmail.com>
58915
58916         * lib/base64.c (base64_decode_ctx): If a decode context structure
58917         was passed in use it to ignore newlines.  If a context structure
58918         was _not_ passed in, continue to treat newlines as garbage (this
58919         is the historical behavior).  Formerly base64_decode.
58920         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
58921         takes a decode context structure.
58922         * lib/base64.h (base64_decode): Macro for four-argument calls.
58923         (base64_decode_alloc): Likewise.
58924         * lib/base64.c (base64_decode_ctx): If a decode context structure
58925         was passed in use it to ignore newlines.  If a context structure
58926         was _not_ passed in, continue to treat newlines as garbage (this
58927         is the historical behavior).  Formerly base64_decode.
58928         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
58929         takes a decode context structure.
58930         * lib/base64.h (base64_decode): Macro for four-argument calls.
58931         (base64_decode_alloc): Likewise.
58932
58933 2008-05-19  Jim Meyering  <meyering@redhat.com>
58934
58935         avoid a warning from gcc
58936         * lib/trim.c (IF_LINT): Define.
58937         (trim2): Use it to avoid a "may be used uninitialized" warning.
58938
58939         Fix doc typo.
58940         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
58941
58942 2008-05-19  Bruno Haible  <bruno@clisp.org>
58943
58944         * doc/glibc-functions/getpass.texi: Document limits of other
58945         implementations.
58946
58947 2008-05-19  Simon Josefsson  <simon@josefsson.org>
58948             Bruno Haible <bruno@clisp.org>
58949
58950         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
58951
58952 2008-05-18  Bruno Haible  <bruno@clisp.org>
58953
58954         * modules/propername: New file, from GNU gettext.
58955         * lib/propername.h: New file, from GNU gettext.
58956         * lib/propername.c: New file, from GNU gettext.
58957         * MODULES.html.sh (Internationalization functions): Add propername.
58958
58959 2008-05-16  Jim Meyering  <meyering@redhat.com>
58960             Bruno Haible  <bruno@clisp.org>
58961
58962         Avoid some warnings from "gcc -Wshadow".
58963         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
58964
58965 2008-05-15  Eric Blake  <ebb9@byu.net>
58966
58967         Extend previous patch to cygwin 1.7.0.
58968         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
58969         fast implementation in cygwin >= 1.7.0.
58970         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
58971         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
58972
58973 2008-05-15  Bruno Haible  <bruno@clisp.org>
58974
58975         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
58976         implementation in glibc >= 2.9.
58977         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
58978         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
58979
58980 2008-05-15  Bruno Haible  <bruno@clisp.org>
58981
58982         * MODULES.html.sh (Internationalization functions): Remove linebreak.
58983         (Unicode string functions): Add unilbrk/*.
58984         Reported by Karl Berry.
58985
58986 2008-05-15  Eric Blake  <ebb9@byu.net>
58987
58988         Fix violation of <stdbool.h> replacement in regex.
58989         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
58990         * lib/regexec.c (re_search_internal): Likewise.
58991         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
58992
58993 2008-05-15  Jim Meyering  <meyering@redhat.com>
58994
58995         avoid distracting test output when git or cvs is not found
58996         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
58997         * tests/test-vc-list-files-git.sh: Likewise.
58998
58999 2008-05-15  Eric Blake  <ebb9@byu.net>
59000
59001         Glibc finally accepted the memmem speedup code, bugzilla #5514.
59002         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
59003         glibc version.
59004         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
59005         * doc/posix-functions/strstr.texi (strstr): Likewise.
59006         * lib/str-two-way.h (MAX): Sychronize with glibc.
59007
59008 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
59009
59010         * lib/regcomp.c (optimize_utf8): Add a note on why we test
59011         opr.ctx_type.
59012         (calc_first): Initialize constraint field.
59013         (duplicate_node_closure): Use it instead of special casing ANCHORS.
59014         Fix grammar.
59015         (duplicate_node): Merge constraint field for all node types.
59016         (calc_eclosure_iter): Look at constraint field for all node types.
59017         * lib/regex_internal.c (create_cd_newstate): Don't look at
59018         opr.ctx_type.
59019
59020 2008-05-14  Bruno Haible  <bruno@clisp.org>
59021
59022         Help GCC to do better code generation.
59023         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
59024         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
59025         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
59026         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
59027         Declare with attribute 'malloc' if supported.
59028
59029 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
59030
59031         use "echo STR|wc -c" rather than unportable "expr length STR"
59032         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
59033         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
59034
59035 2008-05-14  Jim Meyering  <meyering@redhat.com>
59036
59037         use dd ibs=$n count=1 ... rather than less-portable head -c$n
59038         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
59039         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
59040         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
59041         via Collin Lasse.
59042
59043 2008-05-14  Eric Blake  <ebb9@byu.net>
59044
59045         Avoid quadratic growth in gl_LIBSOURCES.
59046         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
59047         Suggested by Bruno Haible.
59048
59049         Test xmemdup0.
59050         * modules/xmemdup0-tests: New file.
59051         * tests/test-xmemdup0.c: Likewise.
59052
59053 2008-05-13  Eric Blake  <ebb9@byu.net>
59054
59055         Split xmemdup0 into its own module.
59056         * modules/xmemdup0: New file.
59057         * lib/xmemdup0.h: Likewise.
59058         * lib/xmemdup0.c: Likewise.
59059         * MODULES.html.sh (Memory management functions): Add xmemdup0.
59060         * lib/xalloc.h (xmemdup0): Remove.
59061         * lib/xmalloc.c (xmemdup0): Likewise.
59062
59063 2008-05-13  Eric Blake  <ebb9@byu.net>
59064             Bruno Haible  <bruno@clisp.org>
59065
59066         Reduce number of forks required during autoconf.
59067         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
59068         and gl_LIBSOURCES_DIR.
59069         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
59070         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
59071         m4_syscmd per file.
59072         <m4_foreach_w>: Move...
59073         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
59074
59075 2008-05-13  Eric Blake  <ebb9@byu.net>
59076
59077         * gnulib-tool: Fix various comment typos.
59078
59079 2008-05-12  Bruno Haible  <bruno@clisp.org>
59080
59081         Tailor the linebreaking algorithm.
59082         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
59083
59084 2008-05-12  Bruno Haible  <bruno@clisp.org>
59085
59086         Update to Unicode 5.0.0.
59087         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
59088         LBP_JV, LBP_JT. Redistribute values.
59089         (unilbrk_table): Change size.
59090         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
59091         Unicode TR#14 rev. 22.
59092         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
59093         LBP_JV, LBP_JT. Redistribute values.
59094         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
59095         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
59096         Update.
59097         * lib/unilbrk/lbrkprop1.h: Regenerated.
59098         * lib/unilbrk/lbrkprop2.h: Regenerated.
59099         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
59100         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
59101         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
59102         Likewise.
59103         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
59104         Likewise.
59105         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
59106         result.
59107         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
59108         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
59109         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
59110         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
59111         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
59112         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
59113
59114 2008-05-11  Bruno Haible  <bruno@clisp.org>
59115
59116         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
59117
59118 2008-05-11  Bruno Haible  <bruno@clisp.org>
59119
59120         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
59121         * modules/unilbrk/gen-lbrk: New file.
59122
59123 2008-05-11  Bruno Haible  <bruno@clisp.org>
59124
59125         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
59126         * m4/sha512.m4 (gl_SHA512): Likewise.
59127
59128 2008-05-11  Jim Meyering  <meyering@redhat.com>
59129
59130         New modules: crypto/sha256, crypto/sha512 (from coreutils)
59131         * modules/crypto/sha256: New file.
59132         * modules/crypto/sha512: Likewise.
59133         * lib/sha256.c: Likewise.
59134         * lib/sha256.h: Likewise.
59135         * lib/sha512.c: Likewise.
59136         * lib/sha512.h: Likewise.
59137         * lib/u64.h: Likewise.
59138         * m4/sha256.m4: Likewise.
59139         * m4/sha512.m4: Likewise.
59140         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
59141
59142 2008-05-10  Bruno Haible  <bruno@clisp.org>
59143
59144         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
59145         (Input/Output <stdio.h>): Add xprintf.
59146         (Signal handling <signal.h>): Add strsignal.
59147         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
59148         (Core language properties): Add func.
59149         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
59150         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
59151         strings.
59152         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
59153         (Input/output): New section.
59154         (File system functions): Add openat-die, stat-macros.
59155         (Networking functions): Add sockets.
59156         (Unicode string functions): Add unictype/*.
59157         (Support for building libraries and executables): Add gperf.
59158         (Support for building documentation): Add agpl-3.0.
59159         (Misc): Add nocrash.
59160
59161 2008-05-10  Bruno Haible  <bruno@clisp.org>
59162
59163         * modules/unictype/gen-ctype: New file.
59164
59165 2008-05-10  Jim Meyering  <meyering@redhat.com>
59166
59167         Make chdir-safer.c more efficient on a system with no symlinks.
59168         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
59169         also if ELOOP is zero.  Suggested by Bruno Haible.
59170
59171         Make chdir-safer.c slightly safer.
59172         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
59173         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
59174
59175         Avoid compile failure on systems without ELOOP (like mingw).
59176         * lib/chdir-safer.c (ELOOP): Define if not already defined.
59177         Reported by Bruno Haible.
59178
59179 2008-05-10  Bruno Haible  <bruno@clisp.org>
59180
59181         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
59182         (is_utf8_encoding): Use a case-insensitive comparison.
59183         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
59184         streq.
59185
59186 2008-05-10  Bruno Haible  <bruno@clisp.org>
59187
59188         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
59189         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
59190         * lib/unilbrk/ulc-common.h (iconv_string_length,
59191         iconv_string_keeping_offsets): Remove declarations.
59192         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
59193         Don't include <iconv.h>, streq.h, xsize.h.
59194         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
59195         conversion.
59196         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
59197         <iconv.h>, streq.h, xsize.h.
59198         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
59199         conversion.
59200         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
59201         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
59202         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
59203         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
59204
59205 2008-05-10  Bruno Haible  <bruno@clisp.org>
59206
59207         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
59208         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
59209
59210         * modules/unilbrk/u32-width-linebreaks-tests: New file.
59211         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
59212
59213         * modules/unilbrk/u16-width-linebreaks-tests: New file.
59214         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
59215
59216         * modules/unilbrk/u8-width-linebreaks-tests: New file.
59217         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
59218
59219         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
59220         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
59221
59222         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
59223         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
59224
59225         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
59226         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
59227
59228         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
59229         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
59230
59231 2008-05-10  Bruno Haible  <bruno@clisp.org>
59232
59233         Split up 'linebreak' module.
59234         * lib/unilbrk.h: New file, based on lib/linebreak.h.
59235         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
59236         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
59237         modifications.
59238         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
59239         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
59240         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
59241         lib/linebreak.c.
59242         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
59243         lib/linebreak.c.
59244         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
59245         lib/linebreak.c.
59246         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
59247         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
59248         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
59249         lib/linebreak.c.
59250         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
59251         lib/linebreak.c.
59252         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
59253         lib/linebreak.c.
59254         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
59255         lib/linebreak.c.
59256         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
59257         lib/linebreak.c.
59258         * modules/unilbrk/base: New file.
59259         * modules/unilbrk/tables: New file.
59260         * modules/unilbrk/u8-possible-linebreaks: New file.
59261         * modules/unilbrk/u16-possible-linebreaks: New file.
59262         * modules/unilbrk/u32-possible-linebreaks: New file.
59263         * modules/unilbrk/ulc-common: New file.
59264         * modules/unilbrk/ulc-possible-linebreaks: New file.
59265         * modules/unilbrk/u8-width-linebreaks: New file.
59266         * modules/unilbrk/u16-width-linebreaks: New file.
59267         * modules/unilbrk/u32-width-linebreaks: New file.
59268         * modules/unilbrk/ulc-width-linebreaks: New file.
59269         * lib/linebreak.h: Remove file.
59270         * lib/linebreak.c: Remove file.
59271         * m4/linebreak.m4: Remove file.
59272         * modules/linebreak: Remove file.
59273         * NEWS: Mention the changes.
59274
59275 2008-05-09  Eric Blake  <ebb9@byu.net>
59276
59277         Add xmemdup0.
59278         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
59279         implementation.
59280         * lib/xmalloc.c (xmemdup0): New C implementation.
59281
59282 2008-05-08  Bruno Haible  <bruno@clisp.org>
59283
59284         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
59285
59286 2008-05-07  Eric Blake  <ebb9@byu.net>
59287
59288         Support cross-compilation of <wctype.h>.
59289         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
59290         AC_CACHE_CHECK.
59291
59292 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
59293
59294         * build-aux/vc-list-files: Add support for bzr.
59295
59296 2008-05-03  Jim Meyering  <meyering@redhat.com>
59297
59298         avoid failed assertion with tight malloc
59299         * tests/test-getndelim2.c: Correct an off-by-one assertion.
59300
59301 2008-05-03  Simon Josefsson  <simon@josefsson.org>
59302
59303         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
59304         are needed from arpa/inet.h.
59305         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
59306         Reported by Bruno Haible.
59307
59308 2008-05-02  Jim Meyering  <meyering@redhat.com>
59309
59310         avoid compilation error on FreeBSD 6
59311         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
59312
59313 2008-05-01  Jim Meyering  <meyering@redhat.com>
59314
59315         useless-if-before-free: correct --help's exit status description
59316         * build-aux/useless-if-before-free (usage): Like grep, exit 0
59317         for one or more matches, etc.  Reported by Bruno Haible.
59318
59319         vc-list-files: make the stand-alone gnulib test work
59320         * modules/vc-list-files-tests (configure.ac):
59321         Define and AC_SUBST abs_aux_dir.
59322         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
59323         $(abs_top_srcdir) to each script and having each of them
59324         duplicate the work of setting PATH, set PATH here, using
59325         the new variable, abs_aux_dir instead.
59326         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
59327         * tests/test-vc-list-files-git.sh: Likewise.
59328         Reported by Bruno Haible.
59329
59330 2008-05-01  Bruno Haible  <bruno@clisp.org>
59331
59332         * lib/getndelim2.c (getndelim2): Fix newsize computation during
59333         reallocation. Rename 'done' to 'found_delimiter'.
59334
59335 2008-05-01  Jim Meyering  <meyering@redhat.com>
59336
59337         vc-list-files: accommodate /bin/sh like the one from Solaris 10
59338         * build-aux/vc-list-files: Use `...`, not $(...).
59339
59340 2008-04-30  Jim Meyering  <meyering@redhat.com>
59341
59342         add tests for vc-list-files
59343         * modules/vc-list-files-tests: New module.
59344         * tests/test-vc-list-files-cvs.sh: New file.
59345         * tests/test-vc-list-files-git.sh: New file.
59346
59347         avoid a warning from gcc
59348         * lib/getndelim2.c (IF_LINT): Define.
59349         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
59350
59351         vc-list-files: work properly with build-aux/cvsu, too
59352         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
59353         to all cvs-based clauses.
59354
59355         vc-list-files: work properly in the CVS+awk case, too
59356         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
59357
59358         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
59359         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
59360         take more than one file argument, so .  Add quotes, just in case $dir
59361         ever contains a shell meta-character.  Prompted by Soren Hansen in
59362         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
59363
59364 2008-04-29  Eric Blake  <ebb9@byu.net>
59365
59366         Optimize getndelim2 to use block operations when possible.
59367         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
59368         freadseek, and memchr2.
59369         * lib/getndelim2.c (getndelim2): Use them for block reads.
59370
59371 2008-04-29  Bruno Haible  <bruno@clisp.org>
59372
59373         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
59374         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
59375         * modules/inet_ntop (Depends-on): Add extensions.
59376         * modules/inet_pton (Depends-on): Likewise.
59377         Reported by Simon Josefsson.
59378
59379 2008-04-29  Jim Meyering  <meyering@redhat.com>
59380
59381         When the is more than one match in a block, match all of them.
59382         * build-aux/useless-if-before-free: Iterate through each block
59383         until there are no more matches.
59384
59385         Fix broken useless-if-before-free script.
59386         * build-aux/useless-if-before-free: Fix typo: missing "?" after
59387         the expression to match cast of argument to free-like function.
59388
59389 2008-04-29  Eric Blake  <ebb9@byu.net>
59390
59391         Use new header.
59392         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
59393
59394 2008-04-29  Jim Meyering  <meyering@redhat.com>
59395
59396         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
59397         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
59398         by gnulib to exist and to declare e.g., inet_ntop.
59399         Don't include "inet_ntop.h", now removed.
59400
59401         * m4/arpa_inet_h.m4: Remove trailing blanks.
59402
59403 2008-04-29  Eric Blake  <ebb9@byu.net>
59404
59405         Silence valgrind on safe reads beyond potential array bounds.
59406         * lib/rawmemchr.valgrind: New file.
59407         * lib/strchrnul.valgrind: Likewise.
59408         * modules/rawmemchr (Files): Distribute new file.
59409         * modules/strchrnul (Files): Likewise.
59410         Suggested by Bruno Haible.
59411
59412 2008-04-29  Bruno Haible  <bruno@clisp.org>
59413
59414         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
59415         (inet_ntop, inet_pton): Change portability warning's wording.
59416         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
59417         Invoke gl_CHECK_NEXT_HEADERS.
59418         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
59419         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
59420         set ARPA_INET_H.
59421         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
59422         * modules/arpa_inet (Description): No longer only for systems that
59423         lack it.
59424         (Depends-on): Add include_next.
59425         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
59426         HAVE_ARPA_INET_H.
59427
59428 2008-04-29  Jim Meyering  <meyering@redhat.com>
59429
59430         * modules/mkdir (License): Re-license as LGPLv2+.
59431
59432 2008-04-29  Bruno Haible  <bruno@clisp.org>
59433
59434         * modules/rawmemchr (Maintainer): Set to Eric.
59435         * modules/strchrnul (Maintainer): Likewise.
59436
59437 2008-04-29  Simon Josefsson  <simon@josefsson.org>
59438
59439         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
59440         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
59441
59442         * modules/arpa_inet (arpa/inet.h): Use them.
59443
59444 2008-04-28  Eric Blake  <ebb9@byu.net>
59445
59446         Test getndelim2.
59447         * modules/getndelim2-tests: New file.
59448         * tests/test-getndelim2.c: Likewise.
59449         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
59450         stream.
59451         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
59452
59453         * MODULES.html.sh: Document new module.
59454
59455 2008-04-20  Bruno Haible  <bruno@clisp.org>
59456
59457         * lib/c-stack.c (die): Use raise.
59458         * modules/c-stack (Depends-on): Add raise.
59459
59460 2008-04-28  Bruno Haible  <bruno@clisp.org>
59461
59462         Expect rpmatch to be declared.
59463         * lib/yesno.c (rpmatch): Remove declaration.
59464
59465         Declare rpmatch.
59466         * lib/stdlib.in.h (rpmatch): New declaration.
59467         * lib/rpmatch.c: Include <stdlib.h> first.
59468         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
59469         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
59470         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
59471         HAVE_RPMATCH.
59472         * modules/rpmatch (Depends-on): Add stdlib, extensions.
59473         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
59474         (Include): Set to <stdlib.h>.
59475         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
59476         HAVE_RPMATCH.
59477         * NEWS: Document the change.
59478
59479 2008-04-28  Bruno Haible  <bruno@clisp.org>
59480
59481         Change rpmatch to use nl_langinfo when appropriate.
59482         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
59483         (N_): New macro.
59484         (localized_pattern): New function/macro.
59485         (try): Remove match, nomatch arguments. Copy the pattern into safe
59486         memory before caching it.
59487         (rpmatch): Use localized_pattern. Add translator comments.
59488         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
59489         Suggested by Eric Blake.
59490         * modules/rpmatch (Depends-on): Add stdbool.
59491
59492 2008-04-28  Eric Blake  <ebb9@byu.net>
59493
59494         Add rawmemchr module, matching glibc.
59495         * modules/string (Makefile.am): New indicator.
59496         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
59497         * lib/string.in.h (rawmemchr): Declare when appropriate.
59498         * modules/rawmemchr: New file.
59499         * m4/rawmemchr.m4: Likewise.
59500         * lib/rawmemchr.c: Likewise.
59501         * modules/rawmemchr-tests: Likewise.
59502         * tests/test-rawmemchr.c: Likewise.
59503         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
59504         module.
59505         * modules/strchrnul (Depends-on): Add rawmemchr.
59506         * lib/strchrnul.c (strchrnul): Optimize a corner case.
59507
59508         Whitespace cleanup.
59509         * tests/test-strchrnul.c: Reindent.
59510         * lib/strchrnul.c: Likewise.
59511
59512         Optimize and test strchrnul.
59513         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
59514         * modules/strchrnul-tests: New file.
59515         * tests/test-strchrnul.c: Likewise.
59516
59517         Remove intprops dependency.
59518         * modules/memchr (Depends-on): Remove intprops.
59519         * modules/memrchr (Depends-on): Likewise.
59520         * modules/memchr2 (Depends-on): Likewise.
59521         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
59522         * lib/memrchr.c (__memrchr): Likewise.
59523         * lib/memrchr2.c (memchr2): Likewise.
59524         Reported by Simon Josefsson.
59525
59526 2008-04-28  Simon Josefsson  <simon@josefsson.org>
59527
59528         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
59529         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
59530
59531 2008-04-28  Simon Josefsson  <simon@josefsson.org>
59532
59533         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
59534
59535         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
59536
59537         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
59538
59539         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
59540         declarations.
59541         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
59542
59543         * m4/inet_pton.m4: Don't check for header files.
59544
59545         * m4/inet_ntop.m4: Don't check for header files.
59546
59547 2008-04-28  Simon Josefsson  <simon@josefsson.org>
59548
59549         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
59550         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
59551         trigger for cygwin).
59552         Reported by Bruno Haible  <bruno@clisp.org>.
59553
59554 2008-04-28  Bruno Haible  <bruno@clisp.org>
59555
59556         * doc/posix-functions/strdup.texi: Mention mingw problem.
59557
59558 2008-04-27  Bruno Haible  <bruno@clisp.org>
59559
59560         * modules/stat-time-tests (Depends-on): Add sleep.
59561         * tests/test-stat-time.c (force_unlink): New function.
59562         (cleanup): Use it.
59563         (test_mtime): Remove the ctime related tests.
59564         (test_ctime): New function, containing the ctime related tests.
59565         (main): Call test_ctime, except on native Windows platforms.
59566
59567 2008-04-27  Bruno Haible  <bruno@clisp.org>
59568
59569         * lib/rpmatch.c (rpmatch): Add some comments.
59570         Reported by James Youngman <jay@gnu.org>.
59571
59572 2008-04-27  Bruno Haible  <bruno@clisp.org>
59573
59574         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
59575         quiet NaNs.
59576
59577 2008-04-27  Bruno Haible  <bruno@clisp.org>
59578
59579         Make test-yesno.sh work on mingw.
59580         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
59581         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
59582         (main): Set stdin to binary mode.
59583         * modules/yesno-tests (Depends-on): Add binary-io.
59584
59585 2008-04-27  Bruno Haible  <bruno@clisp.org>
59586
59587         Fix 'isfinite' on x86, x86_64, ia64 platforms.
59588         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
59589         argument that lie outside the IEEE 854 domain.
59590         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
59591         (gl_ISFINITE): Use it.
59592         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
59593
59594 2008-04-27  Bruno Haible  <bruno@clisp.org>
59595
59596         Allow local renaming in config.h.
59597         * lib/memrchr.c (memrchr): Don't undefine outside libc.
59598
59599 2008-04-27  Bruno Haible  <bruno@clisp.org>
59600
59601         * lib/memchr.c (__memchr): Change type of 'i'.
59602         * lib/memchr2.c (memchr2): Likewise.
59603
59604 2008-04-26  Eric Blake  <ebb9@byu.net>
59605         and Bruno Haible  <bruno@clisp.org>
59606
59607         Optimize and test memrchr.
59608         * modules/memrchr (Depends-on): Add intprops.
59609         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
59610         * modules/memrchr-tests: New file.
59611         * tests/test-memrchr.c: New file.
59612
59613 2008-04-26  Bruno Haible  <bruno@clisp.org>
59614
59615         Add tentative support for DragonFly BSD.
59616         * lib/stdio-impl.h: Add macros for DragonFly BSD.
59617         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
59618         fp.
59619         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
59620         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
59621         * lib/fpurge.c (fpurge): Likewise.
59622         * lib/freadable.c (freaadable): Likewise.
59623         * lib/freadahead.c (freadahead): Likewise.
59624         * lib/freading.c (freading): Likewise.
59625         * lib/freadptr.c (freadptr): Likewise.
59626         * lib/freadseek.c (freadptrinc): Likewise.
59627         * lib/fseeko.c (fseeko): Likewise.
59628         * lib/fseterr.c (fseterr): Likewise.
59629         * lib/fwritable.c (fwritable): Likewise.
59630         * lib/fwriting.c (fwriting): Likewise.
59631
59632 2008-04-26  Bruno Haible  <bruno@clisp.org>
59633
59634         * lib/stdio-impl.h: New file.
59635         * lib/fbufmode.c: Include stdio-impl.h.
59636         (fbufmode): Use fp_, remove redundant #defines.
59637         * lib/fflush.c: Include stdio-impl.h.
59638         (clear_ungetc_buffer): Remove redundant #defines.
59639         * lib/fpurge.c: Include stdio-impl.h.
59640         (fpurge): Remove redundant #defines.
59641         * lib/freadable.c: Include stdio-impl.h.
59642         (freadable): Remove redundant #defines.
59643         * lib/freadahead.c: Include stdio-impl.h.
59644         (freadahead): Remove redundant #defines.
59645         * lib/freading.c: Include stdio-impl.h.
59646         (freading): Remove redundant #defines.
59647         * lib/freadptr.c: Include stdio-impl.h.
59648         (freadptr): Remove redundant #defines.
59649         * lib/freadseek.c: Include stdio-impl.h.
59650         (freadptrinc): Remove redundant #defines.
59651         * lib/fseeko.c: Include stdio-impl.h.
59652         (rpl_fseeko): Remove redundant #defines.
59653         * lib/fseterr.c: Include stdio-impl.h.
59654         (fseterr): Remove redundant #defines.
59655         * lib/fwritable.c: Include stdio-impl.h.
59656         (fwritable: Remove redundant #defines.
59657         * lib/fwriting.c: Include stdio-impl.h.
59658         (fwriting): Remove redundant #defines.
59659         * modules/fbufmode (Files): Add lib/stdio-impl.h.
59660         * modules/fflush (Files): Likewise.
59661         * modules/fpurge (Files): Likewise.
59662         * modules/freadable (Files): Likewise.
59663         * modules/freadahead (Files): Likewise.
59664         * modules/freading (Files): Likewise.
59665         * modules/freadptr (Files): Likewise.
59666         * modules/freadseek (Files): Likewise.
59667         * modules/fseeko (Files): Likewise.
59668         * modules/fseterr (Files): Likewise.
59669         * modules/fwritable (Files): Likewise.
59670         * modules/fwriting (Files): Likewise.
59671
59672 2008-04-26  Bruno Haible  <bruno@clisp.org>
59673
59674         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
59675         restore_seek_optimization, update_fpos_cache): New functions, extracted
59676         from rpl_fflush.
59677         (rpl_fflush): Use them.
59678         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
59679         (gl_REPLACE_FFLUSH): Use it.
59680
59681 2008-04-26  Bruno Haible  <bruno@clisp.org>
59682
59683         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
59684         on Solaris.
59685         * tests/test-xstrtoimax.sh: Likewise.
59686         * tests/test-xstrtoumax.sh: Likewise.
59687         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
59688
59689 2008-04-26  Bruno Haible  <bruno@clisp.org>
59690
59691         * modules/memchr-tests: New file.
59692         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
59693
59694 2008-04-26  Eric Blake  <ebb9@byu.net>
59695             Bruno Haible  <bruno@clisp.org>
59696
59697         * lib/memchr.c: Include intprops.h.
59698         (__memchr): Optimize parallel detection of matching bytes. Rename local
59699         variables. Add explanatory comments.
59700
59701 2008-04-26  Bruno Haible  <bruno@clisp.org>
59702
59703         Fix module 'memchr', broken since 2000-10-28.
59704         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
59705
59706 2008-04-26  Bruno Haible  <bruno@clisp.org>
59707
59708         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
59709         comments.
59710
59711 2008-04-25  Eric Blake  <ebb9@byu.net>
59712
59713         Use native fstatat on cygwin 1.7.0.
59714         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
59715         first.
59716
59717 2008-04-23  Eric Blake  <ebb9@byu.net>
59718
59719         Improve memchr2 performance.
59720         * lib/memchr2.c (memchr2): Further optimize parallel detection of
59721         NUL bytes.
59722         * modules/memchr2 (Depends-on): Use intprops.h.
59723
59724 2008-04-23  Simon Josefsson  <simon@josefsson.org>
59725
59726         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
59727         an inline function instead of a CPP macro.  Patch by Ben Pfaff
59728         <blp@cs.stanford.edu>.
59729
59730 2008-04-23  Simon Josefsson  <simon@josefsson.org>
59731
59732         * lib/arpa_inet.in.h: New file.
59733
59734         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
59735         (Makefile.am): Sed in substitute header file.
59736
59737         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
59738         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
59739
59740         * modules/inet_ntop (configure.ac): Use
59741         gl_ARPA_INET_MODULE_INDICATOR.
59742
59743         * modules/inet_pton (configure.ac): Use
59744         gl_ARPA_INET_MODULE_INDICATOR.
59745
59746 2008-04-22  Jim Meyering  <meyering@redhat.com>
59747
59748         * modules/verify (License): Re-license as LGPLv2+.
59749
59750 2008-04-22  Simon Josefsson  <simon@josefsson.org>
59751
59752         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
59753         parameter to void* as per POSIX standard (MinGW uses char*).
59754
59755 2008-04-21  Bruno Haible  <bruno@clisp.org>
59756
59757         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
59758         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
59759         Define to replacements if REPLACE_ISWCNTRL is 1.
59760         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
59761         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
59762         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
59763         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
59764         what it fixes.
59765         * doc/posix-functions/iswalpha.texi: Likewise.
59766         * doc/posix-functions/iswblank.texi: Likewise.
59767         * doc/posix-functions/iswcntrl.texi: Likewise.
59768         * doc/posix-functions/iswdigit.texi: Likewise.
59769         * doc/posix-functions/iswgraph.texi: Likewise.
59770         * doc/posix-functions/iswlower.texi: Likewise.
59771         * doc/posix-functions/iswprint.texi: Likewise.
59772         * doc/posix-functions/iswpunct.texi: Likewise.
59773         * doc/posix-functions/iswspace.texi: Likewise.
59774         * doc/posix-functions/iswupper.texi: Likewise.
59775         * doc/posix-functions/iswxdigit.texi: Likewise.
59776         Reported by Alain Guibert.
59777
59778 2008-04-21  Bruno Haible  <bruno@clisp.org>
59779
59780         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
59781         Patch by Alain Guibert.
59782
59783 2008-04-21  Bruno Haible  <bruno@clisp.org>
59784
59785         Fix test failures on mingw.
59786         * tests/test-xstrtol.c (print_no_progname): New function.
59787         (main): Install it in error_print_progname hook.
59788         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
59789         * tests/test-xstrtoimax.sh: Likewise.
59790         * tests/test-xstrtoumax.sh: Likewise.
59791
59792 2008-04-21  Bruno Haible  <bruno@clisp.org>
59793
59794         Fix test failure on mingw.
59795         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
59796
59797 2008-04-21  Bruno Haible  <bruno@clisp.org>
59798
59799         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
59800         Actually assign a value.
59801
59802 2008-04-20  Bruno Haible  <bruno@clisp.org>
59803
59804         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
59805         take 2.
59806         * lib/canonicalize.c (canonicalize_file_name): Elide if the
59807         'canonicalize-lgpl' module is also used.
59808         * lib/canonicalize-lgpl.c: Undo last change.
59809         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
59810
59811 2008-04-20  Bruno Haible  <bruno@clisp.org>
59812
59813         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
59814         config.h. Provide _mkdir based fallback for mingw.
59815         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
59816         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
59817         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
59818         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
59819         rather than defining mkdir in config.h.
59820         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
59821         (gl_SYS_STAT_H_DEFAULTS): New macro.
59822         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
59823         HAVE_IO_H any more.
59824         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
59825         HAVE_DECL_MKDIR and HAVE_IO_H.
59826
59827 2008-04-20  Bruno Haible  <bruno@clisp.org>
59828
59829         * lib/isapipe.c: Port to native Windows platforms.
59830
59831 2008-04-20  Bruno Haible  <bruno@clisp.org>
59832
59833         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
59834
59835 2008-04-21  Eric Blake  <ebb9@byu.net>
59836
59837         Work around preprocessors that don't handle UINTMAX_MAX.
59838         * lib/memchr2.c (memchr2): Avoid embedded #if.
59839         Reported by Alain Guibert, fix suggested by Bruno Haible.
59840
59841 2008-04-21  Simon Josefsson  <simon@josefsson.org>
59842
59843         * doc/posix-functions/strftime.texi (strftime): Explain better
59844         Windows incompatibility.  Suggested by Micah Cowan
59845         <micah@cowan.name>.
59846
59847 2008-04-20  Bruno Haible  <bruno@clisp.org>
59848
59849         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
59850         unistr/u8-mblen.
59851
59852 2008-04-20  Bruno Haible  <bruno@clisp.org>
59853
59854         Fix test failure on platforms with non-GNU iconv.
59855         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
59856         (U_TO_U8): Use it, rather than u16_to_u8.
59857         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
59858         units at the end of the input string.
59859         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
59860
59861 2008-04-20  Bruno Haible  <bruno@clisp.org>
59862
59863         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
59864         when the resulting length is 0.
59865         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
59866
59867 2008-04-20  Bruno Haible  <bruno@clisp.org>
59868
59869         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
59870         works.
59871         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
59872
59873 2008-04-20  Bruno Haible  <bruno@clisp.org>
59874
59875         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
59876         * modules/tsearch-tests (configure.ac): Test for initstate function.
59877
59878 2008-04-20  Bruno Haible  <bruno@clisp.org>
59879
59880         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
59881         for nlink_t if missing.
59882         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
59883
59884 2008-04-19  Bruno Haible  <bruno@clisp.org>
59885
59886         Work around snprintf bug on Linux libc5.
59887         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
59888         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
59889         gl_SNPRINTF_SIZE1.
59890         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
59891         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
59892         that test failed.
59893         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
59894         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
59895         * modules/snprintf (Files): Add m4/printf.m4.
59896         * modules/vsnprintf (Files): Likewise.
59897         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
59898         * doc/posix-functions/vsnprintf.texi: Likewise.
59899
59900 2008-04-19  Bruno Haible  <bruno@clisp.org>
59901
59902         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
59903         from 0.0058 to less than 10^-7.
59904
59905 2008-04-19  Bruno Haible  <bruno@clisp.org>
59906
59907         Fix rounding when a precision is given.
59908         * lib/vasnprintf.c (is_borderline): New function.
59909         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
59910         9...9x.
59911         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
59912         %e, %g.
59913         * tests/test-vasprintf-posix.c (test_function): Likewise.
59914         * tests/test-snprintf-posix.h (test_function): Likewise.
59915         * tests/test-sprintf-posix.h (test_function): Likewise.
59916         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
59917         * tests/test-printf-posix.h (test_function): Likewise.
59918         * tests/test-printf-posix.output: Update.
59919         Reported by John Darrington <john@darrington.wattle.id.au> via
59920         Ben Pfaff <blp@cs.stanford.edu>.
59921
59922 2008-04-18  Simon Josefsson  <simon@josefsson.org>
59923
59924         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
59925         Suggested by Bruno Haible <bruno@clisp.org>.
59926
59927 2008-04-17  Bruno Haible  <bruno@clisp.org>
59928
59929         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
59930         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
59931         implementation.
59932         Patch by Bruce Merry <bmerry@gmail.com>.
59933
59934 2008-04-17  Simon Josefsson  <simon@josefsson.org>
59935
59936         * doc/posix-functions/strftime.texi (strftime): Mention that %e
59937         doesn't work under Windows.
59938
59939 2008-04-16  Bruno Haible  <bruno@clisp.org>
59940
59941         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
59942         New macros.
59943         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
59944         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
59945         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
59946         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
59947         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
59948         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
59949         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
59950         macros.
59951         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
59952         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
59953         Northern Sotho, Uighur.
59954
59955 2008-04-16  Bruno Haible  <bruno@clisp.org>
59956
59957         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
59958         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
59959         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
59960         Reported by Daniel Bergström <daniel@octocode.com>.
59961
59962 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
59963             Bruno Haible  <bruno@clisp.org>
59964
59965         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
59966         function.
59967         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
59968         New functions, mostly extracted from gl_locale_name_default.
59969         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
59970
59971 2008-04-16  Eric Blake  <ebb9@byu.net>
59972
59973         Adjust strtod detection to catch glibc 2.7 bug.
59974         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
59975         Reported by John Gatewood Ham.
59976
59977 2008-04-16  Bruno Haible  <bruno@clisp.org>
59978
59979         Add tentative support for Linux libc5.
59980         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
59981         * lib/fpurge.c (fpurge): Likewise.
59982         * lib/freadable.c (freadable): Likewise.
59983         * lib/freadahead.c (freadahead): Likewise.
59984         * lib/freading.c (freading): Likewise.
59985         * lib/freadptr.c (freadptr): Likewise.
59986         * lib/freadseek.c (freadptrinc): Likewise.
59987         * lib/fseeko.c (rpl_fseeko): Likewise.
59988         * lib/fseterr.c (fseterr): Likewise.
59989         * lib/fwritable.c (fwritable): Likewise.
59990         * lib/fwriting.c (fwriting): Likewise.
59991         Reported by Alain Guibert <alguibert+bts@free.fr>.
59992
59993 2008-04-15  Bruno Haible  <bruno@clisp.org>
59994
59995         * modules/mathl (configure.ac): Define module indicator.
59996
59997 2008-04-15  Bruno Haible  <bruno@clisp.org>
59998
59999         * lib/logl.c (logl): Remove unused variables.
60000
60001 2008-04-15  Bruno Haible  <bruno@clisp.org>
60002
60003         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
60004         fails.
60005
60006 2008-04-15  Bruno Haible  <bruno@clisp.org>
60007
60008         * lib/trim.c (trim2): Fix argument of isspace() macro.
60009
60010 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
60011
60012         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
60013         to 0.
60014         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
60015
60016 2008-04-14  Bruno Haible  <bruno@clisp.org>
60017
60018         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
60019         AC_LANG_PROGRAM argument.
60020         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
60021         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
60022         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
60023         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
60024         * m4/math_h.m4 (gl_MATH_H): Likewise.
60025         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
60026         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
60027         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
60028         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
60029         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
60030         * m4/regex.m4 (gl_REGEX): Likewise.
60031         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
60032         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
60033         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
60034         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
60035         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
60036         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
60037         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
60038         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
60039
60040 2008-04-14  Jim Meyering  <meyering@redhat.com>
60041
60042         test-strtod: fix typos: s/abs/fabs/
60043         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
60044
60045 2008-04-13  Bruno Haible  <bruno@clisp.org>
60046
60047         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
60048         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
60049         module is also used and while not building the reloc-wrapper.
60050
60051 2008-04-13  Bruno Haible  <bruno@clisp.org>
60052
60053         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
60054
60055 2008-04-13  Bruno Haible  <bruno@clisp.org>
60056
60057         Fix AIX compilation failure introduced on 2008-04-02.
60058         * tests/test-frexp.c (exp): Undefine before redefining.
60059         * tests/test-frexpl.c (exp): Likewise.
60060
60061 2008-04-13  Bruno Haible  <bruno@clisp.org>
60062
60063         Work around a HP-UX stdio bug.
60064         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
60065         * tests/test-ftello.c (main): Likewise.
60066         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
60067         * doc/posix-functions/ftello.texi: Likewise.
60068
60069 2008-04-13  Bruno Haible  <bruno@clisp.org>
60070
60071         Make test-signbit pass on HP-UX/hppa.
60072         * tests/test-signbit.c (minus_zerol): New variable.
60073         (test_signbitl): Use it.
60074
60075 2008-04-13  Bruno Haible  <bruno@clisp.org>
60076
60077         Make truncl work on OSF/1 4.0.
60078         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
60079         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
60080         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
60081         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
60082         HAVE_DECL_TRUNCL.
60083         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
60084         HAVE_DECL_TRUNCL.
60085         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
60086
60087 2008-04-13  Bruno Haible  <bruno@clisp.org>
60088
60089         * lib/unictype.h: Remove trailing comma from enumeration definitions.
60090
60091 2008-04-13  Bruno Haible  <bruno@clisp.org>
60092
60093         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
60094         expression, so as to avoid HP-UX 11 cc compiler bug.
60095
60096 2008-04-13  Bruno Haible  <bruno@clisp.org>
60097
60098         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
60099
60100 2008-04-13  Bruno Haible  <bruno@clisp.org>
60101
60102         * lib/git-merge-changelog.c: Remove empty declaration outside of
60103         functions.
60104
60105 2008-04-13  Bruno Haible  <bruno@clisp.org>
60106
60107         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
60108
60109 2008-04-13  Bruno Haible  <bruno@clisp.org>
60110
60111         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
60112         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
60113         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
60114         also if it exists but lacks definitions of the SHUT_* macros.
60115         * modules/sys_socket (Description): Update.
60116         Reported by Elbert Pol <e.pol@chello.nl>.
60117
60118 2008-04-13  Bruno Haible  <bruno@clisp.org>
60119
60120         * lib/localcharset.c (OS2): Don't redefine if already defined.
60121         Reported by Elbert Pol <e.pol@chello.nl>.
60122
60123 2008-04-13  Bruno Haible  <bruno@clisp.org>
60124
60125         * lib/binary-io.h [__EMX__]: Include <io.h>.
60126         Reported by Elbert Pol <e.pol@chello.nl>.
60127
60128 2008-04-12  Bruno Haible  <bruno@clisp.org>
60129
60130         * lib/fpucw.h: Enable the definitions also for x86_64.
60131         Needed for NetBSD/x86_64.
60132         Reported by Thomas Klausner <tk@giga.or.at>.
60133
60134 2008-04-12  Bruno Haible  <bruno@clisp.org>
60135
60136         * tests/test-strtod.c: Include isnand.h.
60137         (main): Use isnand instead of isnan.
60138         Reported by Jim Meyering.
60139
60140 2008-04-12  Bruno Haible  <bruno@clisp.org>
60141
60142         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
60143         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
60144
60145 2008-04-12  Jim Meyering  <meyering@redhat.com>
60146
60147         * m4/math_h.m4 (gl_MATH_H): Fix typos.
60148
60149 2008-04-12  Bruno Haible  <bruno@clisp.org>
60150
60151         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
60152         Reported by Elbert Pol <e.pol@chello.nl>.
60153
60154 2008-04-12  Eric Blake  <ebb9@byu.net>
60155
60156         Work around Solaris 10 math.h bug.
60157         * m4/math_h.m4 (gl_MATH_H): Check for bug.
60158         (gl_MATH_H_DEFAULTS): Set up default.
60159         * modules/math (Makefile.am): Replace new indicators.
60160         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
60161         * tests/test-math.c (main): Test this.
60162         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
60163         * doc/posix-headers/math.texi (math.h): Mention bug.
60164         Reported by Nelson H. F. Beebe and Jim Meyering.
60165
60166 2008-04-11  Bruno Haible  <bruno@clisp.org>
60167
60168         Adapt to future versions of Apple GCC.
60169         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
60170         Reported by Peter O'Gorman <peter@pogma.com>.
60171
60172 2008-04-11  Bruno Haible  <bruno@clisp.org>
60173
60174         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
60175
60176 2008-04-11  Bruno Haible  <bruno@clisp.org>
60177
60178         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
60179
60180         * modules/getaddrinfo-tests (Makefile.am): Define
60181         test_getaddrinfo_LDADD.
60182
60183 2008-04-11  Bruno Haible  <bruno@clisp.org>
60184
60185         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
60186         (init): Fix syntax error.
60187         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
60188         is declared.
60189
60190 2008-04-11  Bruno Haible  <bruno@clisp.org>
60191
60192         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
60193         * modules/glob (Depends-on): Add stdbool.
60194
60195 2008-04-11  Bruno Haible  <bruno@clisp.org>
60196
60197         * lib/trim.c: Include <string.h>.
60198
60199 2008-04-11  Eric Blake  <ebb9@byu.net>
60200
60201         Avoid compile failure on OS/2.
60202         * lib/regex_internal.h (internal_function): Disable optimization
60203         on OS/2 (__EMX__), where it caused compiler error.
60204         Reported by Elbert Pol.
60205
60206 2008-04-11  Bruno Haible  <bruno@clisp.org>
60207
60208         Flush the standard error stream before aborting. Needed on mingw.
60209         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
60210         * tests/test-array_list.c (ASSERT): Likewise.
60211         * tests/test-array_oset.c (ASSERT): Likewise.
60212         * tests/test-avltree_list.c (ASSERT): Likewise.
60213         * tests/test-avltree_oset.c (ASSERT): Likewise.
60214         * tests/test-avltreehash_list.c (ASSERT): Likewise.
60215         * tests/test-binary-io.c (ASSERT): Likewise.
60216         * tests/test-byteswap.c (ASSERT): Likewise.
60217         * tests/test-c-ctype.c (ASSERT): Likewise.
60218         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
60219         * tests/test-c-strcasestr.c (ASSERT): Likewise.
60220         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
60221         * tests/test-c-strstr.c (ASSERT): Likewise.
60222         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
60223         * tests/test-canonicalize.c (ASSERT): Likewise.
60224         * tests/test-carray_list.c (ASSERT): Likewise.
60225         * tests/test-ceilf1.c (ASSERT): Likewise.
60226         * tests/test-ceilf2.c (ASSERT): Likewise.
60227         * tests/test-ceill.c (ASSERT): Likewise.
60228         * tests/test-count-one-bits.c (ASSERT): Likewise.
60229         * tests/test-fbufmode.c (ASSERT): Likewise.
60230         * tests/test-fflush2.c (ASSERT): Likewise.
60231         * tests/test-floorf1.c (ASSERT): Likewise.
60232         * tests/test-floorf2.c (ASSERT): Likewise.
60233         * tests/test-floorl.c (ASSERT): Likewise.
60234         * tests/test-fopen.c (ASSERT): Likewise.
60235         * tests/test-fpending.c (ASSERT): Likewise.
60236         * tests/test-fprintf-posix.c (ASSERT): Likewise.
60237         * tests/test-fpurge.c (ASSERT): Likewise.
60238         * tests/test-freadable.c (ASSERT): Likewise.
60239         * tests/test-freadahead.c (ASSERT): Likewise.
60240         * tests/test-freading.c (ASSERT): Likewise.
60241         * tests/test-freadptr.c (ASSERT): Likewise.
60242         * tests/test-freadptr2.c (ASSERT): Likewise.
60243         * tests/test-freadseek.c (ASSERT): Likewise.
60244         * tests/test-freopen.c (ASSERT): Likewise.
60245         * tests/test-frexp.c (ASSERT): Likewise.
60246         * tests/test-frexpl.c (ASSERT): Likewise.
60247         * tests/test-fseek.c (ASSERT): Likewise.
60248         * tests/test-fseeko.c (ASSERT): Likewise.
60249         * tests/test-fstrcmp.c (ASSERT): Likewise.
60250         * tests/test-ftell.c (ASSERT): Likewise.
60251         * tests/test-ftello.c (ASSERT): Likewise.
60252         * tests/test-func.c (ASSERT): Likewise.
60253         * tests/test-fwritable.c (ASSERT): Likewise.
60254         * tests/test-fwriting.c (ASSERT): Likewise.
60255         * tests/test-getdelim.c (ASSERT): Likewise.
60256         * tests/test-getline.c (ASSERT): Likewise.
60257         * tests/test-i-ring.c (ASSERT): Likewise.
60258         * tests/test-iconv-utf.c (ASSERT): Likewise.
60259         * tests/test-iconv.c (ASSERT): Likewise.
60260         * tests/test-isfinite.c (ASSERT): Likewise.
60261         * tests/test-isnand.c (ASSERT): Likewise.
60262         * tests/test-isnanf.c (ASSERT): Likewise.
60263         * tests/test-isnanl.h (ASSERT): Likewise.
60264         * tests/test-ldexpl.c (ASSERT): Likewise.
60265         * tests/test-linked_list.c (ASSERT): Likewise.
60266         * tests/test-linkedhash_list.c (ASSERT): Likewise.
60267         * tests/test-localename.c (ASSERT): Likewise.
60268         * tests/test-lseek.c (ASSERT): Likewise.
60269         * tests/test-mbscasecmp.c (ASSERT): Likewise.
60270         * tests/test-mbscasestr1.c (ASSERT): Likewise.
60271         * tests/test-mbscasestr2.c (ASSERT): Likewise.
60272         * tests/test-mbscasestr3.c (ASSERT): Likewise.
60273         * tests/test-mbscasestr4.c (ASSERT): Likewise.
60274         * tests/test-mbschr.c (ASSERT): Likewise.
60275         * tests/test-mbscspn.c (ASSERT): Likewise.
60276         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
60277         * tests/test-mbspbrk.c (ASSERT): Likewise.
60278         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
60279         * tests/test-mbsrchr.c (ASSERT): Likewise.
60280         * tests/test-mbsspn.c (ASSERT): Likewise.
60281         * tests/test-mbsstr1.c (ASSERT): Likewise.
60282         * tests/test-mbsstr2.c (ASSERT): Likewise.
60283         * tests/test-mbsstr3.c (ASSERT): Likewise.
60284         * tests/test-memchr2.c (ASSERT): Likewise.
60285         * tests/test-memmem.c (ASSERT): Likewise.
60286         * tests/test-open.c (ASSERT): Likewise.
60287         * tests/test-printf-frexp.c (ASSERT): Likewise.
60288         * tests/test-printf-frexpl.c (ASSERT): Likewise.
60289         * tests/test-printf-posix.c (ASSERT): Likewise.
60290         * tests/test-quotearg.c (ASSERT): Likewise.
60291         * tests/test-rbtree_list.c (ASSERT): Likewise.
60292         * tests/test-rbtree_oset.c (ASSERT): Likewise.
60293         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
60294         * tests/test-round1.c (ASSERT): Likewise.
60295         * tests/test-roundf1.c (ASSERT): Likewise.
60296         * tests/test-roundl.c (ASSERT): Likewise.
60297         * tests/test-signbit.c (ASSERT): Likewise.
60298         * tests/test-sleep.c (ASSERT): Likewise.
60299         * tests/test-snprintf-posix.c (ASSERT): Likewise.
60300         * tests/test-snprintf.c (ASSERT): Likewise.
60301         * tests/test-sprintf-posix.c (ASSERT): Likewise.
60302         * tests/test-stat-time.c (ASSERT): Likewise.
60303         * tests/test-strcasestr.c (ASSERT): Likewise.
60304         * tests/test-strerror.c (ASSERT): Likewise.
60305         * tests/test-striconv.c (ASSERT): Likewise.
60306         * tests/test-striconveh.c (ASSERT): Likewise.
60307         * tests/test-striconveha.c (ASSERT): Likewise.
60308         * tests/test-strsignal.c (ASSERT): Likewise.
60309         * tests/test-strstr.c (ASSERT): Likewise.
60310         * tests/test-strtod.c (ASSERT): Likewise.
60311         * tests/test-trunc1.c (ASSERT): Likewise.
60312         * tests/test-trunc2.c (ASSERT): Likewise.
60313         * tests/test-truncf1.c (ASSERT): Likewise.
60314         * tests/test-truncf2.c (ASSERT): Likewise.
60315         * tests/test-truncl.c (ASSERT): Likewise.
60316         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
60317         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
60318         * tests/test-vasnprintf.c (ASSERT): Likewise.
60319         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
60320         * tests/test-vasprintf.c (ASSERT): Likewise.
60321         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
60322         * tests/test-vprintf-posix.c (ASSERT): Likewise.
60323         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
60324         * tests/test-vsnprintf.c (ASSERT): Likewise.
60325         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
60326         * tests/test-wcwidth.c (ASSERT): Likewise.
60327         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
60328         * tests/test-xprintf-posix.c (ASSERT): Likewise.
60329         * tests/test-xvasprintf.c (ASSERT): Likewise.
60330         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
60331         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
60332         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
60333         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
60334         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
60335         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
60336         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
60337         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
60338         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
60339         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
60340         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
60341         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
60342         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
60343         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
60344         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
60345         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
60346         * tests/unictype/test-block_list.c (ASSERT): Likewise.
60347         * tests/unictype/test-block_of.c (ASSERT): Likewise.
60348         * tests/unictype/test-block_test.c (ASSERT): Likewise.
60349         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
60350         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
60351         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
60352         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
60353         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
60354         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
60355         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
60356         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
60357         * tests/unictype/test-combining.c (ASSERT): Likewise.
60358         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
60359         * tests/unictype/test-digit.c (ASSERT): Likewise.
60360         * tests/unictype/test-mirror.c (ASSERT): Likewise.
60361         * tests/unictype/test-numeric.c (ASSERT): Likewise.
60362         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
60363         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
60364         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
60365         * tests/unictype/test-scripts.c (ASSERT): Likewise.
60366         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
60367         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
60368         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
60369         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
60370         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
60371         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
60372         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
60373         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
60374         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
60375         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
60376         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
60377         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
60378         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
60379         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
60380         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
60381         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
60382         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
60383         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
60384         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
60385         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
60386         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
60387         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
60388         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
60389         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
60390         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
60391         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
60392         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
60393         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
60394         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
60395         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
60396         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
60397         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
60398         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
60399         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
60400         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
60401         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
60402         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
60403         Reported by Eric Blake.
60404
60405 2008-04-11  Bruno Haible  <bruno@clisp.org>
60406
60407         * lib/wchar.in.h: Tweak comment.
60408
60409 2008-04-11  Bruno Haible  <bruno@clisp.org>
60410
60411         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
60412         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
60413         gl_COMMON.
60414         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
60415
60416 2008-04-11  Bruno Haible  <bruno@clisp.org>
60417
60418         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
60419
60420 2008-04-11  Simon Josefsson  <simon@josefsson.org>
60421
60422         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
60423         of attempting to use non-existing /dev/*random.  Based on patch
60424         from Adam Strzelecki <ono@java.pl> in
60425         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
60426
60427 2008-04-08  Bruno Haible  <bruno@clisp.org>
60428
60429         Add tentative support for emx+gcc.
60430         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
60431         * lib/fpurge.c (fpurge): Likewise.
60432         * lib/freadable.c (freadable): Likewise.
60433         * lib/freadahead.c (freadahead): Likewise.
60434         * lib/freading.c (freading): Likewise.
60435         * lib/freadptr.c (freadptr): Likewise.
60436         * lib/freadseek.c (freadptrinc): Likewise.
60437         * lib/fseeko.c (rpl_fseeko): Likewise.
60438         * lib/fseterr.c (fseterr): Likewise.
60439         * lib/fwritable.c (fwritable): Likewise.
60440         * lib/fwriting.c (fwriting): Likewise.
60441         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
60442
60443 2008-04-09  Eric Blake  <ebb9@byu.net>
60444
60445         Avoid some autoconf warnings.
60446         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
60447         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
60448         * m4/afs.m4 (gl_AFS): Likewise.
60449         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
60450         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
60451         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
60452         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
60453         (gl_INTEGER_TYPE_SUFFIX): Likewise.
60454         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
60455         (AC_CHECK_DECLS_ONCE): Likewise.
60456         Rename file...
60457         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
60458         gnulib-tool requires autoconf 2.59 or better.
60459         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
60460
60461 2008-04-08  Eric Blake  <ebb9@byu.net>
60462
60463         Use 'git describe --match' if present (added in git 1.5.5).
60464         * build-aux/git-version-gen: Limit result to tags that match 'v*'
60465         if possible.
60466
60467 2008-04-08  Bruno Haible  <bruno@clisp.org>
60468
60469         Add tentative support for OpenServer.
60470         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
60471         _ptr, _cnt.
60472         * lib/fpurge.c (fpurge): Likewise.
60473         * lib/freadable.c (freadable): Likewise.
60474         * lib/freadahead.c (freadahead): Likewise.
60475         * lib/freading.c (freading): Likewise.
60476         * lib/freadptr.c (freadptr): Likewise.
60477         * lib/freadseek.c (freadptrinc): Likewise.
60478         * lib/fseeko.c (rpl_fseeko): Likewise.
60479         * lib/fseterr.c (fseterr): Likewise.
60480         * lib/fwritable.c (fwritable): Likewise.
60481         * lib/fwriting.c (fwriting): Likewise.
60482         Reported by Roger Cornelius <rac@tenzing.org> and
60483         Brian K. White <brian@aljex.com>.
60484
60485 2008-04-06  Jim Meyering  <meyering@redhat.com>
60486
60487         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
60488
60489 2008-04-06  Bruno Haible  <bruno@clisp.org>
60490
60491         Avoid possible error with non-ASCII bytes in UTF-8 locales.
60492         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
60493         * tests/test-printf-posix.sh: Likewise.
60494         * tests/test-vfprintf-posix.sh: Likewise.
60495         * tests/test-vprintf-posix.sh: Likewise.
60496         * tests/test-xprintf-posix.sh: Likewise.
60497
60498 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60499
60500         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
60501         hide error from 'ls', needed on OS/2.
60502         Report by Elbert Pol <elbert.pol@gmail.com>.
60503
60504 2008-04-04  Eric Blake  <ebb9@byu.net>
60505
60506         Make test-fseeko.c failures meaningful.
60507         * tests/test-fseeko.c: Print line number on failure.
60508         * tests/test-fseek.c: Likewise.
60509         Reported by Nelson H. F. Beebe.
60510
60511         Improve strtod bug detection check.
60512         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
60513         required for Solaris 10.
60514         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
60515
60516 2008-04-04  Bruno Haible  <bruno@clisp.org>
60517
60518         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
60519         by m4/setenv.m4.
60520
60521 2008-04-03  Eric Blake  <ebb9@byu.net>
60522
60523         Ensure sane .version contents.
60524         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
60525         version string.
60526         * build-aux/git-version-gen: Improve documentation.
60527
60528         Make GNU make output nicer.
60529         * top/GNUmakefile [!_have-Makefile]: Add dependency on
60530         MAKECMDGOALS to enforce message for all command line targets.  Set
60531         srcdir for use in maint.mk.
60532
60533         Another maintainer tweak.
60534         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
60535         a target that regenerates version.
60536
60537 2008-04-03  Jim Meyering  <meyering@redhat.com>
60538
60539         vc-list-files: don't cause coreutils "make po-check" failure
60540         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
60541
60542 2008-04-03  Eric Blake  <ebb9@byu.net>
60543
60544         Allow VPATH usage of vc-list-files.
60545         * build-aux/vc-list-files (scriptversion): Add timestamp.
60546         (options): Add --help, --version, -C.
60547         (CVS): Support installed cvsu.
60548
60549 2008-04-02  Bruno Haible  <bruno@clisp.org>
60550
60551         Avoid some "statement with no effect" warnings from gcc.
60552         * tests/test-wctype.c (main): Explicitly ignore unused values.
60553         Reported by Jim Meyering.
60554
60555 2008-04-02  Jim Meyering  <meyering@redhat.com>
60556
60557         Avoid some warnings from "gcc -Wshadow".
60558         * tests/test-frexp.c (exp): Define to a different identifier.
60559         * tests/test-frexpl.c (exp): Likewise.
60560
60561 2008-04-03  Jim Meyering  <meyering@redhat.com>
60562
60563         bootstrap: remove dangling *.[ch] symlinks from lib
60564         * build-aux/bootstrap [dangling symlink removal]: Move find's
60565         -depth option to precede all others, to avoid a warning.
60566         Remove *.[ch] files too, and from "$source_base" (usually lib/).
60567
60568 2008-04-02  Bruno Haible  <bruno@clisp.org>
60569
60570         Avoid some warnings from "gcc -Wshadow".
60571         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
60572         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
60573         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
60574         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
60575         Reported by Jim Meyering.
60576
60577 2008-04-01  Bruno Haible  <bruno@clisp.org>
60578
60579         Fix test to work on IRIX 6.5 with cc.
60580         * tests/test-math.c (numeric_equal): New function.
60581         (main): Use it.
60582
60583 2008-04-01  Bruno Haible  <bruno@clisp.org>
60584
60585         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
60586
60587 2008-04-01  Bruno Haible  <bruno@clisp.org>
60588
60589         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
60590         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
60591         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
60592         (Depends-on): Remove math.
60593
60594         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
60595         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
60596         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
60597         (Depends-on): Remove math.
60598
60599         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
60600         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
60601         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
60602         (Depends-on): Remove math.
60603         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
60604         (Depends-on): Remove math.
60605
60606         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
60607         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
60608         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
60609         (Depends-on): Remove math.
60610         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
60611         (Depends-on): Remove math.
60612
60613         * tests/test-round1.c: Include nan.h.
60614         (main): Use NaNd instead of NAN.
60615         * modules/round-tests (Files): Add tests/nan.h.
60616
60617         * tests/test-trunc1.c: Include nan.h.
60618         (main): Use NaNd instead of NAN.
60619         * modules/trunc-tests (Files): Add tests/nan.h.
60620
60621         * tests/test-roundf1.c: Include nan.h.
60622         (main): Use NaNf instead of NAN.
60623         * modules/roundf-tests (Files): Add tests/nan.h.
60624
60625         * tests/test-truncf1.c: Include nan.h.
60626         (main): Use NaNf instead of NAN.
60627         * modules/truncf-tests (Files): Add tests/nan.h.
60628
60629         * tests/test-ceilf1.c: Include nan.h.
60630         (main): Use NaNf instead of NAN.
60631         * modules/ceilf-tests (Files): Add tests/nan.h.
60632
60633         * tests/test-floorf1.c: Include nan.h.
60634         (main): Use NaNf instead of NAN.
60635         * modules/floorf-tests (Files): Add tests/nan.h.
60636
60637         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
60638         (main): Use NaNf instead of NAN.
60639         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
60640
60641         * tests/test-isnand.c: Include nan.h instead of <math.h>.
60642         (main): Use NaNd instead of NAN.
60643         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
60644
60645         * tests/test-frexp.c: Include nan.h.
60646         (main): Use NaNd instead of NAN.
60647         * modules/frexp-tests (Files): Add tests/nan.h.
60648
60649         * lib/isnan.c: Don't include <math.h>.
60650         (FUNC): Don't use NAN macro.
60651         * modules/isnand-nolibm (Depends-on): Remove math.
60652         * modules/isnanf-nolibm (Depends-on): Remove math.
60653         * modules/isnanl (Depends-on): Remove math.
60654         * modules/isnanl-nolibm (Depends-on): Remove math.
60655
60656         * tests/nan.h: New file.
60657
60658 2008-04-01  Eric Blake  <ebb9@byu.net>
60659
60660         Fix typos.
60661         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
60662         values to be the right type.
60663
60664         For now, cater to gnulib strtod inaccuracies.
60665         * tests/test-strtod.c (main): Allow 1-ulp error on expected
60666         fractional results.  While not as nice from a QoI perspective, it
60667         is a quicker patch than correctly implementing decimal to binary
60668         rounding.
60669
60670 2008-03-31  Eric Blake  <ebb9@byu.net>
60671
60672         Guarantee a definition of NAN.
60673         * lib/math.in.h (NAN): Define if missing.
60674         * tests/test-math.c (main): Test it.
60675         * doc/posix-headers/math.texi (math.h): Document this.
60676         * lib/isnan.c (rpl_isnand): Use it.
60677         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
60678         * tests/test-floorf1.c (NaN): Likewise.
60679         * tests/test-frexp.c (NaN): Likewise.
60680         * tests/test-isnand.c (NaN): Likewise.
60681         * tests/test-isnanf.c (NaN): Likewise.
60682         * tests/test-round1.c (NaN): Likewise.
60683         * tests/test-roundf1.c (NaN): Likewise.
60684         * tests/test-snprintf-posix.h (NaN): Likewise.
60685         * tests/test-sprintf-posix.h (NaN): Likewise.
60686         * tests/test-trunc1.c (NaN): Likewise.
60687         * tests/test-truncf1.c (NaN): Likewise.
60688         * tests/test-vasnprintf-posix.c (NaN): Likewise.
60689         * tests/test-vasprintf-posix.c (NaN): Likewise.
60690         * modules/isnand-nolibm (Depends-on): Add math.
60691         * modules/isnanf-nolibm (Depends-on): Likewise.
60692         * modules/isnanl (Depends-on): Likewise.
60693         * modules/isnanl-nolibm (Depends-on): Likewise.
60694         * modules/snprintf-posix-tests (Depends-on): Likewise.
60695         * modules/sprintf-posix-tests (Depends-on): Likewise.
60696         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
60697         * modules/vsprintf-posix-tests (Depends-on): Likewise.
60698         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
60699         * modules/vasprintf-posix-tests (Depends-on): Likewise.
60700
60701 2008-03-31  Bruno Haible  <bruno@clisp.org>
60702
60703         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
60704         * doc/posix-functions/strtod.texi: Likewise.
60705
60706 2008-03-31  Bruno Haible  <bruno@clisp.org>
60707
60708         * tests/test-strtod.c (main): Don't use C99 syntax.
60709
60710 2008-03-31  Bruno Haible  <bruno@clisp.org>
60711
60712         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
60713         Reported by Eric Blake.
60714
60715 2008-03-31  Jim Meyering  <meyering@redhat.com>
60716
60717         Don't compare actual signbit return values.
60718         * tests/test-strtod.c (main): Rather, compare only their
60719         zero/non-zero nature.
60720
60721 2008-03-31  Eric Blake  <ebb9@byu.net>
60722
60723         More strtod documentation.
60724         * doc/posix-functions/strtod.texi (strtod): Interpret more test
60725         failures as distinct bugs.
60726
60727 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
60728
60729         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
60730         Problem reported by Erik Benada in
60731         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
60732
60733 2008-03-30  Bruno Haible  <bruno@clisp.org>
60734
60735         * tests/test-strtod.c: Add comments about which assertion fails on which
60736         platform.
60737         * doc/posix-functions/strtod.texi: Add info about many more platforms.
60738
60739 2008-03-30  Eric Blake  <ebb9@byu.net>
60740
60741         Test signbit behavior on zeros.
60742         * tests/test-signbit.c (test_signbitf): Add tests for zero.
60743         (test_signbitd, test_signbitl): Likewise.
60744
60745         More strtod touchups.
60746         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
60747         sign of negative underflow, for now.  Use .5, not .1.
60748         * doc/posix-functions/strtod.texi (strtod): Mention these
60749         limitations.
60750         Reported by Jim Meyering.
60751
60752 2008-03-30  Bruno Haible  <bruno@clisp.org>
60753
60754         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
60755         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
60756
60757 2008-03-30  Bruno Haible  <bruno@clisp.org>
60758
60759         Avoid failure when attempting to return empty iconv results on some
60760         platforms.
60761         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
60762         allocation, don't report ENOMEM when the resulting string is empty.
60763
60764 2008-03-30  Bruno Haible  <bruno@clisp.org>
60765
60766         Fix buffer overrun.
60767         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
60768         Don't consider the width for tmp_length. Check count against tmp_length
60769         before doing the padding. Ensure enough allocation during padding.
60770
60771 2008-03-30  Eric Blake  <ebb9@byu.net>
60772
60773         strtod touchups.
60774         * lib/strtod.c (strtod): Avoid compiler warnings.
60775         Reported by Jim Meyering.
60776
60777 2008-03-30  Bruno Haible  <bruno@clisp.org>
60778
60779         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
60780         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
60781         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
60782         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
60783         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
60784         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
60785         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
60786         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
60787
60788         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
60789         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
60790         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
60791         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
60792         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
60793         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
60794         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
60795         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
60796
60797         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
60798         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
60799         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
60800         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
60801         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
60802         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
60803         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
60804         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
60805
60806         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
60807         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
60808
60809         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
60810         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
60811
60812         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
60813         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
60814
60815         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
60816         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
60817         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
60818
60819         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
60820         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
60821         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
60822
60823         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
60824         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
60825         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
60826
60827         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
60828         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
60829         * modules/vasprintf (Depends-on): Add EOVERFLOW.
60830
60831         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
60832         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
60833         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
60834         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
60835         (Depends-on): Add EOVERFLOW.
60836         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
60837         (Depends-on): Add EOVERFLOW.
60838         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
60839         (Depends-on): Add EOVERFLOW.
60840         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
60841         (Depends-on): Add EOVERFLOW.
60842         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
60843         (Depends-on): Add EOVERFLOW.
60844         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
60845         (Depends-on): Add EOVERFLOW.
60846         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
60847         (Depends-on): Add EOVERFLOW.
60848         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
60849         (Depends-on): Add EOVERFLOW.
60850
60851         * lib/sprintf.c (EOVERFLOW): Remove fallback.
60852         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
60853         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
60854
60855         * lib/snprintf.c (EOVERFLOW): Remove fallback.
60856         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
60857         * modules/snprintf (Depends-on): Add EOVERFLOW.
60858
60859         * lib/poll.c (EOVERFLOW): Remove fallback.
60860         * modules/poll (Depends-on): Add EOVERFLOW.
60861
60862         * lib/getugroups.c (EOVERFLOW): Remove fallback.
60863         * modules/getugroups (Depends-on): Add EOVERFLOW.
60864
60865         * lib/getdelim.c (EOVERFLOW): Remove fallback.
60866         * modules/getdelim (Depends-on): Add EOVERFLOW.
60867
60868         * lib/ftell.c (EOVERFLOW): Remove fallback.
60869         * modules/ftell (Depends-on): Add EOVERFLOW.
60870
60871         * lib/fprintf.c (EOVERFLOW): Remove fallback.
60872         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
60873         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
60874
60875         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
60876
60877         * modules/EOVERFLOW-tests: New file.
60878         * tests/test-EOVERFLOW.c: New file.
60879
60880         * modules/EOVERFLOW: New file.
60881         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
60882
60883 2008-03-30  Bruno Haible  <bruno@clisp.org>
60884
60885         Fix bug introduced on 2007-06-10.
60886         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
60887         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
60888
60889 2008-03-30  Bruno Haible  <bruno@clisp.org>
60890
60891         Improve freadseek's efficiency after ungetc.
60892         * lib/freadseek.c: Include freadahead.h.
60893         (freadptrinc): New function, extracted from freadseek.
60894         (freadseek): Use it in a loop. Use freadahead to determine the number
60895         of loop iterations.
60896         * modules/freadseek (Depends-on): Add freadahead.
60897         (configure.ac): Require AC_C_INLINE.
60898
60899 2008-03-30  Bruno Haible  <bruno@clisp.org>
60900
60901         * lib/freadseek.c (freadseek): Don't ignore the return value of
60902         freadptr.
60903
60904 2008-03-29  Eric Blake  <ebb9@byu.net>
60905
60906         Add hex float support.
60907         * modules/strtod (Depends-on): Add c-ctype.
60908         (Link): Mention POW_LIB.
60909         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
60910         whitespace between 'e' and exponent.
60911         * tests/test-strtod.c (main): Enable hex float tests.
60912         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
60913         now provides.
60914
60915         Document various strtod bugs, with some fixes.
60916         * doc/posix-functions/strtod.texi (strtod): Document bugs with
60917         "-0x", "inf", "nan", and hex constants.
60918         * doc/posix-functions/atof.texi (atof): Likewise.
60919         * modules/stdlib (Makefile.am): Support strtod.
60920         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
60921         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
60922         detect additional strtod bugs.
60923         * lib/stdlib.in.h (rpl_strtod): Add declarations.
60924         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
60925         bool where appropriate.  Parse 'inf' and 'nan'.
60926         * tests/test-strtod.c: New file.
60927         * modules/strtod (Depends-on): Add stdbool, stdlib.
60928         (configure.ac): Turn on module indicator.
60929         * modules/strtod-tests: New module.
60930
60931 2008-03-29  Eric Blake  <ebb9@byu.net>
60932
60933         Fix ftell on mingw.
60934         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
60935         * modules/ftell-tests (Depends-on): Add binary-io.
60936         * modules/ftello-tests (Depends-on): Likewise.
60937         * tests/test-ftell.c (main): Enhance test to cover behavior after
60938         ungetc.  Enforce binary mode.
60939         * tests/test-ftello.c (main): Likewise.
60940
60941         Pass test-freadseek on cygwin.
60942         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
60943         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
60944         ungetc buffer.
60945
60946         * tests/test-fflush2.c (main): Fix typo.
60947
60948 2008-03-29  Bruno Haible  <bruno@clisp.org>
60949
60950         * tests/test-fflush2.c (main): Temporarily disable the contents of
60951         this test.
60952         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
60953         Reported by Eric Blake.
60954
60955 2008-03-28  Simon Josefsson  <simon@josefsson.org>
60956
60957         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
60958         (GC_SHA224_DIGEST_SIZE): Add.
60959
60960         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
60961         (gc_hash_digest_length): Likewise.
60962         (gc_hash_buffer): Likewise.
60963
60964 2008-03-25  Bruno Haible  <bruno@clisp.org>
60965
60966         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
60967         detail which gettext release to use.
60968         Reported by Simon Josefsson.
60969
60970 2008-03-26  Jim Meyering  <meyering@redhat.com>
60971
60972         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
60973         * modules/gnumakefile (clean-GNUmakefile): Also, use
60974         test ... && ... || : syntax rather than if-then ... fi.
60975
60976         gnumakefile: Don't double-quote-expand $(VPATH) value.
60977         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
60978
60979 2008-03-24  Eric Blake  <ebb9@byu.net>
60980
60981         Alter GNUmakefile to install into top directory.
60982         * modules/maintainer-makefile: Split, and add dependency...
60983         * modules/gnumakefile: to this new module.
60984         * build-aux/GNUmakefile: Move...
60985         * top/GNUmakefile: ...here.
60986         * build-aux/maint.mk: Move...
60987         * top/maint.mk: ...here.
60988         * MODULES.html.sh (Support for maintaining...): Document new
60989         module.
60990
60991 2008-03-23  Bruno Haible  <bruno@clisp.org>
60992
60993         * gnulib-tool: New options --vc-files, --no-vc-files.
60994         (func_usage): Document them.
60995         (vc_files): New variable.
60996         (func_import): Consider vc_files.
60997         (func_create_testdir): Set vc_files to empty.
60998         Suggested by Jim Meyering and Karl Berry.
60999
61000 2008-03-23  Bruno Haible  <bruno@clisp.org>
61001
61002         Fix regex compilation error on HP-UX 11.
61003         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
61004         * modules/regex (Files): Add m4/mbstate_t.m4.
61005         Reported by Ton Voon <ton.voon@altinity.com>.
61006
61007 2008-03-23  Bruno Haible  <bruno@clisp.org>
61008
61009         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
61010
61011 2008-03-23  Eric Blake  <ebb9@byu.net>
61012             Bruno Haible  <bruno@clisp.org>
61013
61014         Install files from top/ in the destination directory.
61015         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
61016         augmentation also for the files from top/.
61017         (func_import, func_create_testdir): Rewrite file names:
61018         top/filename -> filename.
61019
61020 2008-03-23  Bruno Haible  <bruno@clisp.org>
61021
61022         Tweak "gnulib --version" output.
61023         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
61024
61025 2008-03-23  Bruno Haible  <bruno@clisp.org>
61026
61027         Tweak "gnulib --version" output.
61028         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
61029         rather than contents of ChangeLog, when possible.
61030
61031 2008-03-21  Eric Blake  <ebb9@byu.net>
61032
61033         More --version tweaks.
61034         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
61035         date of last ChangeLog entry.
61036
61037 2008-03-21  Jim Meyering  <meyering@redhat.com>
61038
61039         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
61040
61041 2008-03-20  Eric Blake  <ebb9@byu.net>
61042
61043         VPATH fix.
61044         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
61045
61046 2008-03-20  Simon Josefsson  <simon@josefsson.org>
61047
61048         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
61049         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
61050
61051 2008-03-20  Eric Blake  <ebb9@byu.net>
61052
61053         Sync GNUmakefile with coreutils.
61054         * build-aux/GNUmakefile (have-Makefile): Rename...
61055         (_have-Makefile): ...to this, for namespace consideration.
61056         (GNUmakefile.cfg): Include, if present.
61057         (_autoreconf): Define a default.
61058         (_is-dist-target): New rule for rebuilds to pick up intra-release
61059         version.
61060         (maint-cfg.mk): Rename...
61061         (cfg.mk): ...to this.
61062
61063 2008-03-18  Jim Meyering  <meyering@redhat.com>
61064
61065         New script and module: mktempd
61066         * MODULES.html.sh (maint+release support): Add mktempd.
61067         * build-aux/mktempd: New file.
61068         * modules/mktempd: New file.
61069
61070 2008-03-15  Jim Meyering  <meyering@redhat.com>
61071
61072         Undo last change.
61073         * lib/sha1.c, lib/md5.c: 63 != ~63.
61074         Reported by Andreas Schwab.
61075
61076         sha1.c, md5.c: Hoist a redundant expression.
61077         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
61078         "ctx->buflen" only once, before calling *_process_block.
61079         * lib/md5.c (md5_process_bytes): Likewise.
61080
61081 2008-03-14  Eric Blake  <ebb9@byu.net>
61082
61083         Bump copyright year in files generated by gnulib-tool.
61084         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
61085         gnulib-tool, rather than hard-coding it.
61086
61087         Fix 'gnulib-tool --version' output to work with git.
61088         * gnulib-tool (func_gnulib_dir): New function, extracted from...
61089         (startup): ...here.
61090         (func_version): Use it to invoke git-version-gen, rather than
61091         relying on CVS keyword expansion.  Modernize wording.
61092         (cvsdatestamp, last_checkin_date, version): Kill unused
61093         variables.
61094
61095 2008-03-12  Jim Meyering  <meyering@redhat.com>
61096
61097         Recognize optional cast of the argument to free.
61098         * build-aux/useless-if-before-free: Update regexps.
61099
61100         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
61101
61102 2008-03-11  Bruno Haible  <bruno@clisp.org>
61103
61104         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
61105         by a single package.
61106         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
61107         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
61108         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
61109         Reported by Sam Steingold <sds@gnu.org>.
61110
61111 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
61112
61113         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
61114         repositories.
61115
61116 2008-03-11  Bruno Haible  <bruno@clisp.org>
61117
61118         Avoid conflicts between local macro definitions.
61119         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
61120         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
61121
61122 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
61123             Bruno Haible  <bruno@clisp.org>
61124
61125         Make va_copy work with some version of xlc on AIX 5.1.
61126         * lib/stdarg.in.h: New file.
61127         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
61128         On AIX, use a <stdarg.h> file substitute.
61129         * modules/stdarg (Files): Add lib/stdarg.in.h.
61130         (Depends-on): Add include_next.
61131         (Makefile.am): Build a stdarg.h substitute if requested.
61132         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
61133
61134 2008-03-10  Bruno Haible  <bruno@clisp.org>
61135
61136         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
61137         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
61138         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
61139
61140 2008-03-10  Bruno Haible  <bruno@clisp.org>
61141
61142         * modules/stdlib (Depends-on): Add include_next, remove
61143         absolute-header.
61144
61145 2008-03-09  Bruno Haible  <bruno@clisp.org>
61146
61147         * lib/freadahead.h (freadahead): Document more precisely.
61148         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
61149         the sum of both buffer sizes.
61150         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
61151         * NEWS: Document the change.
61152
61153 2008-03-09  Bruno Haible  <bruno@clisp.org>
61154
61155         Extend freadptr to return also the buffer size.
61156         * lib/freadptr.h (freadptr): Add sizep argument.
61157         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
61158         (freadptr): Add sizep argument. Determine buffer size like freadahead
61159         does.
61160         * tests/test-freadptr.c: Don't include freadahead.h.
61161         (main): Adapt for new calling convention of freadptr.
61162         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
61163         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
61164         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
61165         tests/test-freadptr2.sh.
61166         (Depends): Remove freadahead.
61167         (TESTS): Add test-freadptr2.sh.
61168         (check_PROGRAMS): Add test-freadptr2.
61169
61170 2008-03-09  Bruno Haible  <bruno@clisp.org>
61171
61172         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
61173         Report and solution by Simon Josefsson.
61174
61175 2008-03-06  Bruno Haible  <bruno@clisp.org>
61176
61177         Make fflush after ungetc work on BSD platforms.
61178         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
61179         * tests/test-fflush2.c: New file.
61180         * tests/test-fflush2.sh: New file.
61181         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
61182         tests/test-fflush2.c.
61183         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
61184         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
61185
61186 2008-03-06  Eric Blake  <ebb9@byu.net>
61187
61188         Likewise for ftello.
61189         * modules/ftello (Dependencies): Add extensions.
61190         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
61191
61192 2008-03-06  Bruno Haible  <bruno@clisp.org>
61193
61194         * modules/fseeko (Dependencies): Add extensions.
61195         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
61196         Needed on glibc systems.
61197
61198 2008-03-06  Bruno Haible  <bruno@clisp.org>
61199
61200         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
61201         email address.
61202         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
61203
61204 2008-03-06  Bruno Haible  <bruno@clisp.org>
61205
61206         * users.txt: Add libgnupdf.
61207
61208 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
61209
61210         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
61211         (Header File Substitutes, Function Substitutes,
61212         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
61213         (Build robot for gnulib): Fix typo.
61214
61215 2008-03-06  Bruno Haible  <bruno@clisp.org>
61216
61217         * doc/gnulib-tool.texi (VCS Issues): Small updates.
61218         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
61219
61220 2008-03-06  Bruno Haible  <bruno@clisp.org>
61221
61222         * doc/func.texi: New file, extracted from doc/gnulib.texi.
61223         * doc/gnulib.texi: Include it.
61224
61225 2008-03-06  Simon Josefsson  <simon@josefsson.org>
61226
61227         * modules/func (License): Change license to unlimited; there was
61228         no LGPL parts in the module anyway.
61229
61230 2008-03-06  Simon Josefsson  <simon@josefsson.org>
61231
61232         * modules/__func__: Renamed to modules/func.
61233         * modules/__func__-tests: Renamed to modules/func-tests.
61234         * tests/test-__func__.c: Renamed to tests/test-func.c.
61235         * m4/__func__.m4: Renamed to m4/func.m4.
61236         * doc/gnulib.texi (__func__): Section renamed to func.
61237         Suggested by Eric Blake <ebb9@byu.net>.
61238
61239 2008-03-06  Simon Josefsson  <simon@josefsson.org>
61240
61241         * doc/gnulib.texi (__func__): Use C99 terminology when talking
61242         about __func__.  Make example self-contained.  Suggested by Eric
61243         Blake <ebb9@byu.net>.
61244
61245         * tests/test-__func__.c (main): Avoid extraneous () around __func.
61246         Suggested by Eric Blake <ebb9@byu.net>.
61247
61248 2008-03-06  Simon Josefsson  <simon@josefsson.org>
61249
61250         * modules/__func__: New file.
61251         * modules/__func__-tests: New file.
61252         * tests/test-__func__.c: New file.
61253         * m4/__func__.m4: New file.
61254         * doc/gnulib.texi (__func__): Document __func__ module.
61255
61256 2008-03-05  Simon Josefsson  <simon@josefsson.org>
61257
61258         * modules/byteswap (License): Re-license as LGPLv2+.
61259
61260 2008-03-05  Simon Josefsson  <simon@josefsson.org>
61261
61262         * doc/Makefile: Add pdf target.
61263
61264 2008-03-05  Simon Josefsson  <simon@josefsson.org>
61265
61266         * modules/inline (License): Use 'unlimited', since there are only
61267         *.m4 files in this module.
61268
61269 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
61270             Bruno Haible  <bruno@clisp.org>
61271
61272         Add support for HP C 7.1 on OpenVMS 8.3.
61273         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
61274
61275 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
61276
61277         Update VMS specifics.
61278         * lib/getopt.c [VMS]: Remove include of unixlib.h.
61279
61280 2008-03-02  Jim Meyering  <meyering@redhat.com>
61281
61282         Remove the last dependency on the "free" module.
61283         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
61284         Reported by Bob Proulx.
61285
61286         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
61287
61288         Remove useless "if" tests before free.  Deprecate "free" module.
61289         * doc/posix-functions/free.texi: Mention that this
61290         module is no longer useful.
61291         * modules/free (Notice): Say this module is obsolete.
61292         * modules/readutmp (Depends-on): Remove free.
61293         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
61294         * lib/putenv.c (putenv): Likewise.
61295         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
61296         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
61297         * tests/test-c-strcasestr.c (main): Likewise.
61298         * tests/test-c-strstr.c (main): Likewise.
61299         * tests/test-mbscasestr1.c (main): Likewise.
61300         * tests/test-mbscasestr2.c (main): Likewise.
61301         * tests/test-mbsstr1.c (main): Likewise.
61302         * tests/test-mbsstr2.c (main): Likewise.
61303         * tests/test-memmem.c (main): Likewise.
61304         * tests/test-strcasestr.c (main): Likewise.
61305         * tests/test-striconv.c (main): Likewise.
61306         * tests/test-striconveh.c (main): Likewise.
61307         * tests/test-striconveha.c (main): Likewise.
61308         * tests/test-strstr.c (main): Likewise.
61309
61310         * build-aux/git-version-gen: Adjust a comment and the Usage string.
61311
61312         bootstrap: sync from coreutils again
61313         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
61314
61315 2008-03-01  Jim Meyering  <meyering@redhat.com>
61316
61317         bootstrap: sync from coreutils
61318         * build-aux/bootstrap (update_po_files): Copy a .po file into place
61319         also when the target doesn't exist.
61320
61321 2008-03-01  Eric Blake  <ebb9@byu.net>
61322
61323         Fix bugs in last patch.
61324         * lib/memchr2.c (memchr2): Fix typo.
61325         * tests/test-memchr2.c: Test previous bug, and don't use GNU
61326         extension.
61327         Reported by Bruce Korb.
61328
61329         New module 'memchr2'.
61330         * modules/memchr2: New file.
61331         * modules/memchr2-tests: Likewise.
61332         * lib/memchr2.h: Likewise.
61333         * lib/memchr2.c: Likewise, based on memchr.c.
61334         * tests/test-memchr2.c: New test.
61335         * MODULES.html.sh (String handling): Add memchr2.
61336
61337 2008-02-29  Bruno Haible  <bruno@clisp.org>
61338
61339         * modules/freadseek-tests: New file.
61340         * tests/test-freadseek.sh: New file.
61341         * tests/test-freadseek.c: New file.
61342
61343         New module 'freadseek'.
61344         * modules/freadseek: New file.
61345         * lib/freadseek.h: New file.
61346         * lib/freadseek.c: New file.
61347         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
61348
61349 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
61350
61351         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
61352         wydawca.
61353
61354         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
61355         program_invocation_name and program_invocation_short_name are
61356         present.
61357
61358 2008-02-28  Bruno Haible  <bruno@clisp.org>
61359
61360         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
61361         * tests/test-freadptr.sh: Also test non-seekable stdin.
61362
61363 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
61364
61365         * build-aux/bootstrap (source_base, m4_base)
61366         (doc_base, tests_base): New variables.
61367         (gnulib_tool_options): Do not hardcode base directories, use
61368         the above variables instead.
61369
61370 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
61371
61372         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
61373
61374 2008-02-28  Bruno Haible  <bruno@clisp.org>
61375
61376         * modules/freadptr-tests: New file.
61377         * tests/test-freadptr.sh: New file.
61378         * tests/test-freadptr.c: New file.
61379
61380         New module 'freadptr'.
61381         * modules/freadptr: New file.
61382         * lib/freadptr.h: New file.
61383         * lib/freadptr.c: New file.
61384         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
61385
61386 2008-02-26  Karl Berry  <karl@freefriends.org>
61387
61388         Sync from Libtool:
61389         * libltdl/argz.c (argz_add, argz_count): New functions.
61390         * libltdl/argz.in.h: Declare them.
61391         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
61392
61393 2008-02-22  Bruno Haible  <bruno@clisp.org>
61394
61395         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
61396         is a pointer type.  Needed for HP-UX 10.
61397         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
61398         * doc/posix-functions/gmtime_r.texi: Likewise.
61399         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
61400
61401 2008-02-24  Bruno Haible  <bruno@clisp.org>
61402
61403         * modules/environ-tests: New file.
61404         * tests/test-environ.c: New file.
61405
61406         New module 'environ'.
61407         * modules/environ: New file.
61408         * lib/unistd.in.h (environ): New declaration.
61409         * m4/environ.m4: New file.
61410         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
61411         after use.
61412         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
61413         HAVE_DECL_ENVIRON.
61414         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
61415         HAVE_DECL_ENVIRON.
61416         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
61417         wrong claim that 'environ' is missing on some systems.
61418         * modules/execute (Depends-on): Add environ.
61419         * lib/execute.c (environ): Remove fallback declaration.
61420         * modules/pipe (Depends-on): Add environ.
61421         * lib/pipe.c (environ): Remove fallback declaration.
61422         * modules/setenv (Depends-on): Add environ.
61423         * lib/setenv.c (environ): Remove fallback declaration.
61424         * modules/unsetenv (Depends-on): Add environ.
61425         * lib/unsetenv.c (environ): Remove fallback declaration.
61426         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
61427         m4/environ.m4.
61428         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
61429         (gl_PREREQ_UNSETENV): Likewise.
61430
61431 2008-02-24  Bruno Haible  <bruno@clisp.org>
61432
61433         * doc/posix-functions/environ.texi: Document the MacOS X problem.
61434
61435 2008-02-20  Bob Proulx  <bob@proulx.com>
61436
61437         Enable use of older two part flavor 'git describe'.
61438         * build-aux/git-version-gen: If using the older two part flavor of
61439         git version then recreate the third part now present in the
61440         newer three part flavor of git describe.
61441
61442 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
61443
61444         * lib/fts.c (fts_build): Typo correction to comment.
61445
61446 2008-02-17  Bruno Haible  <bruno@clisp.org>
61447
61448         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
61449         generating no-op conflicts.
61450
61451 2008-02-17  Bruno Haible  <bruno@clisp.org>
61452
61453         Speed up by 10%.
61454         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
61455         result_entries, rather than an index-based loop.
61456
61457 2008-02-17  Bruno Haible  <bruno@clisp.org>
61458
61459         Speed up by 25%.
61460         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
61461         'hashcode_cached'.
61462         (entry_create): New function.
61463         (entry_hashcode): Use the cached hashcode if possible.
61464         (read_changelog_file, try_split_merged_entry): Use entry_create.
61465
61466 2008-02-17  Bruno Haible  <bruno@clisp.org>
61467
61468         Speed up from O(n^2) to O(n) for long ChangeLog files.
61469         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
61470         (read_changelog_file): Change implementation of entries_reversed list
61471         to rbtreehash.
61472         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
61473
61474 2008-02-17  Bruno Haible  <bruno@clisp.org>
61475
61476         New option --split-merged-entry.
61477         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
61478         (find_paragraph_end, try_split_merged_entry): New functions.
61479         (long_options): Add option --split-merged-entry.
61480         (usage): Document option --split-merged-entry.
61481         (main): Implement option --split-merged-entry.
61482         Reported by Eric Blake.
61483
61484 2008-02-17  Bruno Haible  <bruno@clisp.org>
61485
61486         * lib/git-merge-changelog.c: Include c-strstr.h.
61487         (main): Support the "git pull --rebase" situation.
61488         * modules/git-merge-changelog (Depends-on): Add c-strstr.
61489         Reported by Eric Blake.
61490
61491 2008-02-16  Eric Blake  <ebb9@byu.net>
61492
61493         Avoid doubling \ in common case of "c-maybe" quoting style.
61494         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
61495         eliding outer quotes.
61496         * lib/quotearg.h: Document this.
61497         * tests/test-quotearg.c (result_strings, inputs, results_g)
61498         (flag_results, locale_results): Test it by adding a new string to
61499         each test group.
61500         (compare_strings): Test new string.
61501
61502 2008-02-13  Eric Blake  <ebb9@byu.net>
61503
61504         Avoid trigraph quoting in default output.
61505         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
61506         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
61507         unless explicitly requested.
61508         * tests/test-quotearg.c (flag_results, main): Add additional tests.
61509
61510 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
61511
61512         Don't rely on signed integer overflowing to negative value.
61513         * lib/getugroups.c (getugroups): Include <limits.h>.
61514         Instead, compare against INT_MAX, and increment only if the test passes.
61515
61516 2008-02-13  Jim Meyering  <meyering@redhat.com>
61517         and Eric Blake  <ebb9@byu.net>
61518
61519         Avoid shadowing warning and compile errors on Linux.
61520         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
61521         forwarding macros on Linux.
61522         (dcgettext): Define a stub, for Linux.
61523         (results_g, main): Avoid warnings.
61524
61525 2008-02-12  Eric Blake  <ebb9@byu.net>
61526
61527         Silence warning in last patch.
61528         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
61529
61530         Quotearg part 4: add tests, fix c-maybe colon quoting.
61531         * lib/quotearg.h: Improve documentation.
61532         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
61533         escapes when adding outer quotes.  When quoting trigraphs, use
61534         valid C notation.  When quoting NUL, omit extra characters if next
61535         character is not digit.  Alter prototype.
61536         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
61537         callers.
61538         * modules/quotearg-tests: New module.
61539         * tests/test-quotearg.c: New test.
61540
61541 2008-02-07  Eric Blake  <ebb9@byu.net>
61542
61543         Quotearg part 3: add flag to control outer quote elision.
61544         * lib/quotearg.h (c_maybe_quoting_style): New style.
61545         (enum quoting_flags): Better documentation of flags.
61546         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
61547         c-maybe style.
61548         (quotearg_buffer_restyled): Handle new flag to elide outer
61549         quotes.
61550
61551         Quotearg part 2: add flag that can control NUL elision.
61552         * lib/quotearg.h (set_quoting_flags): New prototype.
61553         * lib/quotearg.c (struct quoting_options): Add flag field.
61554         (set_quoting_flags): New function.
61555         (quotearg_buffer_restyled): Add flags parameter.
61556         (quotearg_alloc_mem): Set the flag if length cannot be returned.
61557         (quotearg_n_options): Set the flag, since length cannot be
61558         returned.
61559         (quoting_options_from_style): Default flags correctly.
61560
61561         Quotearg part 1: more wrappers, restore quotearg_char state.
61562         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
61563         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
61564         (quotearg_colon_mem): New wrappers.
61565         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
61566         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
61567         functions.
61568         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
61569         (quotearg_colon_mem): New functions.
61570
61571 2008-02-11  Bruno Haible  <bruno@clisp.org>
61572
61573         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
61574         library in the current directory: it does not work with parallel make.
61575         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
61576
61577 2008-02-11  Bruno Haible  <bruno@clisp.org>
61578
61579         * .gitattributes: New file.
61580
61581 2008-02-11  Jim Meyering  <meyering@redhat.com>
61582
61583         useless-if-before-free: Fix reversed exit values.
61584         * build-aux/useless-if-before-free: Use correct values
61585         for EXIT_MATCH and EXIT_NO_MATCH.
61586
61587         * build-aux/useless-if-before-free: Close stdout carefully.
61588
61589 2008-02-10  Bruno Haible  <bruno@clisp.org>
61590
61591         New module 'git-merge-changelog'.
61592         * modules/git-merge-changelog: New file.
61593         * lib/git-merge-changelog.c: New file.
61594
61595 2008-02-10  Jim Meyering  <meyering@redhat.com>
61596
61597         useless-if-before-free: New option: --list (-l).
61598
61599         useless-if-before-free: Don't exit immediately upon open failure.
61600         * build-aux/useless-if-before-free: Exit 2 for errors.
61601         Upon failure to open a file, don't exit immediately.
61602         Rather, just warn and continue with any remaining files.
61603
61604 2008-02-10  Bruno Haible  <bruno@clisp.org>
61605
61606         New abstract list operation 'node_set_value'.
61607         * lib/gl_list.h (gl_list_node_set_value): New function.
61608         (struct gl_list_implementation): New field node_set_value.
61609         * lib/gl_list.c (gl_list_node_set_value): New function.
61610         * lib/gl_array_list.c (gl_array_node_set_value): New function.
61611         (gl_array_list_implementation): Update.
61612         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
61613         (gl_carray_list_implementation): Update.
61614         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
61615         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
61616         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
61617         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
61618         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
61619         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
61620         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
61621         Update.
61622         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
61623         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
61624         (gl_sublist_list_implementation): Update.
61625
61626 2008-02-10  Bruno Haible  <bruno@clisp.org>
61627
61628         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
61629         Needed when ELEMENT is #defined to 'some_type *'.
61630
61631 2008-02-10  Jim Meyering  <meyering@redhat.com>
61632
61633         New script and module: useless-if-before-free
61634         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
61635         * build-aux/useless-if-before-free: New file.
61636         * modules/useless-if-before-free: New file.
61637
61638         * build-aux/gitlog-to-changelog: Use committer date, not author date.
61639
61640         xstrtol_error: Fix typo.
61641         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
61642         s/exit_failure/exit_status/.
61643
61644 2008-02-09  Jim Meyering  <meyering@redhat.com>
61645
61646         New script and module: gitlog-to-changelog
61647         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
61648         * modules/gitlog-to-changelog: New file.
61649         * build-aux/gitlog-to-changelog: New file.
61650
61651 2008-02-08  Jim Meyering  <meyering@redhat.com>
61652
61653         Avoid two "parameter unused" warnings.
61654         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
61655         Mark "st" as used.
61656
61657         Use "git COMMAND", not "git-COMMAND".
61658         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
61659         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
61660         * build-aux/git-version-gen: Use "git status", not "git-status".
61661
61662 2008-02-07  Bruno Haible  <bruno@clisp.org>
61663
61664         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
61665         Avoids a crash on Windows Vista.
61666         Reported by Adam Strzelecki <ono@java.pl> via
61667         Simon Josefsson <simon@josefsson.org>.
61668
61669 2008-02-06  Bruno Haible  <bruno@clisp.org>
61670
61671         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
61672         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
61673         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
61674         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
61675         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
61676         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
61677         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
61678         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
61679         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
61680         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
61681         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
61682         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
61683         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
61684         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
61685         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
61686         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
61687         left-adjust flag.
61688         * tests/test-snprintf-posix.h (test_function): Likewise.
61689         * tests/test-sprintf-posix.h (test_function): Likewise.
61690         * tests/test-vasprintf-posix.c (test_function): Likewise.
61691         * doc/posix-functions/fprintf.texi: Update.
61692         * doc/posix-functions/printf.texi: Update.
61693         * doc/posix-functions/snprintf.texi: Update.
61694         * doc/posix-functions/sprintf.texi: Update.
61695         * doc/posix-functions/vfprintf.texi: Update.
61696         * doc/posix-functions/vprintf.texi: Update.
61697         * doc/posix-functions/vsnprintf.texi: Update.
61698         * doc/posix-functions/vsprintf.texi: Update.
61699         Reported by Peter Fales <psfales@alcatel-lucent.com>.
61700
61701 2008-02-06  Bruno Haible  <bruno@clisp.org>
61702
61703         Fix bug introduced on 2008-01-26.
61704         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
61705
61706 2008-02-06  Bruno Haible  <bruno@clisp.org>
61707
61708         Fix bug introduced on 2007-06-10.
61709         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
61710         !NEED_PRINTF_FLAG_ZERO.
61711
61712 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
61713
61714         getloadavg: use libperfstat on AIX5
61715         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
61716
61717 2008-02-03  Bruno Haible  <bruno@clisp.org>
61718
61719         * lib/diffseq.h: Add comments about required #includes.
61720         Reported by Michael Biggs <gnulib@doubleplum.net>.
61721
61722 2008-02-01  Bruno Haible  <bruno@clisp.org>
61723
61724         * users.txt: Add gnuit.
61725
61726 2008-01-31  Bruno Haible  <bruno@clisp.org>
61727
61728         * lib/md4.c (set_uint32): Mark as inline.
61729         * lib/md5.c (set_uint32): Likewise.
61730         * lib/sha1.c (set_uint32): Likewise.
61731         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
61732         * m4/md5.m4 (gl_MD5): Likewise.
61733         * m4/sha1.m4 (gl_SHA1): Likewise.
61734
61735 2008-01-31  Jim Meyering  <meyering@redhat.com>
61736
61737         Use "sizeof VAR", rather than a literal "4".
61738         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
61739         * lib/md4.c (md4_read_ctx): Likewise.
61740         * lib/sha1.c (sha1_read_ctx): Likewise.
61741
61742 2008-01-31  Simon Josefsson  <simon@josefsson.org>
61743
61744         * tests/test-sha1.c: New file, based on test-md5.c.
61745
61746         * modules/crypto/sha1-tests: New file.
61747
61748 2008-01-31  Simon Josefsson  <simon@josefsson.org>
61749
61750         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
61751
61752 2008-01-31  Jim Meyering  <meyering@redhat.com>
61753
61754         Prefer "sizeof v" over the equivalent "4".
61755         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
61756         * lib/md5.c (set_uint32): Likewise.
61757         * lib/sha1.c (set_uint32): Likewise.
61758
61759 2008-01-31  Simon Josefsson  <simon@josefsson.org>
61760
61761         * lib/sha1.c (set_uint32): Mark function as static.
61762
61763 2008-01-31  Simon Josefsson  <simon@josefsson.org>
61764
61765         md2: clarify comments to say that alignment is not required.
61766         * lib/md2.h: Remove warning about alignment in comment.
61767         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
61768         never been required.
61769
61770 2008-01-31  Simon Josefsson  <simon@josefsson.org>
61771
61772         md4: adapt alignment constraint fix from sha1.
61773         * lib/md4.c (set_uint32): New function, from sha1.c
61774         (md4_read_ctx): Use it.
61775         (md4_finish_ctx): Doc fix.
61776         * lib/md4.h: Doc fix.
61777
61778 2008-01-31  Simon Josefsson  <simon@josefsson.org>
61779
61780         md5: adapt alignment constraint fix from sha1.
61781         * lib/md5.c (set_uint32): New function, from sha1.c
61782         (md5_read_ctx): Use it.
61783         (md5_finish_ctx): Doc fix.
61784         * lib/md5.h: Doc fix.
61785
61786 2008-01-30  Peter Palfrader  <weasel@debian.org>
61787
61788         sha1: remove the result buffer alignment constraint
61789         * lib/sha1.c (set_uint32): New function.
61790         (sha1_read_ctx): Rewrite to remove the result buffer alignment
61791         constraint.
61792         (sha1_finish_ctx): Remove comment warning about alignment constraint.
61793         * lib/sha1.h: Likewise.
61794
61795 2008-01-30  Andreas Schwab  <schwab@suse.de>
61796             Bruno Haible  <bruno@clisp.org>
61797
61798         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
61799         correct definition of LDBL_MIN_EXP.
61800
61801 2008-01-30  Karl Berry  <karl@gnu.org>
61802
61803         * config/srclist-update: try to preserve x bit on updates.
61804         * config/srclistvars.sh: update for karl.
61805
61806 2008-01-29  Jim Meyering  <meyering@redhat.com>
61807
61808         vasnprintf.c: Avoid warning about unused label
61809         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
61810         "overflow" label definition and associated code with the
61811         same cpp condition that guards the sole use of that label.
61812
61813 2008-01-26  Bruno Haible  <bruno@clisp.org>
61814
61815         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
61816         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
61817         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
61818         * lib/isnanl-nolibm.h (isnanl): Likewise.
61819         Reported by Paul Eggert <eggert@cs.ucla.edu>.
61820
61821 2008-01-26  Bruno Haible  <bruno@clisp.org>
61822
61823         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
61824         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
61825
61826 2008-01-26  Bruno Haible  <bruno@clisp.org>
61827
61828         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
61829         GCC >= 4.0 built-in.
61830         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
61831
61832 2008-01-26  Bruno Haible  <bruno@clisp.org>
61833
61834         Rename isnan, applicable to 'double' only, to isnand.
61835         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
61836         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
61837         (configure.ac): Update.
61838         (Include): Replace "isnan.h" with "isnand.h".
61839         * m4/isnand.m4: Renamed from m4/isnan.m4.
61840         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
61841         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
61842         instead of isnan.c.
61843         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
61844         instead of HAVE_ISNAN_IN_LIBC.
61845         (isnand): Renamed from isnan.
61846         * lib/isnand.c: New file.
61847         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
61848         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
61849         (Makefile.am): Update.
61850         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
61851         Include isnand.h instead of isnan.h.
61852         (main): Test isnand instead of isnan.
61853         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
61854         isnan-nolibm.
61855         * modules/frexp (Depends-on): Likewise.
61856         * modules/frexp-tests (Depends-on): Likewise.
61857         * modules/frexp-nolibm (Depends-on): Likewise.
61858         * modules/frexp-nolibm-tests (Depends-on): Likewise.
61859         * modules/isfinite (Depends-on): Likewise.
61860         * modules/round-tests (Depends-on): Likewise.
61861         * modules/signbit (Depends-on): Likewise.
61862         * modules/signbit-tests (Depends-on): Likewise.
61863         * modules/snprintf-posix (Depends-on): Likewise.
61864         * modules/sprintf-posix (Depends-on): Likewise.
61865         * modules/trunc-tests (Depends-on): Likewise.
61866         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
61867         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
61868         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
61869         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
61870         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
61871         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
61872         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
61873         * modules/vasnprintf-posix (Depends-on): Likewise.
61874         * modules/vasprintf-posix (Depends-on): Likewise.
61875         * modules/vfprintf-posix (Depends-on): Likewise.
61876         * modules/vsnprintf-posix (Depends-on): Likewise.
61877         * modules/vsprintf-posix (Depends-on): Likewise.
61878         * lib/frexp.c: Include isnand.h instead of isnan.h.
61879         (ISNAN): Set to isnand instead of isnan.
61880         * lib/isfinite.c: Include isnand.h instead of isnan.h.
61881         (gl_isfinited): Use isnand instead of isnan.
61882         * lib/signbitd.c: Include isnand.h instead of isnan.h.
61883         (gl_signbitd): Use isnand instead of isnan.
61884         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
61885         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
61886         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
61887         (main): Use isnand instead of isnan.
61888         * tests/test-round1.c: Include isnand.h.
61889         (main): Use isnand instead of isnan.
61890         * tests/test-round2.c: Include isnand.h instead of isnan.h.
61891         (ISNAN): Set to isnand instead of isnan.
61892         * tests/test-trunc1.c: Include isnand.h.
61893         (main): Use isnand instead of isnan.
61894         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
61895         (equal): Use isnand instead of isnan.
61896         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
61897         isnand-nolibm.
61898         * NEWS: Mention the change.
61899
61900 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
61901             Bruno Haible  <bruno@clisp.org>
61902
61903         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
61904         the GCC builtins for signbits are present and set
61905         REPLACE_SIGNBIT_USING_GCC if so.
61906         * lib/math.in.h (signbit): Define using GCC builtins if
61907         REPLACE_SIGNBIT_USING_GCC is set.
61908         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
61909         REPLACE_SIGNBIT_USING_GCC.
61910         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
61911
61912 2008-01-25  Jim Meyering  <meyering@redhat.com>
61913
61914         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
61915         * lib/poll.c: Include <config.h>, not "config.h".
61916         * tests/test-getaddrinfo.c: Likewise.
61917
61918 2008-01-25  Simon Josefsson  <simon@josefsson.org>
61919
61920         * modules/sockets-tests: New file.
61921
61922 2008-01-24  Simon Josefsson  <simon@josefsson.org>
61923
61924         * modules/sockets: New module, can be used to call WSA_Startup and
61925         WSA_Cleanup when needed.
61926
61927         * lib/sockets.h, lib/sockets.c: New files.
61928
61929         * m4/sockets.m4: New file.
61930
61931         * tests/test-sockets.c: New file.
61932
61933 2008-01-19  Bruno Haible  <bruno@clisp.org>
61934
61935         * doc/posix-headers: Renamed from doc/headers.
61936         * doc/posix-functions: Renamed from doc/functions.
61937         * doc/gnulib.texi: Update.
61938
61939 2008-01-19  Bruno Haible  <bruno@clisp.org>
61940
61941         * doc/glibc-functions/strcasestr.texi: Include contents of
61942         doc/functions/strcasestr.texi, fixing the list of platforms.
61943         * doc/functions/strcasestr.texi: Remove file.
61944
61945 2008-01-19  Bruno Haible  <bruno@clisp.org>
61946
61947         * doc/glibc-functions/memmem.texi: Include contents of
61948         doc/functions/memmem.texi.
61949         * doc/functions/memmem.texi: Remove file.
61950
61951 2008-01-18  Bruno Haible  <bruno@clisp.org>
61952
61953         * doc/glibc-functions/*.texi: New files.
61954         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
61955         to use the new files.
61956
61957 2008-01-17  Bruno Haible  <bruno@clisp.org>
61958
61959         * tests/test-gethostname.c (main): Fix printf statement.
61960
61961 2008-01-17  Simon Josefsson  <simon@josefsson.org>
61962
61963         * modules/gethostname-tests: New file.
61964
61965         * tests/test-gethostname.c: New file.
61966
61967 2008-01-17  Simon Josefsson  <simon@josefsson.org>
61968
61969         * lib/gethostname.c: Include string.h unconditionally, strncpy is
61970         used by the UNAME case.  Reported by Bruno Haible
61971         <bruno@clisp.org>.
61972
61973 2008-01-17  Eric Blake  <ebb9@byu.net>
61974
61975         Convert c-strcasestr to be more efficient.
61976         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
61977         (Depends-on): Add c-strcase, remove malloca, strnlen.
61978         * tests/test-c-strcasestr.c (main): Enhance test.
61979         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
61980
61981 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
61982
61983         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
61984         Use it in creating po/Makevars.
61985
61986 2008-01-15  Simon Josefsson  <simon@josefsson.org>
61987
61988         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
61989         Applications that requires it should initialize libgcrypt
61990         manually.
61991
61992 2008-01-16  Simon Josefsson  <simon@josefsson.org>
61993
61994         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
61995
61996 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
61997
61998         Fix problem with getdate on mingw32 reported by Simon Josefsson
61999         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
62000         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
62001         tzname", when deciding whether to declare tzname.
62002         * lib/strftime.c (tzname): Likewise.
62003
62004 2008-01-15  Bruno Haible  <bruno@clisp.org>
62005
62006         Work around a MacOS X 10.5 bug in frexpl().
62007         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
62008         * doc/functions/frexpl.texi: Document the bug.
62009         Reported by Elias Pipping <pipping@gentoo.org>.
62010
62011 2008-01-14  Eric Blake  <ebb9@byu.net>
62012
62013         Touch up previous patch.
62014         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
62015         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
62016
62017         Convert strcasestr module to use Two-Way algorithm.
62018         * modules/strcasestr-simple: New module, based on the old
62019         strcasestr, but with Two-Way rather than KMP.
62020         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
62021         * lib/string.in.h (rpl_strcasestr): Declare.
62022         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
62023         performance.
62024         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
62025         * modules/string (Makefile.am): Support strcasestr.
62026         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
62027         * modules/strcasestr-tests (Depends-on): Check for alarm.
62028         * tests/test-strcasestr.c: Augment test.
62029         * lib/str-two-way.h: Clean up stray macro.
62030         * NEWS: Document new module.
62031         * MODULES.html.sh (string handling): Likewise.
62032         * doc/functions/strcasestr.texi: New file.
62033         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
62034         here, since it is not a POSIX function.
62035
62036 2008-01-14  Colin Watson  <cjwatson@debian.org>
62037             Bruno Haible  <bruno@clisp.org>
62038
62039         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
62040         works fine; if not, set REPLACE_STRSIGNAL.
62041         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
62042         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
62043         REPLACE_STRSIGNAL.
62044         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
62045         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
62046         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
62047
62048 2008-01-14  Bruno Haible  <bruno@clisp.org>
62049
62050         * modules/strsignal (Include): Change to <string.h>.
62051
62052 2008-01-14  Colin Watson  <cjwatson@debian.org>
62053
62054         * modules/argp (Notice): Add a notice recommending to change
62055         XGETTEXT_OPTIONS.
62056         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
62057
62058 2008-01-13  Colin Watson  <cjwatson@debian.org>
62059
62060         * modules/strsignal-tests: New file.
62061         * tests/test-strsignal.c: New file.
62062
62063         * lib/strsignal.c: New file, from glibc with modifications.
62064         * lib/siglist.h: New file, from glibc with modifications.
62065         * lib/string.in.h (strsignal): New declaration.
62066         * m4/strsignal.m4: New file.
62067         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
62068         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
62069         * modules/strsignal: New file.
62070         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
62071         HAVE_DECL_STRSIGNAL.
62072
62073 2008-01-13  Bruno Haible  <bruno@clisp.org>
62074
62075         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
62076         locale encoding is not ASCII. Needed for OpenBSD 4.0.
62077         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
62078         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
62079
62080 2008-01-13  Bruno Haible  <bruno@clisp.org>
62081
62082         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
62083         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
62084         * lib/argp.h (__attribute__): Likewise.
62085         * lib/c-stack.c (__attribute__): Likewise.
62086         * lib/error.h (__attribute__): Likewise.
62087         * lib/fts.c (__attribute__): Likewise.
62088         * lib/openat.h (__attribute__): Likewise.
62089         * lib/stdio.in.h (__attribute__): Likewise.
62090         * lib/string.in.h (__attribute__): Likewise.
62091         * lib/utimens.c (__attribute__): Likewise.
62092         * lib/vasnprintf.h (__attribute__): Likewise.
62093         * lib/xalloc.h (__attribute__): Likewise.
62094         * lib/xprintf.h (__attribute__): Likewise.
62095         * lib/xstrtol.h (__attribute__): Likewise.
62096         * lib/xvasprintf.h (__attribute__): Likewise.
62097
62098 2008-01-12  Bruno Haible  <bruno@clisp.org>
62099
62100         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
62101         * doc/glibc-headers/a.out.texi: New file.
62102         * doc/glibc-headers/aliases.texi: New file.
62103         * doc/glibc-headers/alloca.texi: New file.
62104         * doc/glibc-headers/ar.texi: New file.
62105         * doc/glibc-headers/argp.texi: New file.
62106         * doc/glibc-headers/argz.texi: New file.
62107         * doc/glibc-headers/byteswap.texi: New file.
62108         * doc/glibc-headers/crypt.texi: New file.
62109         * doc/glibc-headers/endian.texi: New file.
62110         * doc/glibc-headers/envz.texi: New file.
62111         * doc/glibc-headers/err.texi: New file.
62112         * doc/glibc-headers/error.texi: New file.
62113         * doc/glibc-headers/execinfo.texi: New file.
62114         * doc/glibc-headers/fpu_control.texi: New file.
62115         * doc/glibc-headers/fstab.texi: New file.
62116         * doc/glibc-headers/fts.texi: New file.
62117         * doc/glibc-headers/getopt.texi: New file.
62118         * doc/glibc-headers/ieee754.texi: New file.
62119         * doc/glibc-headers/ifaddrs.texi: New file.
62120         * doc/glibc-headers/libintl.texi: New file.
62121         * doc/glibc-headers/mcheck.texi: New file.
62122         * doc/glibc-headers/mntent.texi: New file.
62123         * doc/glibc-headers/obstack.texi: New file.
62124         * doc/glibc-headers/paths.texi: New file.
62125         * doc/glibc-headers/printf.texi: New file.
62126         * doc/glibc-headers/pty.texi: New file.
62127         * doc/glibc-headers/resolv.texi: New file.
62128         * doc/glibc-headers/shadow.texi: New file.
62129         * doc/glibc-headers/sysexits.texi: New file.
62130         * doc/glibc-headers/ttyent.texi: New file.
62131
62132 2008-01-12  Jim Meyering  <meyering@redhat.com>
62133
62134         announce-gen: emit Gnulib's git-based version string.
62135         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
62136         New option --gnulib-version=V, where V is expected to be
62137         the output of running git describe in the gnulib directory.
62138         (get_tool_versions): Request feedback on xdelta.  I suspect it's
62139         not useful, and plan to stop publishing an xdelta file with each
62140         coreutils release.
62141
62142         * build-aux/announce-gen: Also check for lzma-compressed files.
62143
62144 2008-01-11  Bruno Haible  <bruno@clisp.org>
62145
62146         * tests/test-memmem.c (main): Increase maximum allowed time.
62147         * tests/test-strstr.c (main): Likewise.
62148
62149 2008-01-11  Bruno Haible  <bruno@clisp.org>
62150
62151         * doc/functions/memmem.texi: Add more precisions about platforms.
62152         * doc/functions/strstr.texi: Likewise.
62153
62154 2008-01-10  Eric Blake  <ebb9@byu.net>
62155
62156         * m4/strstr.m4: Delete cruft from copy-n-paste.
62157         Reported by Bruno Haible.
62158
62159 2008-01-10  Bruno Haible  <bruno@clisp.org>
62160
62161         Make c-strstr rely on strstr.
62162         * lib/c-strstr.c: Don't include str-kmp.h.
62163         (c_strstr): Define in terms of strstr.
62164         * modules/c-strstr (Files): Remove lib/str-kmp.h.
62165         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
62166
62167 2008-01-10  Bruno Haible  <bruno@clisp.org>
62168
62169         * doc/gnulib.texi (String Functions in C Locale): New section.
62170         * doc/c-ctype.texi: New file.
62171         * doc/c-strcase.texi: New file.
62172         * doc/c-strcaseeq.texi: New file.
62173         * doc/c-strcasestr.texi: New file.
62174         * doc/c-strstr.texi: New file.
62175         * doc/c-strtod.texi: New file.
62176         * doc/c-strtold.texi: New file.
62177
62178 2008-01-10  Eric Blake  <ebb9@byu.net>
62179
62180         * lib/relocatable.h: Fix a comment.
62181
62182 2008-01-10  Eric Blake  <ebb9@byu.net>
62183
62184         Share two-way algorithm.
62185         * lib/str-two-way.h: New file, merged from...
62186         * lib/memmem.c: ...here...
62187         * lib/strstr.c: ...and here.
62188         * modules/memmem (Files): Use it.
62189         * modules/strstr (Files): Likewise.
62190
62191         Avoid quadratic strstr implementations.
62192         * lib/strstr.c: New file.
62193         * m4/strstr.m4: Likewise.
62194         * modules/strstr: Likewise.
62195         * modules/strstr-tests: Likewise.
62196         * tests/test-strstr.c: Likewise.
62197         * lib/string.in.h (rpl_strstr): Declare.
62198         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
62199         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
62200         * modules/string (Makefile.am): Likewise.
62201         * MODULES.html.sh (string handling): Mention new module.
62202         * doc/functions/strstr.texi (strstr): Document the bug.
62203
62204 2008-01-10  Bruno Haible  <bruno@clisp.org>
62205
62206         * lib/relocatable.h (relocate): State whether result is freshly
62207         allocated or not.
62208         * lib/relocatable.c (relocate): Return a freshly allocated string
62209         instead of a pointer to a privately held string.
62210         Reported by Sylvain Beucler <beuc@gnu.org>.
62211
62212 2008-01-10  Colin Watson  <cjwatson@debian.org>
62213
62214         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
62215         s/S_ISNLK/S_ISLNK/.
62216
62217 2008-01-09  Bruno Haible  <bruno@clisp.org>
62218
62219         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
62220         and other files.
62221         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
62222         if it's only a guess.
62223         * modules/memmem: Simplify by depending on memmem-simple.
62224
62225 2008-01-09  Bruno Haible  <bruno@clisp.org>
62226
62227         Work around OpenBSD 4.0 tdelete() bug.
62228         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
62229         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
62230         macros and don't redefine the enum values.
62231         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
62232         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
62233         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
62234
62235 2008-01-09  Bruno Haible  <bruno@clisp.org>
62236
62237         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
62238         (main): Don't perform the tests if setlocale did not install a UTF-8
62239         locale. Needed on OpenBSD 4.0.
62240         * modules/wcwidth-tests (Depends-on): Add localcharset.
62241
62242 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
62243
62244         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
62245         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
62246         * NEWS: announce this.
62247         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
62248
62249 2008-01-09  Simon Josefsson  <simon@josefsson.org>
62250         and Eric Blake  <ebb9@byu.net>
62251
62252         Add memmem-simple module.
62253         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
62254         (gl_FUNC_MEMMEM): Separate performance from presence checks.
62255         * modules/memmem-simple: New file.
62256         * modules/memmem (Description): Tweak.
62257         * MODULES.html.sh (string handling): Mention new module.
62258         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
62259         addressed by memmem-simple.
62260         * NEWS: Document the difference.
62261
62262 2008-01-09  Eric Blake  <ebb9@byu.net>
62263
62264         Give gcc some memmem optimization hints.
62265         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
62266         (strcasestr): Declare as pure.
62267         * modules/memmem (Maintainer): Claim my implementation.
62268
62269 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62270
62271         Support AIX 6.1 and higher.
62272         * build-aux/config.libpath: Likewise.
62273         * build-aux/config.rpath: Likewise.
62274
62275 2008-01-08  Jim Meyering  <meyering@redhat.com>
62276             Bruno Haible  <bruno@clisp.org>
62277
62278         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
62279         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
62280         Reported by Peter Fales in
62281         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
62282
62283 2008-01-08  Bruno Haible  <bruno@clisp.org>
62284
62285         * modules/unictype/category-of (Depends-on): Add
62286         unictype/category-none.
62287         * modules/unictype/category-and-tests (Depends-on): Add
62288         unictype/category-{L,N,Lu,Nd}.
62289         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
62290         * modules/unictype/category-or-tests (Depends-on): Add
62291         unictype/category-{L,N}.
62292         * modules/unictype/category-name-tests (Depends-on): Add
62293         unictype/category-{Z,Nl}.
62294         Reported by Simon Josefsson.
62295
62296 2008-01-08  Bruno Haible  <bruno@clisp.org>
62297
62298         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
62299         convention better.
62300         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
62301         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
62302         Reported by Peter Miller <millerp@canb.auug.org.au>.
62303
62304 2008-01-08  Eric Blake  <ebb9@byu.net>
62305
62306         Rewrite memmem to guarantee linear complexity without malloc.
62307         * lib/memmem.c (memmem): Use Two-Way rather than
62308         Knuth-Morris-Pratt, to allow O(1) space usage.
62309         (critical_factorization, two_way_short_needle)
62310         (two_way_long_needle): New functions.
62311         (knuth_morris_pratt): Delete.
62312         * modules/memmem (Depends-on): No longer need malloca or stdbool.
62313         Add stdint.
62314         * tests/test-memmem.c (main): Add tests for periodic needle and
62315         sublinear performance.
62316         * doc/functions/memmem.texi (memmem): Document other deficiencies
62317         in cygwin and older glibc.
62318
62319 2008-01-08  Bruno Haible  <bruno@clisp.org>
62320
62321         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
62322         augmentation.
62323
62324 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
62325
62326         Add a configure time option: --disable-acl.
62327         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
62328         AC_ARG_ENABLE(acl).
62329
62330 2008-01-06  Simon Josefsson  <simon@josefsson.org>
62331
62332         * tests/test-localename.c: Don't include obsolete "setenv.h".
62333
62334         * modules/localename-tests (Depends-on): Need unsetenv.
62335
62336 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62337
62338         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
62339
62340 2008-01-06  Colin Watson  <cjwatson@debian.org>
62341
62342         * users.txt: Add man-db.
62343
62344 2008-01-07  Bruno Haible  <bruno@clisp.org>
62345
62346         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
62347         previous section name.
62348
62349 2008-01-07  Bruno Haible  <bruno@clisp.org>
62350
62351         * lib/progname.c (set_program_name): Don't strip off a leading
62352         "lt-" prefix outside a .libs directory.
62353         Suggested by Paul Eggert.
62354
62355 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
62356             Bruno Haible  <bruno@clisp.org>
62357
62358         Improve memory cleanup in 'relocatable' module.
62359         * lib/relocatable.h (compute_curr_prefix): Change return type to
62360         'char *'.
62361         * lib/relocatable.c (compute_curr_prefix): Change return type to
62362         'char *'. Free curr_installdir after use.
62363         (relocate): Free curr_prefix_better after use.
62364         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
62365
62366 2008-01-01  Bruno Haible  <bruno@clisp.org>
62367
62368         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
62369         failure on older glibc systems.
62370         Reported by Peter Fales <psfales@alcatel-lucent.com>.
62371
62372 2008-01-05  Eric Blake  <ebb9@byu.net>
62373
62374         Avoid quadratic system memmem.
62375         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
62376         Reported by Ralf Wildenhues.
62377
62378         Fix memmem test for mingw.
62379         * modules/memmem-tests (configure.ac): Check for alarm.
62380         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
62381         it.
62382         * doc/functions/memmem.texi: New file.
62383         * doc/gnulib.texi (Function Substitutes): Add memmem.
62384         Reported by Bruno Haible.
62385
62386 2008-01-04  Bruno Haible  <bruno@clisp.org>
62387
62388         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
62389         Require gl_HEADER_STRINGS_H_DEFAULTS, not
62390         gl_HEADER_STRING_H_DEFAULTS.
62391
62392 2008-01-04  Eric Blake  <ebb9@byu.net>
62393
62394         Shorten duration of memmem test.
62395         * tests/test-memmem.c (main): Use alarm to declare failure if test
62396         is taking too long.
62397         Reported by Ralf Wildenhues.
62398
62399 2007-12-21  Simon Josefsson  <simon@josefsson.org>
62400
62401         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
62402         string, needed by strerror.
62403
62404 2008-01-03  Colin Watson  <cjwatson@debian.org>
62405             Bruno Haible  <bruno@clisp.org>
62406
62407         * doc/gnulib-tool.texi (Localization): New section.
62408
62409 2008-01-02  Bruno Haible  <bruno@clisp.org>
62410
62411         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
62412         variables to 'unsigned char *' type.
62413         Reported by Paul Eggert.
62414
62415 2008-01-02  Jim Meyering  <jim@meyering.net>
62416
62417         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
62418
62419 2007-12-31  Jim Meyering  <jim@meyering.net>
62420
62421         Avoid use of private FTS type name.
62422         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
62423
62424 2007-12-30  Karl Berry  <karl@gnu.org>
62425
62426         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
62427         work around defect in Texinfo and/or the standalone Info browser.
62428
62429 2007-12-30  Bruno Haible  <bruno@clisp.org>
62430
62431         Unify 5 copies of the KMP code.
62432         * lib/str-kmp.h: New file.
62433         * lib/c-strcasestr.c: Include str-kmp.h.
62434         (knuth_morris_pratt): Remove function.
62435         (c_strcasestr): Update.
62436         * lib/c-strstr.c: Include str-kmp.h.
62437         (knuth_morris_pratt): Remove function.
62438         (c_strcasestr): Update.
62439         * lib/mbscasestr.c: Include str-kmp.h.
62440         (knuth_morris_pratt_unibyte): Remove function.
62441         * lib/mbsstr.c: Include str-kmp.h.
62442         (knuth_morris_pratt_unibyte): Remove function.
62443         * lib/strcasestr.c: Include str-kmp.h.
62444         (knuth_morris_pratt): Remove function.
62445         (strcasestr): Update.
62446         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
62447         * modules/c-strstr (Files): Likewise.
62448         * modules/mbscasestr (Files): Likewise.
62449         * modules/mbsstr (Files): Likewise.
62450         * modules/strcasestr (Files): Likewise.
62451         Suggested by Paul Eggert.
62452
62453 2007-12-30  Bruno Haible  <bruno@clisp.org>
62454
62455         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
62456         defined.
62457
62458 2007-12-30  Bruno Haible  <bruno@clisp.org>
62459
62460         * lib/xmalloca.h: Include xalloc.h.
62461         (xnmalloca): New macro.
62462
62463 2007-12-30  Bruno Haible  <bruno@clisp.org>
62464
62465         * lib/malloca.h (nmalloca): New macro.
62466         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
62467         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
62468         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
62469         knuth_morris_pratt_multibyte): Likewise.
62470         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
62471         knuth_morris_pratt_multibyte): Likewise.
62472         * lib/memmem.c (knuth_morris_pratt): Likewise.
62473         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
62474
62475 2007-12-25  Bruno Haible  <bruno@clisp.org>
62476
62477         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
62478         * lib/glob.c: Don't include openat.h.
62479         (link_exists2_p): Add back the code that deals with the
62480         !GLOB_ALTDIRFUNC case.
62481         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
62482         let it do the filename concatenation.
62483         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
62484         * modules/glob (Depends-on): Remove openat.
62485
62486 2007-12-31  Bruno Haible  <bruno@clisp.org>
62487
62488         * modules/dirfd (License): Change to LGPLv2+.
62489         Approved by Jim Meyering.
62490
62491 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
62492
62493         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
62494         when multiplying M by sizeof (size_t).
62495
62496 2007-12-10  Martin Lambers  <marlam@marlam.de>
62497
62498         Override getpagesize on mingw.
62499         * lib/getpagesize.c: New file.
62500         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
62501         * modules/getpagesize (Files): Add lib/getpagesize.c.
62502         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
62503         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
62504         REPLACE_GETPAGESIZE.
62505         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
62506
62507 2007-12-25  Bruno Haible  <bruno@clisp.org>
62508
62509         * modules/localcharset (Notice): New field.
62510         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
62511         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
62512
62513 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
62514             Bruno Haible  <bruno@clisp.org>
62515
62516         Avoid using the syntax symbol() in formatted documentation.
62517         * MODULES.html.sh (func_module): When replacing symbol() with a
62518         hyperlink, remove the parentheses. Show an error if some remain.
62519         Recognize and render the '...' syntax.
62520         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
62521         Rework. Add paragraph about GCC's inlining.
62522         * doc/alloca.texi: Likewise.
62523         * doc/error.texi: Remove parentheses from symbol reference.
62524         * doc/gnulib-intro.texi: Likewise.
62525         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
62526         * modules/fnmatch (Description): Reword to say "the ... function".
62527         * modules/full-read (Description): Likewise.
62528         * modules/full-write (Description): Likewise.
62529         * modules/safe-read (Description): Likewise.
62530         * modules/safe-write (Description): Likewise.
62531         * modules/strchrnul (Description): Likewise.
62532         * modules/trim (Description): Likewise.
62533         * modules/error (Description): Remove parentheses from symbol
62534         references.
62535         * modules/verror (Description): Likewise.
62536         Reported by Karl Berry.
62537
62538 2007-12-25  Bruno Haible  <bruno@clisp.org>
62539
62540         Fixup after 2007-10-16 commit.
62541         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
62542
62543 2007-12-24  Bruno Haible  <bruno@clisp.org>
62544
62545         Make --enable-relocatable work with DESTDIR.
62546         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
62547         to compute installdir from destprog.
62548         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
62549         also set the RELOC_DESTDIR variable.
62550         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
62551
62552 2007-12-24  Bruno Haible  <bruno@clisp.org>
62553
62554         Fix link error due to xalloc_die().
62555         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
62556         of xreadlink.
62557         * lib/relocwrapper.c: Update comments.
62558         * build-aux/install-reloc: Remove xreadlink.c from file list.
62559         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
62560         xreadlink.c.
62561         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
62562
62563 2007-12-24  Bruno Haible  <bruno@clisp.org>
62564
62565         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
62566         * lib/setenv.h: Remove file.
62567         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
62568         lib/setenv.h.
62569         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
62570         (Depends-on): Add stdlib.
62571         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
62572         gl_FUNC_UNSETENV.
62573         (Include): Replace setenv.h with <stdlib.h>.
62574         * modules/unsetenv: New file.
62575         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
62576         * lib/unsetenv.c: Include <stdlib.h> first.
62577         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
62578         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
62579         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
62580         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
62581         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
62582         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
62583         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
62584         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
62585         * doc/functions/unsetenv.texi: Update.
62586         * modules/xsetenv (Depends-on): Add unsetenv.
62587         * modules/getdate (Depends-on): Likewise.
62588         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
62589         * lib/xsetenv.c: Don't include setenv.h.
62590         * lib/getdate.y: Likewise.
62591         * lib/relocwrapper.c: Likewise.
62592         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
62593         (Depends-on): Add stdlib.
62594         * NEWS: Mention the changes.
62595         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
62596
62597 2007-12-23  Bruno Haible  <bruno@clisp.org>
62598
62599         * lib/memmem.c (memmem): Use lowercase variable names. Tab
62600         indentation.
62601
62602 2007-12-23  Bruno Haible  <bruno@clisp.org>
62603
62604         * lib/c-strcasestr.c: Add more comments.
62605         * lib/c-strstr.c: Likewise.
62606         * lib/mbscasestr.c: Likewise.
62607         * lib/mbsstr.c: Likewise.
62608         * lib/strcasestr.c: Likewise.
62609         * lib/memmem.c: Likewise.
62610
62611 2007-12-23  Bruno Haible  <bruno@clisp.org>
62612
62613         * tests/test-memmem.c: Include <string.h> first.
62614
62615 2007-12-22  Bruno Haible  <bruno@clisp.org>
62616
62617         * gnulib-tool (func_create_testdir): Change $auxdir while generating
62618         the contents of $testsbase.
62619         Reported by Ralf Wildenhues.
62620
62621 2007-12-22  Bruno Haible  <bruno@clisp.org>
62622
62623         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
62624         two variables local_ldadd_before, local_ldadd_last.
62625
62626 2007-12-20  Eric Blake  <ebb9@byu.net>
62627
62628         Work around circular library issue when cross-compiling.
62629         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
62630         that progname.o does not need to pull in rpl_memcmp.
62631
62632 2007-12-19  Eric Blake  <ebb9@byu.net>
62633
62634         Fix memmem to avoid O(n^2) worst-case complexity.
62635         * lib/memmem.c (knuth_morris_pratt): New function.
62636         (memmem): Use it if first few naive iterations fail.
62637         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
62638         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
62639         * modules/memchr (License): Likewise.
62640         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
62641         malloca.
62642         * tests/test-memmem.c: Rewrite, borrowing ideas from
62643         test-mbsstr1.c; the old version wouldn't even compile!
62644         * modules/memmem-tests: New file.
62645         * lib/string.in.h (rpl_memmem): Add declaration.
62646         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
62647         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
62648         REPLACE_MEMMEM.
62649
62650 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
62651
62652         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
62653         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
62654         before any system include files, and undef after them all.  This
62655         should fix a problem on VMS reported by John E. Malmberg in
62656         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
62657
62658 2007-12-17  Eric Blake  <ebb9@byu.net>
62659
62660         Revert addition of verify, for BSD/OS.
62661         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
62662         can't handle large files, for the sake of obsolete platforms.
62663         * modules/fseeko (Depends-on): Remove verify.
62664         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
62665         * doc/functions/ftello.texi (ftello): Likewise.
62666         * doc/functions/fgetpos.texi (fgetpos): Likewise.
62667         Reported by Larry Jones.
62668
62669 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
62670
62671         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
62672         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
62673
62674 2007-12-17  Jim Meyering  <meyering@redhat.com>
62675
62676         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
62677         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
62678         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
62679         * modules/getcwd (Depends-on): Add openat.
62680         Reported by Petr Salinger.
62681
62682 2007-12-17  Bruno Haible  <bruno@clisp.org>
62683
62684         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
62685         avoid a segmentation fault of the configure test on x86_64 systems.
62686
62687 2007-12-15  Jim Meyering  <meyering@redhat.com>
62688
62689         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
62690
62691 2007-12-13  Eric Blake  <ebb9@byu.net>
62692
62693         Another fseek test.
62694         * tests/test-fseek.c (main): Also test ungetc handling.
62695         * tests/test-fseeko.c (main): Likewise.
62696         * modules/fseeko (Depends-on): Add verify.
62697         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
62698         large.
62699         Reported by Larry Jones.
62700
62701         Fix fseeko on mingw.
62702         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
62703         seek.
62704
62705         Beef up fseek tests.
62706         * tests/test-fseek.c (main): Also test eof handling.
62707         * tests/test-fseeko.c (main): Likewise.
62708         Reported by Larry Jones.
62709
62710 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
62711
62712         Fix fseeko on BSD-based platforms.
62713         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
62714         successful seek.
62715
62716 2007-12-12  Eric Blake  <ebb9@byu.net>
62717
62718         Allow circular dependency of separate libtests.a
62719         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
62720         when use_libtests.
62721
62722 2007-12-11  Eric Blake  <ebb9@byu.net>
62723
62724         Fix bug with -0.0L in previous patch.
62725         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
62726         * tests/test-isnan.c (main): Also test on zeroes.
62727         * tests/test-isnanf.c (main): Likewise.
62728         * tests/test-isnanl.h (main): Likewise.
62729
62730         Detect pseudo-denormals on x86 even when cross-compiling.
62731         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
62732         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
62733         invalid bit patterns that happen to satisfy ==.
62734
62735         Avoid link failures with separate libtests.a.
62736         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
62737         last, to satisfy circular dependencies.
62738
62739 2007-12-11  Eric Blake  <ebb9@byu.net>
62740         and Bruno Haible  <bruno@clisp.org>
62741
62742         Fix OpenBSD 4.0 <float.h> handling of long double.
62743         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
62744         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
62745         * doc/headers/float.texi (float.h): Document OpenBSD bug.
62746
62747 2007-12-11  Jim Meyering  <meyering@redhat.com>
62748
62749         * users.txt: Add libvirt.
62750
62751         Support versions of autoconf prior to 2.59c.
62752         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
62753         if it is not already defined.
62754
62755 2007-12-09  Bruno Haible  <bruno@clisp.org>
62756
62757         Let 'gnulib-tool --import' collect sources needed for the tests in
62758         tests/ rather than in lib/.
62759         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
62760         argument. If true, add rules to generate libtests.a, and put libtests.a
62761         into $(LDADD). Consider source files in subdirectories and set
62762         uses_subdirs.
62763         (func_emit_initmacro_start, func_emit_initmacro_end,
62764         func_emit_initmacro_done): Pass all arguments explicitly.
62765         (func_import): Determine two module lists main_modules,
62766         testsrelated_modules. Determine use_libtests. Determine two variables
62767         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
62768         instead of just sed_transform_lib_file. Determine two variables
62769         main_files and testsrelated_files. Compute 'files' as the union of
62770         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
62771         func_add_or_update. In the generated gnulib-comp.m4, collect the
62772         object files for tests/ in different variables than those for lib/.
62773         Substitute LIBTESTS_LIBDEPS.
62774         (func_create_testdir): Combine the uses_subdirs results from
62775         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
62776
62777 2007-12-09  Bruno Haible  <bruno@clisp.org>
62778
62779         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
62780         the build-aux directory.
62781
62782 2007-12-09  Bruno Haible  <bruno@clisp.org>
62783
62784         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
62785         introduced on 2006-09-09.
62786
62787 2007-12-07  Jim Meyering  <meyering@redhat.com>
62788
62789         Let these macros work also with autoconf-2.59.
62790         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
62791         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
62792         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
62793
62794 2007-12-06  Jim Meyering  <meyering@redhat.com>
62795
62796         Avoid a configure-time syntax error in gl_FUNC_ACL.
62797         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
62798         function in each branch, before testing the cache variable.
62799
62800 2007-12-04  Eric Blake  <ebb9@byu.net>
62801
62802         Make scripts executable.
62803         * build-aux/config.guess: Add execute permissions.
62804         * build-aux/config.sub: Likewise.
62805         * build-aux/gendocs.sh: Likewise.
62806
62807         Fix frexp on mingw.
62808         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
62809         cross-compiling.
62810         * doc/functions/frexp.texi (frexp): Document the bug.
62811
62812         Make cygwin fseeko check more reliable.
62813         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
62814         version numbers, rather than unrelated feature check.
62815         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
62816         * doc/functions/ftello.texi (ftello): Likewise.
62817         Reported by Bruno Haible.
62818
62819         * m4/strerror.m4: Bump version number.
62820
62821 2007-12-03  Bruno Haible  <bruno@clisp.org>
62822
62823         * doc/functions/mprotect.texi: Mention the mingw problem.
62824
62825 2007-12-03  Eric Blake  <ebb9@byu.net>
62826
62827         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
62828         REPLACE_STRERROR is initialized before this macro.
62829
62830 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
62831
62832         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
62833         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
62834         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
62835         put -lsec in even for programs other than 'ls'.  This fixes a problem
62836         for gettext reported by Bruno Haible in
62837         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
62838         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
62839         Add support for Solaris 10.  This isn't efficient, but should get the
62840         job done for now.
62841
62842 2007-12-03  James Youngman  <jay@gnu.org>
62843
62844         * doc/regexprops-generic.texi: change "an close-group" to "a
62845         close-group" and "illegal" to "not allowed".
62846
62847 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62848
62849         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
62850         pr_byname.h. Needed for the rare case when the maintainer has done
62851         "make maintainer-clean" in the source directory and then attempts a
62852         build outside the source directory.
62853         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
62854         scripts_byname.h.
62855
62856 2007-12-02  Martin Lambers <marlam@marlam.de>
62857             Bruno Haible  <bruno@clisp.org>
62858
62859         * lib/getpagesize.h: Remove file.
62860         * lib/unistd.in.h: Include declaration of getpagesize here.
62861         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
62862         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
62863         HAVE_SYS_PARAM_H.
62864         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
62865         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
62866         * modules/getpagesize (Files): Remove lib/getpagesize.h.
62867         (Depends-on): Add unistd.
62868         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
62869         (Include): Use <unistd.h> instead of getpagesize.h.
62870         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
62871         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
62872         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
62873         gl_GETPAGESIZE invocation, already handled by module dependency.
62874         * lib/pagealign_alloc.c: Don't include getpagesize.h.
62875
62876 2007-12-02  Bruno Haible  <bruno@clisp.org>
62877
62878         * modules/strings-tests: New file.
62879         * tests/test-strings.c: New file.
62880
62881         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
62882         * lib/strings.in.h: New file.
62883         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
62884         * m4/strings_h.m4: New file.
62885         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
62886         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
62887         * modules/strings: New file.
62888         * modules/string (Makefile.am): Update.
62889         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
62890         Reported by Karl Berry.
62891
62892 2007-12-01  Eric Blake  <ebb9@byu.net>
62893
62894         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
62895         accommodate fix in cygwin 1.5.25.
62896
62897 2007-12-01  Jim Meyering  <meyering@redhat.com>
62898
62899         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
62900         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
62901         that would inhibit utf8-optimization of a regexp containing line-
62902         or buffer-anchors, e.g., `^', `$'.
62903
62904 2007-11-30  Bruno Haible  <bruno@clisp.org>
62905
62906         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
62907         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
62908         glthread_recursive_lock_init.
62909         * lib/lock.c (glthread_recursive_lock_init)
62910         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
62911         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
62912
62913 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
62914
62915         New function qset_acl, like set_acl but with syscall semantics.
62916         * lib/acl.h (qset_acl): New decl.
62917         * lib/acl.c (qset_acl): New function.
62918         (set_acl): Use new function.  Use more-consistent diagnostics.
62919
62920 2007-11-28  Jim Meyering  <meyering@redhat.com>
62921
62922         * modules/physmem (License): Change from GPL to LGPLv2+.
62923
62924 2007-11-26  Bruno Haible  <bruno@clisp.org>
62925
62926         * lib/vasnprintf.c (decode_long_double): Don't abort if the
62927         'long double' type has excess precision.
62928         Reported by Jim Meyering in
62929         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
62930
62931 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62932
62933         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
62934         Sync from <http://gnu.org/licenses>.
62935         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
62936         with license text from same location.
62937         * doc/maintain.texi, doc/standards.texi:  Sync from
62938         <http://savannah.gnu.org/projects/gnustandards>.
62939
62940 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
62941         and Jim Meyering  <meyering@redhat.com>
62942
62943         Adjust getdate' grammar to accept a slightly more regular language.
62944         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
62945         Before, the former was rejected.
62946         * lib/getdate.y (digits_to_date_time): New function, factored
62947         out of ...
62948         (number): ...here.  Just call digits_to_date_time.
62949         (hybrid): New non-terminal to handle an <unsigned number,
62950         signed relative offset> sequence consistently.
62951
62952 2007-11-18  Jim Meyering  <meyering@redhat.com>
62953
62954         Pull my changes from coreutils:
62955         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
62956         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
62957         use of $gnulib_tool_option_extras, so that it's separated from the
62958         preceding argument.
62959
62960         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
62961         * build-aux/bootstrap (cp_mark_as_generated): Create any required
62962         parent destination directories before copying a file into place.
62963
62964 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
62965
62966         bootstrap: work also with 4-argument variant of AC_INIT
62967         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
62968
62969 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
62970
62971         Port test-getaddrinfo to Solaris.
62972         Problem reported by Bruno Haible in
62973         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
62974         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
62975         explanation of setting 'hints'.
62976         Don't reject an implementation merely because it returns EAI_SERVICE.
62977         (EAI_SERVICE): Define to 0 if not defined.
62978
62979 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
62980
62981         The license of gnu-make and posix-shell is now "GPLed build tool".
62982         * modules/gnu-make (License): Likewise.
62983         * modules/posix-shell (License): Likewise.
62984
62985         New module posix-shell, for determining a POSIX shell
62986         or perhaps something that is close enough to a POSIX shell.
62987         * m4/posix-shell.m4: New file.
62988         * modules/posix-shell: New file.
62989
62990         * MODULES.html.sh: Mention new module.
62991
62992         New module gnu-make, for determining whether we're using GNU Make.
62993         * m4/gnu-make.m4: New file.
62994         * modules/gnu-make: New file.
62995         * MODULES.html.sh: Mention new module.
62996
62997 2007-11-14  Jim Meyering  <meyering@redhat.com>
62998
62999         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
63000         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
63001         use this macro to create a function _definition_.
63002         Remove useless "#undef ARGMATCH_DIE".
63003
63004 2007-11-14  Bruno Haible  <bruno@clisp.org>
63005
63006         * lib/config.charset: Update for OpenBSD 4.1.
63007         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
63008
63009 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
63010
63011         Document 64-bit #if problems in stdint.texi.
63012         * doc/headers/stdint.texi (stdint.h): Mention problems with
63013         64-bit-#if, and how to work around them.
63014
63015         Don't insist on 'long long int' support in the preprocessor.  It
63016         breaks too many things.  For example, PRIdMAX still uses a 'long
63017         long int' format with the latest Sun compiler, even though
63018         HAVE_LONG_LONG_INT isn't defined due to that compiler's
63019         preprocessor problem.  This causes the latest coreutils to dump
63020         core on Solaris 10 sparc with the Sun C compiler.
63021         Instead, fix the 2007-10-16 problem in a different way, by evaluating
63022         the troublesome expressions at configure-time, not at #if-time.
63023         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
63024         preprocessor.
63025         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
63026         compile-time C checks, done at 'configure'-time.
63027         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
63028         * modules/inttypes (Makefile): Substitute the new symbols that
63029         gl_INTTYPES_H now generates.
63030         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
63031
63032 2007-11-12  Bruno Haible  <bruno@clisp.org>
63033
63034         Tests for Unicode character classification functions.
63035
63036         * modules/unictype/bidicategory-byname-tests: New file.
63037         * modules/unictype/bidicategory-name-tests: New file.
63038         * modules/unictype/bidicategory-of-tests: New file.
63039         * modules/unictype/bidicategory-test-tests: New file.
63040         * modules/unictype/block-list-tests: New file.
63041         * modules/unictype/block-of-tests: New file.
63042         * modules/unictype/block-test-tests: New file.
63043         * modules/unictype/category-C-tests: New file.
63044         * modules/unictype/category-Cc-tests: New file.
63045         * modules/unictype/category-Cf-tests: New file.
63046         * modules/unictype/category-Cn-tests: New file.
63047         * modules/unictype/category-Co-tests: New file.
63048         * modules/unictype/category-Cs-tests: New file.
63049         * modules/unictype/category-L-tests: New file.
63050         * modules/unictype/category-Ll-tests: New file.
63051         * modules/unictype/category-Lm-tests: New file.
63052         * modules/unictype/category-Lo-tests: New file.
63053         * modules/unictype/category-Lt-tests: New file.
63054         * modules/unictype/category-Lu-tests: New file.
63055         * modules/unictype/category-M-tests: New file.
63056         * modules/unictype/category-Mc-tests: New file.
63057         * modules/unictype/category-Me-tests: New file.
63058         * modules/unictype/category-Mn-tests: New file.
63059         * modules/unictype/category-N-tests: New file.
63060         * modules/unictype/category-Nd-tests: New file.
63061         * modules/unictype/category-Nl-tests: New file.
63062         * modules/unictype/category-No-tests: New file.
63063         * modules/unictype/category-P-tests: New file.
63064         * modules/unictype/category-Pc-tests: New file.
63065         * modules/unictype/category-Pd-tests: New file.
63066         * modules/unictype/category-Pe-tests: New file.
63067         * modules/unictype/category-Pf-tests: New file.
63068         * modules/unictype/category-Pi-tests: New file.
63069         * modules/unictype/category-Po-tests: New file.
63070         * modules/unictype/category-Ps-tests: New file.
63071         * modules/unictype/category-S-tests: New file.
63072         * modules/unictype/category-Sc-tests: New file.
63073         * modules/unictype/category-Sk-tests: New file.
63074         * modules/unictype/category-Sm-tests: New file.
63075         * modules/unictype/category-So-tests: New file.
63076         * modules/unictype/category-Z-tests: New file.
63077         * modules/unictype/category-Zl-tests: New file.
63078         * modules/unictype/category-Zp-tests: New file.
63079         * modules/unictype/category-Zs-tests: New file.
63080         * modules/unictype/category-and-not-tests: New file.
63081         * modules/unictype/category-and-tests: New file.
63082         * modules/unictype/category-byname-tests: New file.
63083         * modules/unictype/category-name-tests: New file.
63084         * modules/unictype/category-none-tests: New file.
63085         * modules/unictype/category-of-tests: New file.
63086         * modules/unictype/category-or-tests: New file.
63087         * modules/unictype/category-test-withtable-tests: New file.
63088         * modules/unictype/combining-class-tests: New file.
63089         * modules/unictype/ctype-alnum-tests: New file.
63090         * modules/unictype/ctype-alpha-tests: New file.
63091         * modules/unictype/ctype-blank-tests: New file.
63092         * modules/unictype/ctype-cntrl-tests: New file.
63093         * modules/unictype/ctype-digit-tests: New file.
63094         * modules/unictype/ctype-graph-tests: New file.
63095         * modules/unictype/ctype-lower-tests: New file.
63096         * modules/unictype/ctype-print-tests: New file.
63097         * modules/unictype/ctype-punct-tests: New file.
63098         * modules/unictype/ctype-space-tests: New file.
63099         * modules/unictype/ctype-upper-tests: New file.
63100         * modules/unictype/ctype-xdigit-tests: New file.
63101         * modules/unictype/decimal-digit-tests: New file.
63102         * modules/unictype/digit-tests: New file.
63103         * modules/unictype/mirror-tests: New file.
63104         * modules/unictype/numeric-tests: New file.
63105         * modules/unictype/property-alphabetic-tests: New file.
63106         * modules/unictype/property-ascii-hex-digit-tests: New file.
63107         * modules/unictype/property-bidi-arabic-digit-tests: New file.
63108         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
63109         * modules/unictype/property-bidi-block-separator-tests: New file.
63110         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
63111         * modules/unictype/property-bidi-common-separator-tests: New file.
63112         * modules/unictype/property-bidi-control-tests: New file.
63113         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
63114         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
63115         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
63116         * modules/unictype/property-bidi-european-digit-tests: New file.
63117         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
63118         * modules/unictype/property-bidi-left-to-right-tests: New file.
63119         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
63120         * modules/unictype/property-bidi-other-neutral-tests: New file.
63121         * modules/unictype/property-bidi-pdf-tests: New file.
63122         * modules/unictype/property-bidi-segment-separator-tests: New file.
63123         * modules/unictype/property-bidi-whitespace-tests: New file.
63124         * modules/unictype/property-byname-tests: New file.
63125         * modules/unictype/property-combining-tests: New file.
63126         * modules/unictype/property-composite-tests: New file.
63127         * modules/unictype/property-currency-symbol-tests: New file.
63128         * modules/unictype/property-dash-tests: New file.
63129         * modules/unictype/property-decimal-digit-tests: New file.
63130         * modules/unictype/property-default-ignorable-code-point-tests: New file.
63131         * modules/unictype/property-deprecated-tests: New file.
63132         * modules/unictype/property-diacritic-tests: New file.
63133         * modules/unictype/property-extender-tests: New file.
63134         * modules/unictype/property-format-control-tests: New file.
63135         * modules/unictype/property-grapheme-base-tests: New file.
63136         * modules/unictype/property-grapheme-extend-tests: New file.
63137         * modules/unictype/property-grapheme-link-tests: New file.
63138         * modules/unictype/property-hex-digit-tests: New file.
63139         * modules/unictype/property-hyphen-tests: New file.
63140         * modules/unictype/property-id-continue-tests: New file.
63141         * modules/unictype/property-id-start-tests: New file.
63142         * modules/unictype/property-ideographic-tests: New file.
63143         * modules/unictype/property-ids-binary-operator-tests: New file.
63144         * modules/unictype/property-ids-trinary-operator-tests: New file.
63145         * modules/unictype/property-ignorable-control-tests: New file.
63146         * modules/unictype/property-iso-control-tests: New file.
63147         * modules/unictype/property-join-control-tests: New file.
63148         * modules/unictype/property-left-of-pair-tests: New file.
63149         * modules/unictype/property-line-separator-tests: New file.
63150         * modules/unictype/property-logical-order-exception-tests: New file.
63151         * modules/unictype/property-lowercase-tests: New file.
63152         * modules/unictype/property-math-tests: New file.
63153         * modules/unictype/property-non-break-tests: New file.
63154         * modules/unictype/property-not-a-character-tests: New file.
63155         * modules/unictype/property-numeric-tests: New file.
63156         * modules/unictype/property-other-alphabetic-tests: New file.
63157         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
63158         * modules/unictype/property-other-grapheme-extend-tests: New file.
63159         * modules/unictype/property-other-id-continue-tests: New file.
63160         * modules/unictype/property-other-id-start-tests: New file.
63161         * modules/unictype/property-other-lowercase-tests: New file.
63162         * modules/unictype/property-other-math-tests: New file.
63163         * modules/unictype/property-other-uppercase-tests: New file.
63164         * modules/unictype/property-paired-punctuation-tests: New file.
63165         * modules/unictype/property-paragraph-separator-tests: New file.
63166         * modules/unictype/property-pattern-syntax-tests: New file.
63167         * modules/unictype/property-pattern-white-space-tests: New file.
63168         * modules/unictype/property-private-use-tests: New file.
63169         * modules/unictype/property-punctuation-tests: New file.
63170         * modules/unictype/property-quotation-mark-tests: New file.
63171         * modules/unictype/property-radical-tests: New file.
63172         * modules/unictype/property-sentence-terminal-tests: New file.
63173         * modules/unictype/property-soft-dotted-tests: New file.
63174         * modules/unictype/property-space-tests: New file.
63175         * modules/unictype/property-terminal-punctuation-tests: New file.
63176         * modules/unictype/property-test-tests: New file.
63177         * modules/unictype/property-titlecase-tests: New file.
63178         * modules/unictype/property-unassigned-code-value-tests: New file.
63179         * modules/unictype/property-unified-ideograph-tests: New file.
63180         * modules/unictype/property-uppercase-tests: New file.
63181         * modules/unictype/property-variation-selector-tests: New file.
63182         * modules/unictype/property-white-space-tests: New file.
63183         * modules/unictype/property-xid-continue-tests: New file.
63184         * modules/unictype/property-xid-start-tests: New file.
63185         * modules/unictype/property-zero-width-tests: New file.
63186         * modules/unictype/scripts-tests: New file.
63187         * modules/unictype/syntax-c-ident-tests: New file.
63188         * modules/unictype/syntax-c-whitespace-tests: New file.
63189         * modules/unictype/syntax-java-ident-tests: New file.
63190         * modules/unictype/syntax-java-whitespace-tests: New file.
63191         * tests/unictype/test-bidi_byname.c: New file.
63192         * tests/unictype/test-bidi_name.c: New file.
63193         * tests/unictype/test-bidi_of.c: New file.
63194         * tests/unictype/test-bidi_test.c: New file.
63195         * tests/unictype/test-block_list.c: New file.
63196         * tests/unictype/test-block_of.c: New file.
63197         * tests/unictype/test-block_test.c: New file.
63198         * tests/unictype/test-categ_and.c: New file.
63199         * tests/unictype/test-categ_and_not.c: New file.
63200         * tests/unictype/test-categ_byname.c: New file.
63201         * tests/unictype/test-categ_name.c: New file.
63202         * tests/unictype/test-categ_none.c: New file.
63203         * tests/unictype/test-categ_of.c: New file.
63204         * tests/unictype/test-categ_or.c: New file.
63205         * tests/unictype/test-categ_test_withtable.c: New file.
63206         * tests/unictype/test-combining.c: New file.
63207         * tests/unictype/test-decdigit.c: New file.
63208         * tests/unictype/test-digit.c: New file.
63209         * tests/unictype/test-mirror.c: New file.
63210         * tests/unictype/test-numeric.c: New file.
63211         * tests/unictype/test-pr_byname.c: New file.
63212         * tests/unictype/test-pr_test.c: New file.
63213         * tests/unictype/test-predicate-part1.h: New file.
63214         * tests/unictype/test-predicate-part2.h: New file.
63215         * tests/unictype/test-scripts.c: New file.
63216         * tests/unictype/test-sy_c_ident.c: New file.
63217         * tests/unictype/test-sy_java_ident.c: New file.
63218
63219         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
63220         for Unicode 5.0.0.
63221         * tests/unictype/test-categ_Cc.c: Likewise.
63222         * tests/unictype/test-categ_Cf.c: Likewise.
63223         * tests/unictype/test-categ_Cn.c: Likewise.
63224         * tests/unictype/test-categ_Co.c: Likewise.
63225         * tests/unictype/test-categ_Cs.c: Likewise.
63226         * tests/unictype/test-categ_L.c: Likewise.
63227         * tests/unictype/test-categ_Ll.c: Likewise.
63228         * tests/unictype/test-categ_Lm.c: Likewise.
63229         * tests/unictype/test-categ_Lo.c: Likewise.
63230         * tests/unictype/test-categ_Lt.c: Likewise.
63231         * tests/unictype/test-categ_Lu.c: Likewise.
63232         * tests/unictype/test-categ_M.c: Likewise.
63233         * tests/unictype/test-categ_Mc.c: Likewise.
63234         * tests/unictype/test-categ_Me.c: Likewise.
63235         * tests/unictype/test-categ_Mn.c: Likewise.
63236         * tests/unictype/test-categ_N.c: Likewise.
63237         * tests/unictype/test-categ_Nd.c: Likewise.
63238         * tests/unictype/test-categ_Nl.c: Likewise.
63239         * tests/unictype/test-categ_No.c: Likewise.
63240         * tests/unictype/test-categ_P.c: Likewise.
63241         * tests/unictype/test-categ_Pc.c: Likewise.
63242         * tests/unictype/test-categ_Pd.c: Likewise.
63243         * tests/unictype/test-categ_Pe.c: Likewise.
63244         * tests/unictype/test-categ_Pf.c: Likewise.
63245         * tests/unictype/test-categ_Pi.c: Likewise.
63246         * tests/unictype/test-categ_Po.c: Likewise.
63247         * tests/unictype/test-categ_Ps.c: Likewise.
63248         * tests/unictype/test-categ_S.c: Likewise.
63249         * tests/unictype/test-categ_Sc.c: Likewise.
63250         * tests/unictype/test-categ_Sk.c: Likewise.
63251         * tests/unictype/test-categ_Sm.c: Likewise.
63252         * tests/unictype/test-categ_So.c: Likewise.
63253         * tests/unictype/test-categ_Z.c: Likewise.
63254         * tests/unictype/test-categ_Zl.c: Likewise.
63255         * tests/unictype/test-categ_Zp.c: Likewise.
63256         * tests/unictype/test-categ_Zs.c: Likewise.
63257         * tests/unictype/test-ctype_alnum.c: Likewise.
63258         * tests/unictype/test-ctype_alpha.c: Likewise.
63259         * tests/unictype/test-ctype_blank.c: Likewise.
63260         * tests/unictype/test-ctype_cntrl.c: Likewise.
63261         * tests/unictype/test-ctype_digit.c: Likewise.
63262         * tests/unictype/test-ctype_graph.c: Likewise.
63263         * tests/unictype/test-ctype_lower.c: Likewise.
63264         * tests/unictype/test-ctype_print.c: Likewise.
63265         * tests/unictype/test-ctype_punct.c: Likewise.
63266         * tests/unictype/test-ctype_space.c: Likewise.
63267         * tests/unictype/test-ctype_upper.c: Likewise.
63268         * tests/unictype/test-ctype_xdigit.c: Likewise.
63269         * tests/unictype/test-decdigit.h: Likewise.
63270         * tests/unictype/test-digit.h: Likewise.
63271         * tests/unictype/test-numeric.h: Likewise.
63272         * tests/unictype/test-pr_alphabetic.c: Likewise.
63273         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
63274         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
63275         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
63276         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
63277         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
63278         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
63279         * tests/unictype/test-pr_bidi_control.c: Likewise.
63280         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
63281         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
63282         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
63283         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
63284         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
63285         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
63286         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
63287         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
63288         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
63289         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
63290         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
63291         * tests/unictype/test-pr_combining.c: Likewise.
63292         * tests/unictype/test-pr_composite.c: Likewise.
63293         * tests/unictype/test-pr_currency_symbol.c: Likewise.
63294         * tests/unictype/test-pr_dash.c: Likewise.
63295         * tests/unictype/test-pr_decimal_digit.c: Likewise.
63296         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
63297         * tests/unictype/test-pr_deprecated.c: Likewise.
63298         * tests/unictype/test-pr_diacritic.c: Likewise.
63299         * tests/unictype/test-pr_extender.c: Likewise.
63300         * tests/unictype/test-pr_format_control.c: Likewise.
63301         * tests/unictype/test-pr_grapheme_base.c: Likewise.
63302         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
63303         * tests/unictype/test-pr_grapheme_link.c: Likewise.
63304         * tests/unictype/test-pr_hex_digit.c: Likewise.
63305         * tests/unictype/test-pr_hyphen.c: Likewise.
63306         * tests/unictype/test-pr_id_continue.c: Likewise.
63307         * tests/unictype/test-pr_id_start.c: Likewise.
63308         * tests/unictype/test-pr_ideographic.c: Likewise.
63309         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
63310         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
63311         * tests/unictype/test-pr_ignorable_control.c: Likewise.
63312         * tests/unictype/test-pr_iso_control.c: Likewise.
63313         * tests/unictype/test-pr_join_control.c: Likewise.
63314         * tests/unictype/test-pr_left_of_pair.c: Likewise.
63315         * tests/unictype/test-pr_line_separator.c: Likewise.
63316         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
63317         * tests/unictype/test-pr_lowercase.c: Likewise.
63318         * tests/unictype/test-pr_math.c: Likewise.
63319         * tests/unictype/test-pr_non_break.c: Likewise.
63320         * tests/unictype/test-pr_not_a_character.c: Likewise.
63321         * tests/unictype/test-pr_numeric.c: Likewise.
63322         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
63323         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
63324         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
63325         * tests/unictype/test-pr_other_id_continue.c: Likewise.
63326         * tests/unictype/test-pr_other_id_start.c: Likewise.
63327         * tests/unictype/test-pr_other_lowercase.c: Likewise.
63328         * tests/unictype/test-pr_other_math.c: Likewise.
63329         * tests/unictype/test-pr_other_uppercase.c: Likewise.
63330         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
63331         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
63332         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
63333         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
63334         * tests/unictype/test-pr_private_use.c: Likewise.
63335         * tests/unictype/test-pr_punctuation.c: Likewise.
63336         * tests/unictype/test-pr_quotation_mark.c: Likewise.
63337         * tests/unictype/test-pr_radical.c: Likewise.
63338         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
63339         * tests/unictype/test-pr_soft_dotted.c: Likewise.
63340         * tests/unictype/test-pr_space.c: Likewise.
63341         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
63342         * tests/unictype/test-pr_titlecase.c: Likewise.
63343         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
63344         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
63345         * tests/unictype/test-pr_uppercase.c: Likewise.
63346         * tests/unictype/test-pr_variation_selector.c: Likewise.
63347         * tests/unictype/test-pr_white_space.c: Likewise.
63348         * tests/unictype/test-pr_xid_continue.c: Likewise.
63349         * tests/unictype/test-pr_xid_start.c: Likewise.
63350         * tests/unictype/test-pr_zero_width.c: Likewise.
63351         * tests/unictype/test-sy_c_whitespace.c: Likewise.
63352         * tests/unictype/test-sy_java_whitespace.c: Likewise.
63353
63354 2007-11-12  Bruno Haible  <bruno@clisp.org>
63355
63356         Unicode character classification functions.
63357         * lib/unictype.h: New file.
63358         * modules/unictype/base: New file.
63359         * modules/unictype/category-L: New file.
63360         * modules/unictype/category-Lu: New file.
63361         * modules/unictype/category-Ll: New file.
63362         * modules/unictype/category-Lt: New file.
63363         * modules/unictype/category-Lm: New file.
63364         * modules/unictype/category-Lo: New file.
63365         * modules/unictype/category-M: New file.
63366         * modules/unictype/category-Mn: New file.
63367         * modules/unictype/category-Mc: New file.
63368         * modules/unictype/category-Me: New file.
63369         * modules/unictype/category-N: New file.
63370         * modules/unictype/category-Nd: New file.
63371         * modules/unictype/category-Nl: New file.
63372         * modules/unictype/category-No: New file.
63373         * modules/unictype/category-P: New file.
63374         * modules/unictype/category-Pc: New file.
63375         * modules/unictype/category-Pd: New file.
63376         * modules/unictype/category-Ps: New file.
63377         * modules/unictype/category-Pe: New file.
63378         * modules/unictype/category-Pi: New file.
63379         * modules/unictype/category-Pf: New file.
63380         * modules/unictype/category-Po: New file.
63381         * modules/unictype/category-S: New file.
63382         * modules/unictype/category-Sm: New file.
63383         * modules/unictype/category-Sc: New file.
63384         * modules/unictype/category-Sk: New file.
63385         * modules/unictype/category-So: New file.
63386         * modules/unictype/category-Z: New file.
63387         * modules/unictype/category-Zs: New file.
63388         * modules/unictype/category-Zl: New file.
63389         * modules/unictype/category-Zp: New file.
63390         * modules/unictype/category-C: New file.
63391         * modules/unictype/category-Cc: New file.
63392         * modules/unictype/category-Cf: New file.
63393         * modules/unictype/category-Cs: New file.
63394         * modules/unictype/category-Co: New file.
63395         * modules/unictype/category-Cn: New file.
63396         * modules/unictype/category-or: New file.
63397         * modules/unictype/category-of: New file.
63398         * modules/unictype/category-test: New file.
63399         * modules/unictype/category-test-withtable: New file.
63400         * modules/unictype/category-byname: New file.
63401         * modules/unictype/category-none: New file.
63402         * modules/unictype/category-and: New file.
63403         * modules/unictype/category-and-not: New file.
63404         * modules/unictype/category-name: New file.
63405         * modules/unictype/combining-class: New file.
63406         * modules/unictype/category-all: New file.
63407         * modules/unictype/bidicategory-all: New file.
63408         * modules/unictype/bidicategory-byname: New file.
63409         * modules/unictype/bidicategory-name: New file.
63410         * modules/unictype/bidicategory-of: New file.
63411         * modules/unictype/bidicategory-test: New file.
63412         * modules/unictype/decimal-digit: New file.
63413         * modules/unictype/digit: New file.
63414         * modules/unictype/numeric: New file.
63415         * modules/unictype/mirror: New file.
63416         * modules/unictype/property-white-space: New file.
63417         * modules/unictype/property-alphabetic: New file.
63418         * modules/unictype/property-other-alphabetic: New file.
63419         * modules/unictype/property-not-a-character: New file.
63420         * modules/unictype/property-default-ignorable-code-point: New file.
63421         * modules/unictype/property-other-default-ignorable-code-point: New
63422         file.
63423         * modules/unictype/property-deprecated: New file.
63424         * modules/unictype/property-logical-order-exception: New file.
63425         * modules/unictype/property-variation-selector: New file.
63426         * modules/unictype/property-private-use: New file.
63427         * modules/unictype/property-unassigned-code-value: New file.
63428         * modules/unictype/property-uppercase: New file.
63429         * modules/unictype/property-other-uppercase: New file.
63430         * modules/unictype/property-lowercase: New file.
63431         * modules/unictype/property-other-lowercase: New file.
63432         * modules/unictype/property-titlecase: New file.
63433         * modules/unictype/property-soft-dotted: New file.
63434         * modules/unictype/property-id-start: New file.
63435         * modules/unictype/property-other-id-start: New file.
63436         * modules/unictype/property-id-continue: New file.
63437         * modules/unictype/property-other-id-continue: New file.
63438         * modules/unictype/property-xid-start: New file.
63439         * modules/unictype/property-xid-continue: New file.
63440         * modules/unictype/property-pattern-white-space: New file.
63441         * modules/unictype/property-pattern-syntax: New file.
63442         * modules/unictype/property-join-control: New file.
63443         * modules/unictype/property-grapheme-base: New file.
63444         * modules/unictype/property-grapheme-extend: New file.
63445         * modules/unictype/property-other-grapheme-extend: New file.
63446         * modules/unictype/property-grapheme-link: New file.
63447         * modules/unictype/property-bidi-control: New file.
63448         * modules/unictype/property-bidi-left-to-right: New file.
63449         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
63450         * modules/unictype/property-bidi-arabic-right-to-left: New file.
63451         * modules/unictype/property-bidi-european-digit: New file.
63452         * modules/unictype/property-bidi-eur-num-separator: New file.
63453         * modules/unictype/property-bidi-eur-num-terminator: New file.
63454         * modules/unictype/property-bidi-arabic-digit: New file.
63455         * modules/unictype/property-bidi-common-separator: New file.
63456         * modules/unictype/property-bidi-block-separator: New file.
63457         * modules/unictype/property-bidi-segment-separator: New file.
63458         * modules/unictype/property-bidi-whitespace: New file.
63459         * modules/unictype/property-bidi-non-spacing-mark: New file.
63460         * modules/unictype/property-bidi-boundary-neutral: New file.
63461         * modules/unictype/property-bidi-pdf: New file.
63462         * modules/unictype/property-bidi-embedding-or-override: New file.
63463         * modules/unictype/property-bidi-other-neutral: New file.
63464         * modules/unictype/property-hex-digit: New file.
63465         * modules/unictype/property-ascii-hex-digit: New file.
63466         * modules/unictype/property-ideographic: New file.
63467         * modules/unictype/property-unified-ideograph: New file.
63468         * modules/unictype/property-radical: New file.
63469         * modules/unictype/property-ids-binary-operator: New file.
63470         * modules/unictype/property-ids-trinary-operator: New file.
63471         * modules/unictype/property-zero-width: New file.
63472         * modules/unictype/property-space: New file.
63473         * modules/unictype/property-non-break: New file.
63474         * modules/unictype/property-iso-control: New file.
63475         * modules/unictype/property-format-control: New file.
63476         * modules/unictype/property-dash: New file.
63477         * modules/unictype/property-hyphen: New file.
63478         * modules/unictype/property-punctuation: New file.
63479         * modules/unictype/property-line-separator: New file.
63480         * modules/unictype/property-paragraph-separator: New file.
63481         * modules/unictype/property-quotation-mark: New file.
63482         * modules/unictype/property-sentence-terminal: New file.
63483         * modules/unictype/property-terminal-punctuation: New file.
63484         * modules/unictype/property-currency-symbol: New file.
63485         * modules/unictype/property-math: New file.
63486         * modules/unictype/property-other-math: New file.
63487         * modules/unictype/property-paired-punctuation: New file.
63488         * modules/unictype/property-left-of-pair: New file.
63489         * modules/unictype/property-combining: New file.
63490         * modules/unictype/property-composite: New file.
63491         * modules/unictype/property-decimal-digit: New file.
63492         * modules/unictype/property-numeric: New file.
63493         * modules/unictype/property-diacritic: New file.
63494         * modules/unictype/property-extender: New file.
63495         * modules/unictype/property-ignorable-control: New file.
63496         * modules/unictype/property-test: New file.
63497         * modules/unictype/property-byname: New file.
63498         * modules/unictype/property-all: New file.
63499         * modules/unictype/scripts: New file.
63500         * modules/unictype/scripts-all: New file.
63501         * modules/unictype/block-of: New file.
63502         * modules/unictype/block-test: New file.
63503         * modules/unictype/block-list: New file.
63504         * modules/unictype/block-all: New file.
63505         * modules/unictype/syntax-c-whitespace: New file.
63506         * modules/unictype/syntax-java-whitespace: New file.
63507         * modules/unictype/syntax-c-ident: New file.
63508         * modules/unictype/syntax-java-ident: New file.
63509         * modules/unictype/ctype-alnum: New file.
63510         * modules/unictype/ctype-alpha: New file.
63511         * modules/unictype/ctype-cntrl: New file.
63512         * modules/unictype/ctype-digit: New file.
63513         * modules/unictype/ctype-graph: New file.
63514         * modules/unictype/ctype-lower: New file.
63515         * modules/unictype/ctype-print: New file.
63516         * modules/unictype/ctype-punct: New file.
63517         * modules/unictype/ctype-space: New file.
63518         * modules/unictype/ctype-upper: New file.
63519         * modules/unictype/ctype-xdigit: New file.
63520         * modules/unictype/ctype-blank: New file.
63521         * lib/unictype/bidi_byname.c: New file.
63522         * lib/unictype/bidi_name.c: New file.
63523         * lib/unictype/bidi_of.c: New file.
63524         * lib/unictype/bidi_test.c: New file.
63525         * lib/unictype/bitmap.h: New file.
63526         * lib/unictype/block_test.c: New file.
63527         * lib/unictype/blocks.c: New file.
63528         * lib/unictype/categ_C.c: New file.
63529         * lib/unictype/categ_Cc.c: New file.
63530         * lib/unictype/categ_Cf.c: New file.
63531         * lib/unictype/categ_Cn.c: New file.
63532         * lib/unictype/categ_Co.c: New file.
63533         * lib/unictype/categ_Cs.c: New file.
63534         * lib/unictype/categ_L.c: New file.
63535         * lib/unictype/categ_Ll.c: New file.
63536         * lib/unictype/categ_Lm.c: New file.
63537         * lib/unictype/categ_Lo.c: New file.
63538         * lib/unictype/categ_Lt.c: New file.
63539         * lib/unictype/categ_Lu.c: New file.
63540         * lib/unictype/categ_M.c: New file.
63541         * lib/unictype/categ_Mc.c: New file.
63542         * lib/unictype/categ_Me.c: New file.
63543         * lib/unictype/categ_Mn.c: New file.
63544         * lib/unictype/categ_N.c: New file.
63545         * lib/unictype/categ_Nd.c: New file.
63546         * lib/unictype/categ_Nl.c: New file.
63547         * lib/unictype/categ_No.c: New file.
63548         * lib/unictype/categ_P.c: New file.
63549         * lib/unictype/categ_Pc.c: New file.
63550         * lib/unictype/categ_Pd.c: New file.
63551         * lib/unictype/categ_Pe.c: New file.
63552         * lib/unictype/categ_Pf.c: New file.
63553         * lib/unictype/categ_Pi.c: New file.
63554         * lib/unictype/categ_Po.c: New file.
63555         * lib/unictype/categ_Ps.c: New file.
63556         * lib/unictype/categ_S.c: New file.
63557         * lib/unictype/categ_Sc.c: New file.
63558         * lib/unictype/categ_Sk.c: New file.
63559         * lib/unictype/categ_Sm.c: New file.
63560         * lib/unictype/categ_So.c: New file.
63561         * lib/unictype/categ_Z.c: New file.
63562         * lib/unictype/categ_Zl.c: New file.
63563         * lib/unictype/categ_Zp.c: New file.
63564         * lib/unictype/categ_Zs.c: New file.
63565         * lib/unictype/categ_and.c: New file.
63566         * lib/unictype/categ_and_not.c: New file.
63567         * lib/unictype/categ_byname.c: New file.
63568         * lib/unictype/categ_name.c: New file.
63569         * lib/unictype/categ_none.c: New file.
63570         * lib/unictype/categ_of.c: New file.
63571         * lib/unictype/categ_or.c: New file.
63572         * lib/unictype/categ_test.c: New file.
63573         * lib/unictype/combining.c: New file.
63574         * lib/unictype/ctype_alnum.c: New file.
63575         * lib/unictype/ctype_alpha.c: New file.
63576         * lib/unictype/ctype_blank.c: New file.
63577         * lib/unictype/ctype_cntrl.c: New file.
63578         * lib/unictype/ctype_digit.c: New file.
63579         * lib/unictype/ctype_graph.c: New file.
63580         * lib/unictype/ctype_lower.c: New file.
63581         * lib/unictype/ctype_print.c: New file.
63582         * lib/unictype/ctype_punct.c: New file.
63583         * lib/unictype/ctype_space.c: New file.
63584         * lib/unictype/ctype_upper.c: New file.
63585         * lib/unictype/ctype_xdigit.c: New file.
63586         * lib/unictype/decdigit.c: New file.
63587         * lib/unictype/digit.c: New file.
63588         * lib/unictype/identsyntaxmap.h: New file.
63589         * lib/unictype/mirror.c: New file.
63590         * lib/unictype/numeric.c: New file.
63591         * lib/unictype/pr_alphabetic.c: New file.
63592         * lib/unictype/pr_ascii_hex_digit.c: New file.
63593         * lib/unictype/pr_bidi_arabic_digit.c: New file.
63594         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
63595         * lib/unictype/pr_bidi_block_separator.c: New file.
63596         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
63597         * lib/unictype/pr_bidi_common_separator.c: New file.
63598         * lib/unictype/pr_bidi_control.c: New file.
63599         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
63600         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
63601         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
63602         * lib/unictype/pr_bidi_european_digit.c: New file.
63603         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
63604         * lib/unictype/pr_bidi_left_to_right.c: New file.
63605         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
63606         * lib/unictype/pr_bidi_other_neutral.c: New file.
63607         * lib/unictype/pr_bidi_pdf.c: New file.
63608         * lib/unictype/pr_bidi_segment_separator.c: New file.
63609         * lib/unictype/pr_bidi_whitespace.c: New file.
63610         * lib/unictype/pr_byname.c: New file.
63611         * lib/unictype/pr_byname.gperf: New file.
63612         * lib/unictype/pr_combining.c: New file.
63613         * lib/unictype/pr_composite.c: New file.
63614         * lib/unictype/pr_currency_symbol.c: New file.
63615         * lib/unictype/pr_dash.c: New file.
63616         * lib/unictype/pr_decimal_digit.c: New file.
63617         * lib/unictype/pr_default_ignorable_code_point.c: New file.
63618         * lib/unictype/pr_deprecated.c: New file.
63619         * lib/unictype/pr_diacritic.c: New file.
63620         * lib/unictype/pr_extender.c: New file.
63621         * lib/unictype/pr_format_control.c: New file.
63622         * lib/unictype/pr_grapheme_base.c: New file.
63623         * lib/unictype/pr_grapheme_extend.c: New file.
63624         * lib/unictype/pr_grapheme_link.c: New file.
63625         * lib/unictype/pr_hex_digit.c: New file.
63626         * lib/unictype/pr_hyphen.c: New file.
63627         * lib/unictype/pr_id_continue.c: New file.
63628         * lib/unictype/pr_id_start.c: New file.
63629         * lib/unictype/pr_ideographic.c: New file.
63630         * lib/unictype/pr_ids_binary_operator.c: New file.
63631         * lib/unictype/pr_ids_trinary_operator.c: New file.
63632         * lib/unictype/pr_ignorable_control.c: New file.
63633         * lib/unictype/pr_iso_control.c: New file.
63634         * lib/unictype/pr_join_control.c: New file.
63635         * lib/unictype/pr_left_of_pair.c: New file.
63636         * lib/unictype/pr_line_separator.c: New file.
63637         * lib/unictype/pr_logical_order_exception.c: New file.
63638         * lib/unictype/pr_lowercase.c: New file.
63639         * lib/unictype/pr_math.c: New file.
63640         * lib/unictype/pr_non_break.c: New file.
63641         * lib/unictype/pr_not_a_character.c: New file.
63642         * lib/unictype/pr_numeric.c: New file.
63643         * lib/unictype/pr_other_alphabetic.c: New file.
63644         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
63645         * lib/unictype/pr_other_grapheme_extend.c: New file.
63646         * lib/unictype/pr_other_id_continue.c: New file.
63647         * lib/unictype/pr_other_id_start.c: New file.
63648         * lib/unictype/pr_other_lowercase.c: New file.
63649         * lib/unictype/pr_other_math.c: New file.
63650         * lib/unictype/pr_other_uppercase.c: New file.
63651         * lib/unictype/pr_paired_punctuation.c: New file.
63652         * lib/unictype/pr_paragraph_separator.c: New file.
63653         * lib/unictype/pr_pattern_syntax.c: New file.
63654         * lib/unictype/pr_pattern_white_space.c: New file.
63655         * lib/unictype/pr_private_use.c: New file.
63656         * lib/unictype/pr_punctuation.c: New file.
63657         * lib/unictype/pr_quotation_mark.c: New file.
63658         * lib/unictype/pr_radical.c: New file.
63659         * lib/unictype/pr_sentence_terminal.c: New file.
63660         * lib/unictype/pr_soft_dotted.c: New file.
63661         * lib/unictype/pr_space.c: New file.
63662         * lib/unictype/pr_terminal_punctuation.c: New file.
63663         * lib/unictype/pr_test.c: New file.
63664         * lib/unictype/pr_titlecase.c: New file.
63665         * lib/unictype/pr_unassigned_code_value.c: New file.
63666         * lib/unictype/pr_unified_ideograph.c: New file.
63667         * lib/unictype/pr_uppercase.c: New file.
63668         * lib/unictype/pr_variation_selector.c: New file.
63669         * lib/unictype/pr_white_space.c: New file.
63670         * lib/unictype/pr_xid_continue.c: New file.
63671         * lib/unictype/pr_xid_start.c: New file.
63672         * lib/unictype/pr_zero_width.c: New file.
63673         * lib/unictype/scripts.c: New file.
63674         * lib/unictype/sy_c_ident.c: New file.
63675         * lib/unictype/sy_c_whitespace.c: New file.
63676         * lib/unictype/sy_java_ident.c: New file.
63677         * lib/unictype/sy_java_whitespace.c: New file.
63678
63679         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
63680         Unicode 5.0.0.
63681         * lib/unictype/blocks.h: Likewise.
63682         * lib/unictype/categ_C.h: Likewise.
63683         * lib/unictype/categ_Cc.h: Likewise.
63684         * lib/unictype/categ_Cf.h: Likewise.
63685         * lib/unictype/categ_Cn.h: Likewise.
63686         * lib/unictype/categ_Co.h: Likewise.
63687         * lib/unictype/categ_Cs.h: Likewise.
63688         * lib/unictype/categ_L.h: Likewise.
63689         * lib/unictype/categ_Ll.h: Likewise.
63690         * lib/unictype/categ_Lm.h: Likewise.
63691         * lib/unictype/categ_Lo.h: Likewise.
63692         * lib/unictype/categ_Lt.h: Likewise.
63693         * lib/unictype/categ_Lu.h: Likewise.
63694         * lib/unictype/categ_M.h: Likewise.
63695         * lib/unictype/categ_Mc.h: Likewise.
63696         * lib/unictype/categ_Me.h: Likewise.
63697         * lib/unictype/categ_Mn.h: Likewise.
63698         * lib/unictype/categ_N.h: Likewise.
63699         * lib/unictype/categ_Nd.h: Likewise.
63700         * lib/unictype/categ_Nl.h: Likewise.
63701         * lib/unictype/categ_No.h: Likewise.
63702         * lib/unictype/categ_P.h: Likewise.
63703         * lib/unictype/categ_Pc.h: Likewise.
63704         * lib/unictype/categ_Pd.h: Likewise.
63705         * lib/unictype/categ_Pe.h: Likewise.
63706         * lib/unictype/categ_Pf.h: Likewise.
63707         * lib/unictype/categ_Pi.h: Likewise.
63708         * lib/unictype/categ_Po.h: Likewise.
63709         * lib/unictype/categ_Ps.h: Likewise.
63710         * lib/unictype/categ_S.h: Likewise.
63711         * lib/unictype/categ_Sc.h: Likewise.
63712         * lib/unictype/categ_Sk.h: Likewise.
63713         * lib/unictype/categ_Sm.h: Likewise.
63714         * lib/unictype/categ_So.h: Likewise.
63715         * lib/unictype/categ_Z.h: Likewise.
63716         * lib/unictype/categ_Zl.h: Likewise.
63717         * lib/unictype/categ_Zp.h: Likewise.
63718         * lib/unictype/categ_Zs.h: Likewise.
63719         * lib/unictype/categ_of.h: Likewise.
63720         * lib/unictype/combining.h: Likewise.
63721         * lib/unictype/ctype_alnum.h: Likewise.
63722         * lib/unictype/ctype_alpha.h: Likewise.
63723         * lib/unictype/ctype_blank.h: Likewise.
63724         * lib/unictype/ctype_cntrl.h: Likewise.
63725         * lib/unictype/ctype_digit.h: Likewise.
63726         * lib/unictype/ctype_graph.h: Likewise.
63727         * lib/unictype/ctype_lower.h: Likewise.
63728         * lib/unictype/ctype_print.h: Likewise.
63729         * lib/unictype/ctype_punct.h: Likewise.
63730         * lib/unictype/ctype_space.h: Likewise.
63731         * lib/unictype/ctype_upper.h: Likewise.
63732         * lib/unictype/ctype_xdigit.h: Likewise.
63733         * lib/unictype/decdigit.h: Likewise.
63734         * lib/unictype/digit.h: Likewise.
63735         * lib/unictype/mirror.h: Likewise.
63736         * lib/unictype/numeric.h: Likewise.
63737         * lib/unictype/pr_alphabetic.h: Likewise.
63738         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
63739         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
63740         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
63741         * lib/unictype/pr_bidi_block_separator.h: Likewise.
63742         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
63743         * lib/unictype/pr_bidi_common_separator.h: Likewise.
63744         * lib/unictype/pr_bidi_control.h: Likewise.
63745         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
63746         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
63747         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
63748         * lib/unictype/pr_bidi_european_digit.h: Likewise.
63749         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
63750         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
63751         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
63752         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
63753         * lib/unictype/pr_bidi_pdf.h: Likewise.
63754         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
63755         * lib/unictype/pr_bidi_whitespace.h: Likewise.
63756         * lib/unictype/pr_combining.h: Likewise.
63757         * lib/unictype/pr_composite.h: Likewise.
63758         * lib/unictype/pr_currency_symbol.h: Likewise.
63759         * lib/unictype/pr_dash.h: Likewise.
63760         * lib/unictype/pr_decimal_digit.h: Likewise.
63761         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
63762         * lib/unictype/pr_deprecated.h: Likewise.
63763         * lib/unictype/pr_diacritic.h: Likewise.
63764         * lib/unictype/pr_extender.h: Likewise.
63765         * lib/unictype/pr_format_control.h: Likewise.
63766         * lib/unictype/pr_grapheme_base.h: Likewise.
63767         * lib/unictype/pr_grapheme_extend.h: Likewise.
63768         * lib/unictype/pr_grapheme_link.h: Likewise.
63769         * lib/unictype/pr_hex_digit.h: Likewise.
63770         * lib/unictype/pr_hyphen.h: Likewise.
63771         * lib/unictype/pr_id_continue.h: Likewise.
63772         * lib/unictype/pr_id_start.h: Likewise.
63773         * lib/unictype/pr_ideographic.h: Likewise.
63774         * lib/unictype/pr_ids_binary_operator.h: Likewise.
63775         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
63776         * lib/unictype/pr_ignorable_control.h: Likewise.
63777         * lib/unictype/pr_iso_control.h: Likewise.
63778         * lib/unictype/pr_join_control.h: Likewise.
63779         * lib/unictype/pr_left_of_pair.h: Likewise.
63780         * lib/unictype/pr_line_separator.h: Likewise.
63781         * lib/unictype/pr_logical_order_exception.h: Likewise.
63782         * lib/unictype/pr_lowercase.h: Likewise.
63783         * lib/unictype/pr_math.h: Likewise.
63784         * lib/unictype/pr_non_break.h: Likewise.
63785         * lib/unictype/pr_not_a_character.h: Likewise.
63786         * lib/unictype/pr_numeric.h: Likewise.
63787         * lib/unictype/pr_other_alphabetic.h: Likewise.
63788         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
63789         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
63790         * lib/unictype/pr_other_id_continue.h: Likewise.
63791         * lib/unictype/pr_other_id_start.h: Likewise.
63792         * lib/unictype/pr_other_lowercase.h: Likewise.
63793         * lib/unictype/pr_other_math.h: Likewise.
63794         * lib/unictype/pr_other_uppercase.h: Likewise.
63795         * lib/unictype/pr_paired_punctuation.h: Likewise.
63796         * lib/unictype/pr_paragraph_separator.h: Likewise.
63797         * lib/unictype/pr_pattern_syntax.h: Likewise.
63798         * lib/unictype/pr_pattern_white_space.h: Likewise.
63799         * lib/unictype/pr_private_use.h: Likewise.
63800         * lib/unictype/pr_punctuation.h: Likewise.
63801         * lib/unictype/pr_quotation_mark.h: Likewise.
63802         * lib/unictype/pr_radical.h: Likewise.
63803         * lib/unictype/pr_sentence_terminal.h: Likewise.
63804         * lib/unictype/pr_soft_dotted.h: Likewise.
63805         * lib/unictype/pr_space.h: Likewise.
63806         * lib/unictype/pr_terminal_punctuation.h: Likewise.
63807         * lib/unictype/pr_titlecase.h: Likewise.
63808         * lib/unictype/pr_unassigned_code_value.h: Likewise.
63809         * lib/unictype/pr_unified_ideograph.h: Likewise.
63810         * lib/unictype/pr_uppercase.h: Likewise.
63811         * lib/unictype/pr_variation_selector.h: Likewise.
63812         * lib/unictype/pr_white_space.h: Likewise.
63813         * lib/unictype/pr_xid_continue.h: Likewise.
63814         * lib/unictype/pr_xid_start.h: Likewise.
63815         * lib/unictype/pr_zero_width.h: Likewise.
63816         * lib/unictype/scripts.h: Likewise.
63817         * lib/unictype/scripts_byname.gperf: Likewise.
63818         * lib/unictype/sy_c_ident.h: Likewise.
63819         * lib/unictype/sy_c_whitespace.h: Likewise.
63820         * lib/unictype/sy_java_ident.h: Likewise.
63821         * lib/unictype/sy_java_whitespace.h: Likewise.
63822
63823         * lib/unictype/Makefile: New file.
63824         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
63825         glibc.
63826         * lib/unictype/3level.h: New file, copied from glibc.
63827         * lib/unictype/3levelbit.h: New file.
63828
63829 2007-11-11  Bruno Haible  <bruno@clisp.org>
63830
63831         * modules/gperf: New file.
63832         * modules/iconv_open (Depends-on): Add it.
63833         (Makefile.am): Remove the GPERF definition.
63834
63835 2007-11-11  Bruno Haible  <bruno@clisp.org>
63836
63837         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
63838         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
63839
63840 2007-11-11  Bruno Haible  <bruno@clisp.org>
63841
63842         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
63843         (usage): Remove function.
63844
63845 2007-11-11  Bruno Haible  <bruno@clisp.org>
63846
63847         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
63848         gl_FUNC_CEILF_LIBS.
63849         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
63850         gl_FUNC_CEIL_LIBS.
63851         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
63852         gl_FUNC_CEILL_LIBS.
63853         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
63854         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
63855         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
63856
63857 2007-11-11  Bruno Haible  <bruno@clisp.org>
63858
63859         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
63860         roundf were declared but do not exist on functions.
63861         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
63862         roundl were declared but do not exist on functions.
63863         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
63864         HAVE_FLOORL_AND_CEILL, respectively.
63865         Needed for Sun C on Solaris 10.
63866
63867 2007-11-11  Bruno Haible  <bruno@clisp.org>
63868
63869         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
63870         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
63871         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
63872         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
63873         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
63874         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
63875         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
63876         HAVE_DECL_ROUNDF.
63877         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
63878         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
63879         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
63880         of HAVE_DECL_ROUND*.
63881         * modules/math (Makefile.am): Update.
63882
63883 2007-11-10  Bruno Haible  <bruno@clisp.org>
63884
63885         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
63886         ptrdiff_t as m4/intl.m4.
63887
63888 2007-11-10  Jim Meyering  <meyering@redhat.com>
63889
63890         Avoid link failure for the argmatch test.
63891         * tests/test-argmatch.c (usage): Define function to avoid a link
63892         failure: argmatch_die requires a usage function.
63893
63894 2007-11-09  Bruno Haible  <bruno@clisp.org>
63895
63896         * doc/functions/snprintf.texi: Mention BeOS deficiency.
63897         * doc/functions/vsnprintf.texi: Likewise.
63898         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
63899         with a size argument < 2.
63900
63901 2007-11-09  Bruno Haible  <bruno@clisp.org>
63902
63903         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
63904         buffer. Fixes an inefficiency introduced on 2007-11-03.
63905
63906 2007-11-09  Bruno Haible  <bruno@clisp.org>
63907
63908         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
63909         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
63910
63911 2007-11-08  Jim Meyering  <meyering@redhat.com>
63912
63913         Change cache variable name prefix "jm_" to "gl_" everywhere.
63914         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
63915         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
63916         * m4/uptime.m4: s/gl_/jm_/
63917
63918 2007-11-07  Bruno Haible  <bruno@clisp.org>
63919
63920         Update to GNU gettext 0.17.
63921         * m4/intl.m4: Update to GNU gettext 0.17.
63922         * m4/po.m4: Likewise.
63923         * modules/gettext (Files): Remove m4/ulonglong.m4.
63924         (configure.ac): Require gettext infrastructure from version 0.17.
63925
63926 2007-11-06  Bruno Haible  <bruno@clisp.org>
63927
63928         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
63929         symbolic values are not defined in a public header.
63930         * lib/freadable.c (freadable) [QNX]: Likewise.
63931         * lib/freadahead.c (freadahead) [QNX]: Likewise.
63932         * lib/freading.c (freading) [QNX]: Likewise.
63933         * lib/fseterr.c (fseterr) [QNX]: Likewise.
63934         * lib/fwritable.c (fwritable) [QNX]: Likewise.
63935         * lib/fwriting.c (fwriting) [QNX]: Likewise.
63936         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
63937         Reported by Alain Magloire.
63938
63939         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
63940
63941 2007-11-05  Bruno Haible  <bruno@clisp.org>
63942
63943         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
63944         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
63945         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
63946         Reported by Eric Blake.
63947
63948 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63949             Bruno Haible  <bruno@clisp.org>
63950
63951         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
63952         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
63953         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
63954         (malloc): Undefine also before including <stdlib.h>.
63955         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
63956         Needed on OSF/1 4.0.
63957
63958 2007-11-05  Jim Meyering  <meyering@redhat.com>
63959
63960         git-version-gen: sync from coreutils.
63961         * build-aux/git-version-gen: Add comments.
63962         Change the first '-' to '.' in the snapshot version string,
63963         e.g., 6.9-377-08144 -> 6.9.377-08144
63964         Remove first parameter.
63965         Don't declare a version "-dirty" merely because a time
63966         stamp has changed.
63967
63968 2007-11-04  Bruno Haible  <bruno@clisp.org>
63969
63970         * lib/lock.h: Protect all macro definitions containing an 'if'
63971         statement through a "do { ... } while (0)".
63972         * lib/tls.h: Likewise.
63973
63974 2007-11-04  Bruno Haible  <bruno@clisp.org>
63975
63976         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
63977
63978 2007-11-04  Bruno Haible  <bruno@clisp.org>
63979
63980         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
63981         * modules/fprintf-posix (Depends-on): Add nocrash.
63982         * modules/snprintf-posix (Depends-on): Likewise.
63983         * modules/sprintf-posix (Depends-on): Likewise.
63984         * modules/vasnprintf-posix (Depends-on): Likewise.
63985         * modules/vasprintf-posix (Depends-on): Likewise.
63986         * modules/vfprintf-posix (Depends-on): Likewise.
63987         * modules/vsnprintf-posix (Depends-on): Likewise.
63988         * modules/vsprintf-posix (Depends-on): Likewise.
63989         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
63990         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
63991         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
63992         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
63993         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
63994         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
63995         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
63996
63997 2007-11-04  Bruno Haible  <bruno@clisp.org>
63998
63999         * modules/nocrash: New file.
64000         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
64001         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
64002
64003 2007-11-04  Bruno Haible  <bruno@clisp.org>
64004
64005         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
64006         precision handling.
64007         * tests/test-vasprintf-posix.c (test_function): Likewise.
64008         * tests/test-snprintf-posix.h (test_function): Likewise.
64009         * tests/test-sprintf-posix.h (test_function): Likewise.
64010
64011         Fix *printf behaviour for large precisions on mingw and BeOS.
64012         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
64013         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
64014         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
64015         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
64016         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
64017         gl_PRINTF_PRECISION and test its result. Invoke
64018         gl_PREREQ_VASNPRINTF_PRECISION.
64019         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
64020         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
64021         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
64022         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
64023         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
64024         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
64025         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
64026         * doc/functions/fprintf.texi: Update.
64027         * doc/functions/printf.texi: Update.
64028         * doc/functions/snprintf.texi: Update.
64029         * doc/functions/sprintf.texi: Update.
64030         * doc/functions/vfprintf.texi: Update.
64031         * doc/functions/vprintf.texi: Update.
64032         * doc/functions/vsnprintf.texi: Update.
64033         * doc/functions/vsprintf.texi: Update.
64034
64035 2007-11-04  Bruno Haible  <bruno@clisp.org>
64036
64037         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
64038
64039 2007-11-04  Bruno Haible  <bruno@clisp.org>
64040
64041         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
64042         Reported by Sylvain Beucler <beuc@gnu.org>.
64043
64044 2007-11-03  Bruno Haible  <bruno@clisp.org>
64045
64046         * tests/test-fprintf-posix2.sh: New file.
64047         * tests/test-fprintf-posix2.c: New file.
64048         * modules/fprintf-posix-tests (Files): Add them.
64049         (TESTS): Add test-fprintf-posix2.sh.
64050         (configure.ac): Check for getrlimit and setrlimit.
64051         (check_PROGRAMS): Add test-fprintf-posix2.
64052
64053         * tests/test-printf-posix2.sh: New file.
64054         * tests/test-printf-posix2.c: New file.
64055         * modules/printf-posix-tests (Files): Add them.
64056         (TESTS): Add test-printf-posix2.sh.
64057         (configure.ac): Check for getrlimit and setrlimit.
64058         (check_PROGRAMS): Add test-printf-posix2.
64059
64060         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
64061         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
64062         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
64063         (decode_double): New function, copied from decode_long_double.
64064         (scale10_round_decimal_decoded): New function, extracted from
64065         scale10_round_decimal_long_double.
64066         (scale10_round_decimal_long_double): Use it.
64067         (scale10_round_decimal_double): New function.
64068         (floorlog10): New function.
64069         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
64070         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
64071         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
64072         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
64073         gl_PRINTF_ENOMEM and test its result. Invoke
64074         gl_PREREQ_VASNPRINTF_ENOMEM.
64075         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
64076         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
64077         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
64078         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
64079         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
64080         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
64081         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
64082         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
64083         * modules/snprintf-posix (Depends-on): Likewise.
64084         * modules/sprintf-posix (Depends-on): Likewise.
64085         * modules/vasnprintf-posix (Depends-on): Likewise.
64086         * modules/vasprintf-posix (Depends-on): Likewise.
64087         * modules/vfprintf-posix (Depends-on): Likewise.
64088         * modules/vsnprintf-posix (Depends-on): Likewise.
64089         * modules/vsprintf-posix (Depends-on): Likewise.
64090         * doc/functions/fprintf.texi: Update.
64091         * doc/functions/printf.texi: Update.
64092         * doc/functions/snprintf.texi: Update.
64093         * doc/functions/sprintf.texi: Update.
64094         * doc/functions/vfprintf.texi: Update.
64095         * doc/functions/vprintf.texi: Update.
64096         * doc/functions/vsnprintf.texi: Update.
64097         * doc/functions/vsprintf.texi: Update.
64098
64099 2007-11-03  Bruno Haible  <bruno@clisp.org>
64100
64101         * modules/frexp-nolibm-tests: New file.
64102
64103         * modules/frexp-nolibm: New file.
64104         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
64105
64106 2007-11-03  Bruno Haible  <bruno@clisp.org>
64107
64108         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
64109         value is C99 compliant.
64110         Needed for OSF/1 5.1.
64111
64112 2007-11-03  Bruno Haible  <bruno@clisp.org>
64113
64114         Fix out-of-memory handling of vasnprintf.
64115         * lib/printf-parse.c: Include <errno.h>.
64116         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
64117         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
64118         is already set.
64119
64120 2007-11-02  Eric Blake  <ebb9@byu.net>
64121
64122         Fix tests on cygwin.
64123         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
64124
64125 2007-11-01  Bruno Haible  <bruno@clisp.org>
64126
64127         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
64128         warning.
64129         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
64130         needed for POSIX compatibility.
64131
64132 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
64133
64134         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
64135         for compatibility with GNU.
64136
64137 2007-11-01  Bruno Haible  <bruno@clisp.org>
64138
64139         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
64140         (putenv): Renamed from rpl_putenv. Change argument type from
64141         'const char *' to 'char *'.
64142         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
64143         of defining putenv in config.h, just set REPLACE_PUTENV.
64144         * modules/putenv (Depends-on): Add stdlib.
64145         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
64146         (Include): Use <stdlib.h>.
64147         * lib/stdlib.in.h (putenv): New declaration.
64148         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
64149         REPLACE_PUTENV.
64150         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
64151         REPLACE_PUTENV.
64152         Needed for MacOS X 10.5.0.
64153         Reported by Peter O'Gorman <peter@pogma.com>.
64154
64155 2007-11-01  Jim Meyering  <meyering@redhat.com>
64156
64157         Treat an empty date string exactly like "0".
64158         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
64159         if the remaining date string (to be parsed) is empty, use "0".
64160         Reported by Mischa Molhoek and discussed in this thread:
64161         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
64162
64163 2007-10-31  Bruno Haible  <bruno@clisp.org>
64164
64165         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
64166         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
64167         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
64168         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
64169         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
64170         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
64171
64172 2007-10-31  Bruno Haible  <bruno@clisp.org>
64173
64174         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
64175         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
64176         (AC_TYPE_LONG_LONG_INT): Use it.
64177         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
64178         it as well.
64179         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
64180         to m4/longlong.m4.
64181         * modules/stdint (Files): Remove m4/ulonglong.m4.
64182         * modules/strtoull (Files): Use m4/longlong.m4 instead of
64183         m4/ulonglong.m4.
64184         * modules/strtoumax (Files): Likewise.
64185
64186 2007-10-30  Bruno Haible  <bruno@clisp.org>
64187
64188         * modules/xvasprintf-posix: New file.
64189         Suggested by Eric Blake.
64190
64191 2007-10-30  Bruno Haible  <bruno@clisp.org>
64192
64193         * modules/xprintf-posix-tests: New file.
64194         * tests/test-xprintf-posix.sh: New file.
64195         * tests/test-xprintf-posix.c: New file.
64196         * tests/test-xfprintf-posix.c: New file.
64197
64198         * modules/xprintf-posix: New file.
64199
64200 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64201
64202         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
64203         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
64204         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
64205
64206 2007-10-29  Bruno Haible  <bruno@clisp.org>
64207
64208         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
64209         contain the special marker '_cv_'.
64210         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
64211         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
64212         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
64213         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
64214         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
64215         Reported by Ralf Wildenhues.
64216
64217 2007-10-29  Bruno Haible  <bruno@clisp.org>
64218
64219         * gnulib-tool (func_import): When --lgpl is not specified, set
64220         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
64221         GPLv3.
64222         Reported by Simon Josefsson.
64223
64224 2007-10-28  Bruno Haible  <bruno@clisp.org>
64225
64226         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
64227         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
64228         HAVE_DECL_ISFINITE.
64229         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
64230         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
64231         HAVE_DECL_ISFINITE.
64232
64233 2007-10-28  Bruno Haible  <bruno@clisp.org>
64234
64235         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
64236         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
64237
64238 2007-10-28  Bruno Haible  <bruno@clisp.org>
64239
64240         Fix link errors with Sun C 5.0 on Solaris 10.
64241         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
64242         function is declared but not present in the compiler's libm.
64243         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
64244         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
64245         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
64246         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
64247         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
64248         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
64249         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
64250         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
64251         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
64252         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
64253         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
64254         HAVE_DECL_FLOORL.
64255
64256 2007-10-28  Bruno Haible  <bruno@clisp.org>
64257
64258         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
64259         gl_FUNC_FLOORL. Cache the result.
64260         (gl_FUNC_FLOORL): Use it.
64261         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
64262         gl_FUNC_CEILL. Cache the result.
64263         (gl_FUNC_CEILL): Use it.
64264
64265         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
64266         gl_FUNC_FLOOR. Cache the result.
64267         (gl_FUNC_FLOOR): Use it.
64268         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
64269         gl_FUNC_CEIL. Cache the result.
64270         (gl_FUNC_CEIL): Use it.
64271
64272         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
64273         gl_FUNC_FLOORF. Cache the result.
64274         (gl_FUNC_FLOORF): Use it.
64275         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
64276         gl_FUNC_CEILF. Cache the result.
64277         (gl_FUNC_CEILF): Use it.
64278
64279 2007-10-28  Bruno Haible  <bruno@clisp.org>
64280
64281         * gnulib-tool: Allow specifying the LGPL version number through
64282         --lgpl=2 or --lgpl=3.
64283         (func_usage): Document --lgpl with argument.
64284         Handle --lgpl=... arguments.
64285         (func_import): Recognize also gl_LGPL calls with an argument. When
64286         --lgpl=2 is used and the module's license is just LGPL, report an
64287         error. Set sed_transform_lib_file according to the lgpl variable. In
64288         the generated files, use --lgpl or gl_LGPL invocations with argument,
64289         if necessary.
64290         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
64291         an LGPv2+ license.
64292         * doc/gnulib-tool.texi (Modified imports): Update explanation of
64293         gl_LGPL macro.
64294
64295 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64296             Bruno Haible  <bruno@clisp.org>
64297
64298         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
64299         (u16_uctomb_aux): Likewise.
64300         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
64301         !HAVE_INLINE.
64302         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
64303
64304 2007-10-28  Bruno Haible  <bruno@clisp.org>
64305
64306         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
64307         Invoke AM_GETTEXT_OPTION if it exists.
64308         * modules/vasprintf: Likewise.
64309         * modules/verror: Likewise.
64310         * modules/xprintf: Likewise.
64311         * modules/xvasprintf: Likewise.
64312
64313 2007-10-27  Ben Pfaff  <blp@gnu.org>
64314
64315         * lib/math.in.h: Define isfinite macro and prototypes for
64316         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
64317         implementations.
64318         * m4/math_h.m4: New substitutions for isfinite module.
64319         * lib/isfinite.c: New file.
64320         * m4/isfinite.m4: New file.
64321         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
64322         * modules/isfinite: New file.
64323         * modules/isfinite-tests: New file.
64324         * tests/tests-isfinite.c: New file.
64325         * doc/functions/isfinite.texi: Mention isfinite module.
64326         * MODULES.html.sh: Mention new module.
64327
64328 2007-10-27  Ben Pfaff  <blp@gnu.org>
64329
64330         Ralf Wildenhues reported that Tru64 4.0D declares the round
64331         functions but does not have definitions.
64332         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
64333         cannot be found in any library, set the output variable to
64334         "missing" instead of "".
64335         * m4/round.m4: Also use our substitute if we cannot find round in
64336         any library, even if it is declared.
64337         * m4/roundf.m4: Likewise for roundf.
64338         * m4/roundl.m4: Likewise for roundl.
64339         * lib/math.in.h: Undefine roundf, round, roundl before defining
64340         their replacements, to allow for hypothetical systems where these
64341         may be defined as macros but not available in libraries.
64342
64343 2007-10-27  Bruno Haible  <bruno@clisp.org>
64344
64345         * doc/gnulib.texi: Invoke @firstparagraphindent.
64346         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
64347         changes in gnulib.
64348         (Source changes): New section.
64349
64350 2007-10-26  Bruno Haible  <bruno@clisp.org>
64351
64352         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
64353         borrowed from autoconf.
64354
64355 2007-10-26  Bruno Haible  <bruno@clisp.org>
64356
64357         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
64358         strerror returned the empty string. Needed on HP-UX 11.00.
64359
64360 2007-10-24  Micah Cowan  <micah@cowan.name>
64361
64362         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
64363         * build-aux/bootstrap: Remove support for now-unnecessary option,
64364         --cvs-user, and envvars CVS_USER, CVS_RSH.
64365
64366 2007-10-24  Jim Meyering  <meyering@redhat.com>
64367
64368         Avoid diagnostics from sha1sum when there is no cached checksum.
64369         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
64370         if the po.s1 file hasn't been created yet.
64371
64372         * build-aux/bootstrap: Sync from coreutils:
64373         2007-10-24  Jim Meyering  <meyering@redhat.com>
64374         Get gnulib from the git repository, not from an obsolete cvs one.
64375         * build-aux/bootstrap: Suggestion from Micah Cowan.
64376         2007-10-04  Jim Meyering  <jim@meyering.net>
64377         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
64378         (update_po_files): Work also when there are no .po files in po/.
64379
64380 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
64381
64382         * README: Append ".git" to git and cg examples.
64383         Problem reported by Benoit Sigoure.
64384
64385 2007-10-23  Micah Cowan  <micah@cowan.name>
64386
64387         * users.txt: Add wget.
64388
64389 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64390
64391         Fix linking of some unistdio tests on FreeBSD.
64392         * modules/unistdio/u16-vsnprintf-tests
64393         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
64394         * modules/unistdio/u16-vsprintf-tests
64395         (test_u16_vsnprintf1_LDADD): Likewise.
64396         * modules/unistdio/u32-vsnprintf-tests
64397         (test_u32_vsnprintf1_LDADD): Likewise.
64398         * modules/unistdio/u32-vsprintf-tests
64399         (test_u32_vsprintf1_LDADD): Likewise.
64400         * modules/unistdio/u8-vsnprintf-tests
64401         (test_u8_vsnprintf1_LDADD): Likewise.
64402         * modules/unistdio/u8-vsprintf-tests
64403         (test_u8_vsprintf1_LDADD): Likewise.
64404         * modules/unistdio/ulc-vsnprintf-tests
64405         (test_ulc_vsnprintf1_LDADD): Likewise.
64406         * modules/unistdio/ulc-vsprintf-tests
64407         (test_ulc_vsprintf1_LDADD): Likewise.
64408
64409         Fix linking of some uniconv tests on FreeBSD.
64410         * modules/uniconv/u16-conv-from-enc-tests
64411         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
64412         * modules/uniconv/u16-conv-to-enc-tests
64413         (test_u16_conv_to_enc_LDADD): Likewise.
64414         * modules/uniconv/u16-strconv-from-enc-tests
64415         (test_u16_strconv_from_enc_LDADD): Likewise.
64416         * modules/uniconv/u16-strconv-to-enc-tests
64417         (test_u16_strconv_to_enc_LDADD): Likewise.
64418         * modules/uniconv/u32-conv-from-enc-tests
64419         (test_u32_conv_from_enc_LDADD): Likewise.
64420         * modules/uniconv/u32-conv-to-enc-tests
64421         (test_u32_conv_to_enc_LDADD): Likewise.
64422         * modules/uniconv/u32-strconv-from-enc-tests
64423         (test_u32_strconv_from_enc_LDADD): Likewise.
64424         * modules/uniconv/u32-strconv-to-enc-tests
64425         (test_u32_strconv_to_enc_LDADD): Likewise.
64426         * modules/uniconv/u8-conv-from-enc-tests
64427         (test_u8_conv_from_enc_LDADD): Likewise.
64428         * modules/uniconv/u8-conv-to-enc-tests
64429         (test_u8_conv_to_enc_LDADD): Likewise.
64430         * modules/uniconv/u8-strconv-from-enc-tests
64431         (test_u8_strconv_from_enc_LDADD): Likewise.
64432         * modules/uniconv/u8-strconv-to-enc-tests
64433         (test_u8_strconv_to_enc_LDADD): Likewise.
64434
64435 2007-10-22  Bruno Haible  <bruno@clisp.org>
64436
64437         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
64438         size.
64439
64440 2007-10-22  Eric Blake  <ebb9@byu.net>
64441
64442         Tweak x*printf documentation.
64443         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
64444         variable name and comments.
64445         Suggested by Bruno Haible.
64446
64447 2007-10-22  Bruno Haible  <bruno@clisp.org>
64448
64449         * lib/acl.c (copy_acl): Fix file name in comment.
64450
64451 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
64452
64453         Fix Tru64 problem with stdbool.h.
64454         * lib/stdbool.in.h (false, true):
64455         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
64456         Don't declare as an enum in this situation; it runs afoul of Tru64.
64457         Problem reported by Steven M. Schweda in
64458         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
64459
64460 2007-10-22  Eric Blake  <ebb9@byu.net>
64461
64462         Also wrap vf?printf.
64463         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
64464         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
64465         (xvprintf, xvfprintf): New functions.
64466
64467 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64468
64469         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
64470         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
64471
64472         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
64473         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
64474
64475 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
64476
64477         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
64478         by Bruno Haible.
64479
64480 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64481
64482         * lib/getloadavg.c
64483         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
64484         Undef `sys' after including sys/table.h, for Tru64 4.0D.
64485
64486         * tests/test-i-ring.c: Work for C89.
64487
64488 2007-10-22  Bruno Haible  <bruno@clisp.org>
64489
64490         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
64491         -1u, in preprocessor expression, so that we don't test for the bug
64492         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
64493         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
64494
64495 2007-10-22  Eric Blake  <ebb9@byu.net>
64496
64497         * tests/test-yesno.sh: Silence stderr during test.
64498
64499 2007-10-22  Simon Josefsson  <simon@josefsson.org>
64500
64501         * modules/crypto/gc-camellia: New file.
64502
64503         * m4/gc-camellia.m4: New file.
64504
64505         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
64506
64507         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
64508
64509 2007-10-22  Simon Josefsson  <simon@josefsson.org>
64510
64511         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
64512         --help to stdout.  Reported by sms@antinode.org (Steven
64513         M. Schweda).
64514
64515 2007-10-22  Simon Josefsson  <simon@josefsson.org>
64516
64517         * users.txt: Fix link to libksba.
64518
64519 2007-10-21  Ben Pfaff  <blp@gnu.org>
64520
64521         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
64522         round.c roundf implementation that depends on floorf and ceilf to
64523         be tested unconditionally.
64524
64525 2007-10-21  Ben Pfaff  <blp@gnu.org>
64526
64527         * m4/check-libm-func.m4: Removed.
64528         * m4/check-math-lib.m4: New file.
64529         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
64530         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
64531         definition and lack of AC_LIBOBJ([roundf]).
64532         * m4/roundl.m4: Ditto, and similarly for roundl.
64533         * modules/round: Reference new m4 file.
64534         * modules/roundf: Ditto.
64535         * modules/roundl: Ditto.
64536         * tests/test-round2.c (main): Use ROUND instead of round.
64537         Bug report from Bruno Haible.
64538
64539 2007-10-21  Bruno Haible  <bruno@clisp.org>
64540
64541         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
64542         context.
64543
64544 2007-10-21  Bruno Haible  <bruno@clisp.org>
64545
64546         * tests/test-wcwidth.c (main): Allow negative result for some control
64547         characters.
64548
64549         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
64550         Needed on OSF/1 5.1.
64551
64552 2007-10-21  Bruno Haible  <bruno@clisp.org>
64553
64554         * tests/test-floorf1.c: Include isnanf.h.
64555         (main): Use isnanf() instead of isnan().
64556         * tests/test-ceilf1.c: Include isnanf.h.
64557         (main): Use isnanf() instead of isnan().
64558         * tests/test-truncf1.c: Include isnanf.h.
64559         (main): Use isnanf() instead of isnan().
64560         * tests/test-roundf1.c: Include isnanf.h.
64561         (main): Use isnanf() instead of isnan().
64562
64563 2007-10-21  Eric Blake  <ebb9@byu.net>
64564
64565         * users.txt: Update URL for m4.
64566
64567 2007-10-21  Bruno Haible  <bruno@clisp.org>
64568
64569         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
64570
64571 2007-10-21  Bruno Haible  <bruno@clisp.org>
64572
64573         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
64574         Git's management files if the CVS files are not present.
64575
64576 2007-10-20  Bruno Haible  <bruno@clisp.org>
64577
64578         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
64579         gcc-3.4.x.
64580
64581 2007-10-20  Ben Pfaff  <blp@gnu.org>
64582
64583         * lib/math.in.h: Declare round, roundf, roundl if we are providing
64584         implementations.
64585         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
64586         * lib/round.c: New file.
64587         * lib/roundf.c: New file.
64588         * lib/roundl.c: New file.
64589         * m4/round.m4: New file.
64590         * m4/roundf.m4: New file.
64591         * m4/roundl.m4: New file.
64592         * m4/check-libm-func-m4: New file.
64593         * modules/math: Replace round, roundf, roundl related @VARS@ in
64594         math.in.h.
64595         * modules/round: New file.
64596         * modules/round-tests: New file.
64597         * modules/roundf: New file.
64598         * modules/roundf-tests: New file.
64599         * modules/roundl: New file.
64600         * modules/roundl-tests: New file.
64601         * tests/test-round1.c: New file.
64602         * tests/test-round2.c: New file.
64603         * tests/test-roundf1.c: New file.
64604         * tests/test-roundf2.c: New file.
64605         * tests/test-roundl.c: New file.
64606         * doc/functions/round.texi: Mention round module.
64607         * doc/functions/roundf.texi: Mention roundf module.
64608         * doc/functions/roundl.texi: Mention roundl module.
64609         * MODULES.html.sh: Mention new modules.
64610         Thanks to Bruno Haible for suggestions.
64611
64612 2007-10-20  Jim Meyering  <meyering@redhat.com>
64613
64614         * lib/xprintf.c: Include <config.h> unconditionally.
64615
64616         Change xprintf's license to GPL.
64617         * modules/xprintf (License): s/LGPL/GPL/, since this module
64618         depends on modules (exit and exitfail) which are GPL.
64619         Suggestion from Bruno Haible.
64620
64621         xprintf fixes.
64622         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
64623         Use a clearer diagnostic.
64624         Patch from Bruno Haible.
64625
64626 2007-10-20  Bruno Haible  <bruno@clisp.org>
64627
64628         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
64629         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
64630         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
64631
64632 2007-10-20  Bruno Haible  <bruno@clisp.org>
64633
64634         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
64635         precision in the comparison result > x - 1 or similar.
64636         * tests/test-ceilf2.c (correct_result_p): Likewise.
64637         * tests/test-truncf2.c (correct_result_p): Likewise.
64638         * tests/test-trunc2.c (correct_result_p): Likewise.
64639         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
64640
64641 2007-10-20  Bruno Haible  <bruno@clisp.org>
64642
64643         * modules/ceil: New file.
64644         * m4/ceil.m4: New file.
64645         * doc/functions/ceil.texi: Mention the 'ceil' module.
64646
64647 2007-10-20  Bruno Haible  <bruno@clisp.org>
64648
64649         * modules/floor: New file.
64650         * m4/floor.m4: New file.
64651         * doc/functions/floor.texi: Mention the 'floor' module.
64652
64653 2007-10-20  Bruno Haible  <bruno@clisp.org>
64654
64655         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
64656         of %a.
64657         * modules/floorf-tests (Depends-on): Likewise.
64658         * modules/truncf-tests (Depends-on): Likewise.
64659         * modules/trunc-tests (Depends-on): Likewise.
64660         Reported by Ben Pfaff.
64661
64662 2007-10-19  Jim Meyering  <meyering@redhat.com>
64663
64664         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
64665         Don't bother testing specific errno values.  Just test ferror.
64666
64667         New module: xprintf
64668         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
64669
64670 2007-10-19  Bruno Haible  <bruno@clisp.org>
64671
64672         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
64673         syntax.
64674         * modules/javaexec (Makefile.am): Likewise.
64675         * modules/relocatable-prog (Makefile.am): Likewise.
64676         Suggested by Jim Meyering.
64677
64678 2007-10-18  Bruno Haible  <bruno@clisp.org>
64679
64680         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
64681         Reported by Jim Meyering.
64682
64683 2007-10-18  Eric Blake  <ebb9@byu.net>
64684
64685         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
64686
64687 2007-10-18  Bruno Haible  <bruno@clisp.org>
64688
64689         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
64690         the format string into writable memory. Needed in Fortify conditions.
64691
64692 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
64693             Bruno Haible  <bruno@clisp.org>
64694
64695         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
64696         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
64697         * modules/trim (Depends-on): Add mbchar.
64698         (configure.ac): Add gl_FUNC_MBRTOWC.
64699         (Makefile.am): Augment lib_SOURCES.
64700
64701 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
64702
64703         Modify glob.c to use fstatat and dirfd, to simplify it.
64704         Suggested by Eric Blake.
64705         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
64706         Don't include <stdbool.h>; not used.
64707         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
64708         (link_exists_p): Simplify implementation, since we can now assume
64709         dirfd and fstatat.
64710         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
64711
64712 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64713
64714         * gnulib-tool (func_get_dependencies): Fix sed script to
64715         match only tests.
64716
64717 2007-10-17  Bruno Haible  <bruno@clisp.org>
64718
64719         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
64720         allow locale names without encoding suffix.
64721         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
64722         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
64723
64724 2007-10-16  Bruno Haible  <bruno@clisp.org>
64725
64726         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
64727         * lib/getgroups.c (getgroups): Likewise.
64728         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
64729
64730 2007-10-16  Bruno Haible  <bruno@clisp.org>
64731
64732         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
64733         * modules/malloc-posix (License): Likewise.
64734         * modules/realloc-posix (License): Likewise.
64735         * modules/calloc-posix (License): Likewise.
64736         * modules/intprops (License): Change from GPL to LGPL, with
64737         Paul Eggert's approval.
64738
64739 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
64740
64741         Merge glibc changes into lib/glob.c.
64742
64743         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
64744         2007-10-15 04:59:03 UTC.  Here are the changes:
64745
64746         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
64747
64748         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
64749
64750         * lib/glob.c: Add some branch prediction throughout.
64751
64752         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
64753
64754         [BZ #5103]
64755         * lib/glob.c (glob): Recognize patterns starting \/.
64756
64757         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
64758
64759         [BZ #3996]
64760         * lib/glob.c (attribute_hidden): Define if not defined.
64761         (glob): Unescape dirname, filename or username when needed and not
64762         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
64763         is NULL.  Handle unescaped [ in pattern without closing ].
64764         Don't pass GLOB_CHECK down to recursive glob for directories.
64765         (__glob_pattern_type): New function.
64766         (__glob_pattern_p): Implement using __glob_pattern_type.
64767         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
64768         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
64769         Remove unreachable code.
64770
64771         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
64772
64773         * lib/glob.c (glob_in_dir): Add some comments and asserts to
64774         explain why there are no leaks.
64775
64776         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
64777
64778         [BZ #3253]
64779         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
64780         time, rather allocate increasingly bigger arrays of pointers, if
64781         possible with alloca, if too large with malloc.
64782
64783 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
64784
64785         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
64786         Problem reported by H.Merijn Brand in
64787         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
64788         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
64789         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
64790
64791 2007-10-15  Bruno Haible  <bruno@clisp.org>
64792
64793         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
64794         with explicit rpl_ prefix.
64795         * lib/fopen.c (fopen): Likewise.
64796         * lib/freopen.c (freopen): Likewise.
64797         * lib/iconv.c (iconv): Likewise.
64798         * lib/iconv_close.c (iconv_close): Likewise.
64799
64800 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64801
64802         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
64803
64804 2007-10-15  Bruno Haible  <bruno@clisp.org>
64805
64806         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
64807         <stddef.h> instead of <stdlib.h> since we only need NULL.
64808         Reported by Ben Pfaff <blp@cs.stanford.edu>.
64809
64810 2007-10-15  Bruno Haible  <bruno@clisp.org>
64811
64812         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
64813         Replace paragraph talking about LIBOBJS.
64814         Reported by Colin Watson <cjwatson@debian.org>.
64815
64816 2007-10-15  Bruno Haible  <bruno@clisp.org>
64817
64818         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
64819         <stdlib.h> before using NULL.
64820
64821 2007-10-15  Simon Josefsson  <simon@josefsson.org>
64822
64823         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
64824         Reported by Albert Chin <china@thewrittenword.com>.
64825
64826 2007-10-14  Bruno Haible  <bruno@clisp.org>
64827
64828         * modules/iconv_open-utf-tests: New file.
64829         * tests/test-iconv-utf.c: New file.
64830
64831         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
64832         * modules/iconv_open-utf: New file.
64833         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
64834         (iconv, iconv_close): New declarations.
64835         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
64836         be defined.
64837         (iconv_open): Add special handling of conversion between UTF-8 and
64838         UTF-{16,32}{BE,LE}.
64839         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
64840         * lib/iconv_close.c: New file.
64841         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
64842         gl_FUNC_ICONV_OPEN.
64843         (gl_FUNC_ICONV_OPEN): Use it.
64844         (gl_FUNC_ICONV_OPEN_UTF): New macro.
64845         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
64846         and REPLACE_ICONV_UTF.
64847         * modules/iconv_open (Depends-on): Add c-strcase.
64848         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
64849         ICONV_CONST.
64850         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
64851
64852 2007-10-13  Albert Chin  <china@thewrittenword.com>
64853             Bruno Haible  <bruno@clisp.org>
64854
64855         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
64856         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
64857
64858 2007-10-13  Bruno Haible  <bruno@clisp.org>
64859
64860         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
64861         defined, use the ISO C99 inline semantics.
64862         * lib/argp.h (ARGP_EI): Likewise.
64863
64864 2007-10-13  Bruno Haible  <bruno@clisp.org>
64865
64866         Handle 'inline' change in gcc 4.3.0.
64867         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
64868         argp_fmtstream_write, argp_fmtstream_set_lmargin,
64869         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
64870         argp_fmtstream_point): Disable 'extern' declaration if the function
64871         definition is going to be provided inline.
64872         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
64873         semantics, not the ISO C99 inline semantics.
64874         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
64875         'extern' declaration if the function definition is going to be provided
64876         inline.
64877         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
64878         the GNU C inline semantics, not the ISO C99 inline semantics. With
64879         GCC 4.2, avoid a warning.
64880
64881 2007-10-13  Bruno Haible  <bruno@clisp.org>
64882
64883         * lib/freading.h (freading): Enable the use of __freading for
64884         glibc >= 2.7.
64885         * lib/freading.c (freading): Likewise.
64886
64887 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
64888
64889         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
64890         "warning: C99 inline functions are not supported; using GNU89".
64891
64892 2007-10-12  Bruno Haible  <bruno@clisp.org>
64893
64894         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
64895         of 2.
64896         * tests/test-ceilf2.c: New file.
64897         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
64898
64899         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
64900         * modules/ceilf-tests: Update.
64901
64902 2007-10-12  Bruno Haible  <bruno@clisp.org>
64903
64904         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
64905         of 2.
64906         * tests/test-floorf2.c: New file.
64907         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
64908
64909         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
64910         * modules/floorf-tests: Update.
64911
64912 2007-10-12  Bruno Haible  <bruno@clisp.org>
64913
64914         * tests/test-trunc2.c: New file.
64915         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
64916
64917         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
64918         * modules/trunc-tests: Update.
64919
64920 2007-10-12  Bruno Haible  <bruno@clisp.org>
64921
64922         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
64923         of 2.
64924         * tests/test-truncf2.c: New file.
64925         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
64926
64927         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
64928         * modules/truncf-tests: Update.
64929
64930 2007-10-11  Eric Blake  <ebb9@byu.net>
64931
64932         Don't claim strerror is broken on Interix.
64933         * doc/functions/strerror.texi (strerror): Known broken systems are
64934         now Solaris 8, and not Interix.
64935         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
64936         Interix on cross-compile.
64937         Reported by Martin Koeppe in
64938         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
64939
64940 2007-10-11  Bruno Haible  <bruno@clisp.org>
64941
64942         * modules/i-ring-tests: New file.
64943         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
64944         instead of assert.
64945
64946 2007-10-11  Bruno Haible  <bruno@clisp.org>
64947
64948         * modules/filenamecat-tests: New file.
64949         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
64950         * lib/filenamecat.c: Remove test code.
64951
64952 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
64953
64954         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
64955
64956         * lib/strerror.c: Include <string.h> always, to test interface,
64957         and to remove the need for the dummy.
64958         Include intprops.h to compute width instead of doing it ourselves
64959         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
64960         (strerror): Define it to return NULL if there's no system strerror.
64961         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
64962         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
64963         ancient pre-strerror Unix systems well any more.  Saying "unknown
64964         system error" is enough.
64965         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
64966         simpler strerror.c implementation.
64967         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
64968         Simplify the tests to reflect the simpler strerror implementation.
64969         * modules/strerror (Depends-on): Add intprops.
64970
64971 2007-10-09  Eric Blake  <ebb9@byu.net>
64972
64973         Silence test-fpending.
64974         * modules/fpending-tests (Files): Add wrapper script.
64975         * tests/test-fpending.sh: New file.
64976
64977 2007-10-09  Bruno Haible  <bruno@clisp.org>
64978
64979         * MODULES.html.sh (func_module): Don't create a hyperlink for
64980         function names like 'printf_frexp'.
64981         (Misc): Add crc, memxor.
64982         (Characteristics of floating types): New section.
64983         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
64984         isnanf-nolibm, signbit, trunc, truncf, truncl.
64985         (Enhancements for ISO C 99 functions): New subsection Input/output.
64986         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
64987         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
64988         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
64989         (Compatibility checks for POSIX:2001 functions): Add clock-time.
64990         (Enhancements for POSIX:2001 functions): Add chdir-long.
64991         (File system functions): Add areadlink, chdir-safer, read-file.
64992         Remove cycle-check.
64993         (File system as inode set): New section.
64994         (Date and time): Add gethrxtime.
64995         (Multithreading): Add openmp.
64996         (Internationalization functions): Add localename.
64997         (Unicode string functions): Add unistr/u*-mbsnlen.
64998         (Support for maintaining and releasing projects): Add git-version-gen.
64999         (Lone files): Remove directories.
65000
65001 2007-10-08  Ben Pfaff  <blp@gnu.org>
65002
65003         * lib/xmalloca.h: Fix typo in comment.
65004
65005 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
65006
65007         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
65008         when avoiding problems with integer overflow.  Use a portable test
65009         instead.
65010
65011 2007-10-08  Simon Josefsson  <simon@josefsson.org>
65012
65013         * modules/dummy (License): Change to LGPLv2+.
65014         * modules/float (License): Likewise
65015         * modules/realloc (License): Likewise
65016         * modules/stdlib (License): Likewise
65017
65018 2007-10-07  Bruno Haible  <bruno@clisp.org>
65019
65020         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
65021         * floor.c (TWO_MANT_DIG): Likewise.
65022         * ceil.c (TWO_MANT_DIG): Likewise.
65023         Reported by Ben Pfaff.
65024
65025 2007-10-07  Bruno Haible  <bruno@clisp.org>
65026
65027         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
65028         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
65029         * lib/frexp.c (FUNC): Likewise.
65030         * lib/printf-frexp.h (printf_frexp): Likewise.
65031         * lib/printf-frexpl.h (printf_frexpl): Likewise.
65032         * lib/printf-frexp.c (FUNC): Likewise.
65033         Suggested by Jim Meyering.
65034
65035 2007-10-07  Jim Meyering  <meyering@redhat.com>
65036
65037         Make xnanosleep's integer overflow test more robust.
65038         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
65039         so that gcc-4.3.0 doesn't optimize away this test for overflow.
65040
65041 2007-10-07  Bruno Haible  <bruno@clisp.org>
65042
65043         * NEWS: Mention the license change.
65044
65045         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
65046         abbreviations in the modules files.
65047
65048         Change copyright notice from GPLv2+ to GPLv3+.
65049         * README: Change copyright notice.
65050         * MODULES.html.sh: Likewise.
65051         * build-aux/bootstrap.conf: Likewise.
65052         * build-aux/config.libpath: Likewise.
65053         * build-aux/csharpcomp.sh.in: Likewise.
65054         * build-aux/csharpexec.sh.in: Likewise.
65055         * build-aux/install-reloc: Likewise.
65056         * build-aux/javacomp.sh.in: Likewise.
65057         * build-aux/javaexec.sh.in: Likewise.
65058         * build-aux/ldd.sh.in: Likewise.
65059         * build-aux/reloc-ldflags: Likewise.
65060         * build-aux/relocatable.sh.in: Likewise.
65061         * build-aux/x-to-1.in: Likewise.
65062         * check-module: Likewise.
65063         * config/srclistvars.sh: Likewise.
65064         * gnulib-tool: Likewise.
65065         * lib/acl-internal.h: Likewise.
65066         * lib/acl.c: Likewise.
65067         * lib/acl.h: Likewise.
65068         * lib/acl_entries.c: Likewise.
65069         * lib/areadlink-with-size.c: Likewise.
65070         * lib/areadlink.c: Likewise.
65071         * lib/areadlink.h: Likewise.
65072         * lib/argmatch.c: Likewise.
65073         * lib/argmatch.h: Likewise.
65074         * lib/argp-ba.c: Likewise.
65075         * lib/argp-eexst.c: Likewise.
65076         * lib/argp-fmtstream.c: Likewise.
65077         * lib/argp-fmtstream.h: Likewise.
65078         * lib/argp-fs-xinl.c: Likewise.
65079         * lib/argp-help.c: Likewise.
65080         * lib/argp-namefrob.h: Likewise.
65081         * lib/argp-parse.c: Likewise.
65082         * lib/argp-pin.c: Likewise.
65083         * lib/argp-pv.c: Likewise.
65084         * lib/argp-pvh.c: Likewise.
65085         * lib/argp-xinl.c: Likewise.
65086         * lib/argp.h: Likewise.
65087         * lib/at-func.c: Likewise.
65088         * lib/atanl.c: Likewise.
65089         * lib/backupfile.c: Likewise.
65090         * lib/backupfile.h: Likewise.
65091         * lib/basename.c: Likewise.
65092         * lib/binary-io.h: Likewise.
65093         * lib/byteswap.in.h: Likewise.
65094         * lib/c-stack.c: Likewise.
65095         * lib/c-stack.h: Likewise.
65096         * lib/c-strcasestr.c: Likewise.
65097         * lib/c-strcasestr.h: Likewise.
65098         * lib/c-strstr.c: Likewise.
65099         * lib/c-strstr.h: Likewise.
65100         * lib/c-strtod.c: Likewise.
65101         * lib/calloc.c: Likewise.
65102         * lib/canon-host.c: Likewise.
65103         * lib/canon-host.h: Likewise.
65104         * lib/canonicalize-lgpl.c: Likewise.
65105         * lib/canonicalize.c: Likewise.
65106         * lib/canonicalize.h: Likewise.
65107         * lib/ceil.c: Likewise.
65108         * lib/ceilf.c: Likewise.
65109         * lib/ceill.c: Likewise.
65110         * lib/chdir-long.c: Likewise.
65111         * lib/chdir-long.h: Likewise.
65112         * lib/chdir-safer.c: Likewise.
65113         * lib/chdir-safer.h: Likewise.
65114         * lib/chown.c: Likewise.
65115         * lib/classpath.c: Likewise.
65116         * lib/classpath.h: Likewise.
65117         * lib/clean-temp.c: Likewise.
65118         * lib/clean-temp.h: Likewise.
65119         * lib/cloexec.c: Likewise.
65120         * lib/close-stream.c: Likewise.
65121         * lib/closein.c: Likewise.
65122         * lib/closein.h: Likewise.
65123         * lib/closeout.c: Likewise.
65124         * lib/closeout.h: Likewise.
65125         * lib/concat-filename.c: Likewise.
65126         * lib/copy-file.c: Likewise.
65127         * lib/copy-file.h: Likewise.
65128         * lib/count-one-bits.h: Likewise.
65129         * lib/crc.c: Likewise.
65130         * lib/crc.h: Likewise.
65131         * lib/creat-safer.c: Likewise.
65132         * lib/csharpcomp.c: Likewise.
65133         * lib/csharpcomp.h: Likewise.
65134         * lib/csharpexec.c: Likewise.
65135         * lib/csharpexec.h: Likewise.
65136         * lib/cycle-check.c: Likewise.
65137         * lib/cycle-check.h: Likewise.
65138         * lib/diacrit.c: Likewise.
65139         * lib/diacrit.h: Likewise.
65140         * lib/diffseq.h: Likewise.
65141         * lib/dirchownmod.c: Likewise.
65142         * lib/dirent.in.h: Likewise.
65143         * lib/dirfd.c: Likewise.
65144         * lib/dirfd.h: Likewise.
65145         * lib/dirname.c: Likewise.
65146         * lib/dirname.h: Likewise.
65147         * lib/dummy.c: Likewise.
65148         * lib/dup-safer.c: Likewise.
65149         * lib/dup2.c: Likewise.
65150         * lib/eealloc.h: Likewise.
65151         * lib/error.c: Likewise.
65152         * lib/error.h: Likewise.
65153         * lib/euidaccess.c: Likewise.
65154         * lib/exclude.c: Likewise.
65155         * lib/exclude.h: Likewise.
65156         * lib/execute.c: Likewise.
65157         * lib/execute.h: Likewise.
65158         * lib/exitfail.c: Likewise.
65159         * lib/exitfail.h: Likewise.
65160         * lib/expl.c: Likewise.
65161         * lib/fatal-signal.c: Likewise.
65162         * lib/fatal-signal.h: Likewise.
65163         * lib/fbufmode.c: Likewise.
65164         * lib/fbufmode.h: Likewise.
65165         * lib/fchdir.c: Likewise.
65166         * lib/fchmodat.c: Likewise.
65167         * lib/fchownat.c: Likewise.
65168         * lib/fcntl--.h: Likewise.
65169         * lib/fcntl-safer.h: Likewise.
65170         * lib/fcntl.in.h: Likewise.
65171         * lib/fd-safer.c: Likewise.
65172         * lib/fflush.c: Likewise.
65173         * lib/file-has-acl.c: Likewise.
65174         * lib/file-set.c: Likewise.
65175         * lib/file-type.c: Likewise.
65176         * lib/file-type.h: Likewise.
65177         * lib/fileblocks.c: Likewise.
65178         * lib/filemode.c: Likewise.
65179         * lib/filemode.h: Likewise.
65180         * lib/filename.h: Likewise.
65181         * lib/filenamecat.c: Likewise.
65182         * lib/filenamecat.h: Likewise.
65183         * lib/findprog.c: Likewise.
65184         * lib/findprog.h: Likewise.
65185         * lib/float.in.h: Likewise.
65186         * lib/floor.c: Likewise.
65187         * lib/floorf.c: Likewise.
65188         * lib/floorl.c: Likewise.
65189         * lib/fopen-safer.c: Likewise.
65190         * lib/fopen.c: Likewise.
65191         * lib/fpending.c: Likewise.
65192         * lib/fpending.h: Likewise.
65193         * lib/fprintf.c: Likewise.
65194         * lib/fprintftime.h: Likewise.
65195         * lib/fpucw.h: Likewise.
65196         * lib/fpurge.c: Likewise.
65197         * lib/fpurge.h: Likewise.
65198         * lib/freadable.c: Likewise.
65199         * lib/freadable.h: Likewise.
65200         * lib/freadahead.c: Likewise.
65201         * lib/freadahead.h: Likewise.
65202         * lib/freading.c: Likewise.
65203         * lib/freading.h: Likewise.
65204         * lib/free.c: Likewise.
65205         * lib/freopen.c: Likewise.
65206         * lib/frexp.c: Likewise.
65207         * lib/frexpl.c: Likewise.
65208         * lib/fseek.c: Likewise.
65209         * lib/fseterr.c: Likewise.
65210         * lib/fseterr.h: Likewise.
65211         * lib/fstatat.c: Likewise.
65212         * lib/fstrcmp.c: Likewise.
65213         * lib/fstrcmp.h: Likewise.
65214         * lib/fsusage.c: Likewise.
65215         * lib/fsusage.h: Likewise.
65216         * lib/ftell.c: Likewise.
65217         * lib/ftello.c: Likewise.
65218         * lib/fts-cycle.c: Likewise.
65219         * lib/fts.c: Likewise.
65220         * lib/fts_.h: Likewise.
65221         * lib/full-read.c: Likewise.
65222         * lib/full-read.h: Likewise.
65223         * lib/full-write.c: Likewise.
65224         * lib/full-write.h: Likewise.
65225         * lib/fwritable.c: Likewise.
65226         * lib/fwritable.h: Likewise.
65227         * lib/fwriteerror.c: Likewise.
65228         * lib/fwriteerror.h: Likewise.
65229         * lib/fwriting.c: Likewise.
65230         * lib/fwriting.h: Likewise.
65231         * lib/gcd.c: Likewise.
65232         * lib/gcd.h: Likewise.
65233         * lib/getcwd.c: Likewise.
65234         * lib/getdate.h: Likewise.
65235         * lib/getdate.y: Likewise.
65236         * lib/getdomainname.c: Likewise.
65237         * lib/getdomainname.h: Likewise.
65238         * lib/getgroups.c: Likewise.
65239         * lib/gethostname.c: Likewise.
65240         * lib/gethrxtime.c: Likewise.
65241         * lib/gethrxtime.h: Likewise.
65242         * lib/getloadavg.c: Likewise.
65243         * lib/getndelim2.c: Likewise.
65244         * lib/getndelim2.h: Likewise.
65245         * lib/getnline.c: Likewise.
65246         * lib/getnline.h: Likewise.
65247         * lib/getopt.c: Likewise.
65248         * lib/getopt.in.h: Likewise.
65249         * lib/getopt1.c: Likewise.
65250         * lib/getopt_int.h: Likewise.
65251         * lib/getpagesize.h: Likewise.
65252         * lib/getsubopt.c: Likewise.
65253         * lib/gettime.c: Likewise.
65254         * lib/getugroups.c: Likewise.
65255         * lib/getugroups.h: Likewise.
65256         * lib/getusershell.c: Likewise.
65257         * lib/gl_anyavltree_list1.h: Likewise.
65258         * lib/gl_anyavltree_list2.h: Likewise.
65259         * lib/gl_anyhash_list1.h: Likewise.
65260         * lib/gl_anyhash_list2.h: Likewise.
65261         * lib/gl_anylinked_list1.h: Likewise.
65262         * lib/gl_anylinked_list2.h: Likewise.
65263         * lib/gl_anyrbtree_list1.h: Likewise.
65264         * lib/gl_anyrbtree_list2.h: Likewise.
65265         * lib/gl_anytree_list1.h: Likewise.
65266         * lib/gl_anytree_list2.h: Likewise.
65267         * lib/gl_anytree_oset.h: Likewise.
65268         * lib/gl_anytreehash_list1.h: Likewise.
65269         * lib/gl_anytreehash_list2.h: Likewise.
65270         * lib/gl_array_list.c: Likewise.
65271         * lib/gl_array_list.h: Likewise.
65272         * lib/gl_array_oset.c: Likewise.
65273         * lib/gl_array_oset.h: Likewise.
65274         * lib/gl_avltree_list.c: Likewise.
65275         * lib/gl_avltree_list.h: Likewise.
65276         * lib/gl_avltree_oset.c: Likewise.
65277         * lib/gl_avltree_oset.h: Likewise.
65278         * lib/gl_avltreehash_list.c: Likewise.
65279         * lib/gl_avltreehash_list.h: Likewise.
65280         * lib/gl_carray_list.c: Likewise.
65281         * lib/gl_carray_list.h: Likewise.
65282         * lib/gl_linked_list.c: Likewise.
65283         * lib/gl_linked_list.h: Likewise.
65284         * lib/gl_linkedhash_list.c: Likewise.
65285         * lib/gl_linkedhash_list.h: Likewise.
65286         * lib/gl_list.c: Likewise.
65287         * lib/gl_list.h: Likewise.
65288         * lib/gl_oset.c: Likewise.
65289         * lib/gl_oset.h: Likewise.
65290         * lib/gl_rbtree_list.c: Likewise.
65291         * lib/gl_rbtree_list.h: Likewise.
65292         * lib/gl_rbtree_oset.c: Likewise.
65293         * lib/gl_rbtree_oset.h: Likewise.
65294         * lib/gl_rbtreehash_list.c: Likewise.
65295         * lib/gl_rbtreehash_list.h: Likewise.
65296         * lib/gl_sublist.c: Likewise.
65297         * lib/gl_sublist.h: Likewise.
65298         * lib/group-member.c: Likewise.
65299         * lib/group-member.h: Likewise.
65300         * lib/hard-locale.c: Likewise.
65301         * lib/hard-locale.h: Likewise.
65302         * lib/hash-pjw.c: Likewise.
65303         * lib/hash-pjw.h: Likewise.
65304         * lib/hash-triple.c: Likewise.
65305         * lib/hash.c: Likewise.
65306         * lib/hash.h: Likewise.
65307         * lib/human.c: Likewise.
65308         * lib/human.h: Likewise.
65309         * lib/i-ring.c: Likewise.
65310         * lib/i-ring.h: Likewise.
65311         * lib/idcache.c: Likewise.
65312         * lib/imaxabs.c: Likewise.
65313         * lib/imaxdiv.c: Likewise.
65314         * lib/inet_pton.c: Likewise.
65315         * lib/inet_pton.h: Likewise.
65316         * lib/intprops.h: Likewise.
65317         * lib/inttostr.c: Likewise.
65318         * lib/inttostr.h: Likewise.
65319         * lib/inttypes.in.h: Likewise.
65320         * lib/isapipe.c: Likewise.
65321         * lib/isdir.c: Likewise.
65322         * lib/isnan.c: Likewise.
65323         * lib/isnan.h: Likewise.
65324         * lib/isnanf.c: Likewise.
65325         * lib/isnanf.h: Likewise.
65326         * lib/isnanl-nolibm.h: Likewise.
65327         * lib/isnanl.c: Likewise.
65328         * lib/isnanl.h: Likewise.
65329         * lib/javacomp.c: Likewise.
65330         * lib/javacomp.h: Likewise.
65331         * lib/javaexec.c: Likewise.
65332         * lib/javaexec.h: Likewise.
65333         * lib/javaversion.c: Likewise.
65334         * lib/javaversion.h: Likewise.
65335         * lib/javaversion.java: Likewise.
65336         * lib/lbrkprop.h: Likewise.
65337         * lib/lchmod.h: Likewise.
65338         * lib/lchown.c: Likewise.
65339         * lib/ldexpl.c: Likewise.
65340         * lib/linebreak.c: Likewise.
65341         * lib/linebreak.h: Likewise.
65342         * lib/linebuffer.c: Likewise.
65343         * lib/linebuffer.h: Likewise.
65344         * lib/locale.in.h: Likewise.
65345         * lib/logl.c: Likewise.
65346         * lib/long-options.c: Likewise.
65347         * lib/long-options.h: Likewise.
65348         * lib/lstat.c: Likewise.
65349         * lib/lstat.h: Likewise.
65350         * lib/math.in.h: Likewise.
65351         * lib/mbchar.c: Likewise.
65352         * lib/mbchar.h: Likewise.
65353         * lib/mbfile.h: Likewise.
65354         * lib/mbiter.h: Likewise.
65355         * lib/mbscasecmp.c: Likewise.
65356         * lib/mbscasestr.c: Likewise.
65357         * lib/mbschr.c: Likewise.
65358         * lib/mbscspn.c: Likewise.
65359         * lib/mbslen.c: Likewise.
65360         * lib/mbsncasecmp.c: Likewise.
65361         * lib/mbsnlen.c: Likewise.
65362         * lib/mbspbrk.c: Likewise.
65363         * lib/mbspcasecmp.c: Likewise.
65364         * lib/mbsrchr.c: Likewise.
65365         * lib/mbssep.c: Likewise.
65366         * lib/mbsspn.c: Likewise.
65367         * lib/mbsstr.c: Likewise.
65368         * lib/mbstok_r.c: Likewise.
65369         * lib/mbswidth.c: Likewise.
65370         * lib/mbswidth.h: Likewise.
65371         * lib/mbuiter.h: Likewise.
65372         * lib/memcasecmp.c: Likewise.
65373         * lib/memcasecmp.h: Likewise.
65374         * lib/memchr.c: Likewise.
65375         * lib/memcmp.c: Likewise.
65376         * lib/memcoll.c: Likewise.
65377         * lib/memcoll.h: Likewise.
65378         * lib/memcpy.c: Likewise.
65379         * lib/memrchr.c: Likewise.
65380         * lib/mkancesdirs.c: Likewise.
65381         * lib/mkdir-p.c: Likewise.
65382         * lib/mkdir-p.h: Likewise.
65383         * lib/mkdir.c: Likewise.
65384         * lib/mkdirat.c: Likewise.
65385         * lib/mkdtemp.c: Likewise.
65386         * lib/mkstemp-safer.c: Likewise.
65387         * lib/mkstemp.c: Likewise.
65388         * lib/modechange.c: Likewise.
65389         * lib/modechange.h: Likewise.
65390         * lib/mountlist.c: Likewise.
65391         * lib/mountlist.h: Likewise.
65392         * lib/mpsort.c: Likewise.
65393         * lib/nanosleep.c: Likewise.
65394         * lib/obstack.c: Likewise.
65395         * lib/obstack.h: Likewise.
65396         * lib/open-safer.c: Likewise.
65397         * lib/open.c: Likewise.
65398         * lib/openat-die.c: Likewise.
65399         * lib/openat-priv.h: Likewise.
65400         * lib/openat-proc.c: Likewise.
65401         * lib/openat.c: Likewise.
65402         * lib/openat.h: Likewise.
65403         * lib/pagealign_alloc.c: Likewise.
65404         * lib/pagealign_alloc.h: Likewise.
65405         * lib/physmem.c: Likewise.
65406         * lib/physmem.h: Likewise.
65407         * lib/pipe-safer.c: Likewise.
65408         * lib/pipe.c: Likewise.
65409         * lib/pipe.h: Likewise.
65410         * lib/posixtm.c: Likewise.
65411         * lib/posixtm.h: Likewise.
65412         * lib/posixver.c: Likewise.
65413         * lib/printf-frexp.c: Likewise.
65414         * lib/printf-frexp.h: Likewise.
65415         * lib/printf-frexpl.c: Likewise.
65416         * lib/printf-frexpl.h: Likewise.
65417         * lib/printf.c: Likewise.
65418         * lib/progname.c: Likewise.
65419         * lib/progname.h: Likewise.
65420         * lib/progreloc.c: Likewise.
65421         * lib/putenv.c: Likewise.
65422         * lib/quote.c: Likewise.
65423         * lib/quote.h: Likewise.
65424         * lib/quotearg.c: Likewise.
65425         * lib/quotearg.h: Likewise.
65426         * lib/raise.c: Likewise.
65427         * lib/readline.c: Likewise.
65428         * lib/readline.h: Likewise.
65429         * lib/readlink.c: Likewise.
65430         * lib/readtokens.c: Likewise.
65431         * lib/readtokens.h: Likewise.
65432         * lib/readtokens0.c: Likewise.
65433         * lib/readtokens0.h: Likewise.
65434         * lib/readutmp.c: Likewise.
65435         * lib/readutmp.h: Likewise.
65436         * lib/realloc.c: Likewise.
65437         * lib/relocwrapper.c: Likewise.
65438         * lib/rename-dest-slash.c: Likewise.
65439         * lib/rename.c: Likewise.
65440         * lib/rmdir.c: Likewise.
65441         * lib/rpmatch.c: Likewise.
65442         * lib/safe-read.c: Likewise.
65443         * lib/safe-read.h: Likewise.
65444         * lib/safe-write.c: Likewise.
65445         * lib/safe-write.h: Likewise.
65446         * lib/same-inode.h: Likewise.
65447         * lib/same.c: Likewise.
65448         * lib/same.h: Likewise.
65449         * lib/save-cwd.c: Likewise.
65450         * lib/save-cwd.h: Likewise.
65451         * lib/savedir.c: Likewise.
65452         * lib/savedir.h: Likewise.
65453         * lib/savewd.c: Likewise.
65454         * lib/savewd.h: Likewise.
65455         * lib/search.in.h: Likewise.
65456         * lib/setenv.c: Likewise.
65457         * lib/setenv.h: Likewise.
65458         * lib/settime.c: Likewise.
65459         * lib/sh-quote.c: Likewise.
65460         * lib/sh-quote.h: Likewise.
65461         * lib/sig2str.c: Likewise.
65462         * lib/sig2str.h: Likewise.
65463         * lib/signal.in.h: Likewise.
65464         * lib/signbitd.c: Likewise.
65465         * lib/signbitf.c: Likewise.
65466         * lib/signbitl.c: Likewise.
65467         * lib/sigprocmask.c: Likewise.
65468         * lib/sincosl.c: Likewise.
65469         * lib/sleep.c: Likewise.
65470         * lib/sprintf.c: Likewise.
65471         * lib/sqrtl.c: Likewise.
65472         * lib/stat-time.h: Likewise.
65473         * lib/stdio--.h: Likewise.
65474         * lib/stdio-safer.h: Likewise.
65475         * lib/stdlib--.h: Likewise.
65476         * lib/stdlib-safer.h: Likewise.
65477         * lib/stdlib.in.h: Likewise.
65478         * lib/stpcpy.c: Likewise.
65479         * lib/stpncpy.c: Likewise.
65480         * lib/strchrnul.c: Likewise.
65481         * lib/strcspn.c: Likewise.
65482         * lib/strerror.c: Likewise.
65483         * lib/strftime.c: Likewise.
65484         * lib/strftime.h: Likewise.
65485         * lib/striconveh.c: Likewise.
65486         * lib/striconveh.h: Likewise.
65487         * lib/striconveha.c: Likewise.
65488         * lib/striconveha.h: Likewise.
65489         * lib/stripslash.c: Likewise.
65490         * lib/strnlen1.c: Likewise.
65491         * lib/strnlen1.h: Likewise.
65492         * lib/strtod.c: Likewise.
65493         * lib/strtoimax.c: Likewise.
65494         * lib/strtok_r.c: Likewise.
65495         * lib/strtol.c: Likewise.
65496         * lib/strtoll.c: Likewise.
65497         * lib/strtoul.c: Likewise.
65498         * lib/strtoull.c: Likewise.
65499         * lib/sysexits.in.h: Likewise.
65500         * lib/tempname.c: Likewise.
65501         * lib/tempname.h: Likewise.
65502         * lib/timespec.h: Likewise.
65503         * lib/tls.c: Likewise.
65504         * lib/tls.h: Likewise.
65505         * lib/tmpdir.c: Likewise.
65506         * lib/tmpdir.h: Likewise.
65507         * lib/tmpfile-safer.c: Likewise.
65508         * lib/tmpfile.c: Likewise.
65509         * lib/trigl.c: Likewise.
65510         * lib/trigl.h: Likewise.
65511         * lib/trim.c: Likewise.
65512         * lib/trim.h: Likewise.
65513         * lib/trunc.c: Likewise.
65514         * lib/truncf.c: Likewise.
65515         * lib/truncl.c: Likewise.
65516         * lib/tsearch.c: Likewise.
65517         * lib/unicodeio.c: Likewise.
65518         * lib/unicodeio.h: Likewise.
65519         * lib/unistd--.h: Likewise.
65520         * lib/unistd-safer.h: Likewise.
65521         * lib/unistdio/ulc-fprintf.c: Likewise.
65522         * lib/unistdio/ulc-vfprintf.c: Likewise.
65523         * lib/unlinkdir.c: Likewise.
65524         * lib/unlinkdir.h: Likewise.
65525         * lib/unlocked-io.h: Likewise.
65526         * lib/unsetenv.c: Likewise.
65527         * lib/userspec.c: Likewise.
65528         * lib/utime.c: Likewise.
65529         * lib/utimecmp.c: Likewise.
65530         * lib/utimecmp.h: Likewise.
65531         * lib/utimens.c: Likewise.
65532         * lib/verify.h: Likewise.
65533         * lib/verror.c: Likewise.
65534         * lib/verror.h: Likewise.
65535         * lib/version-etc-fsf.c: Likewise.
65536         * lib/version-etc.c: Likewise.
65537         * lib/version-etc.h: Likewise.
65538         * lib/vfprintf.c: Likewise.
65539         * lib/vprintf.c: Likewise.
65540         * lib/vsprintf.c: Likewise.
65541         * lib/w32spawn.h: Likewise.
65542         * lib/wait-process.c: Likewise.
65543         * lib/wait-process.h: Likewise.
65544         * lib/wcwidth.c: Likewise.
65545         * lib/write-any-file.c: Likewise.
65546         * lib/xalloc-die.c: Likewise.
65547         * lib/xalloc.h: Likewise.
65548         * lib/xasprintf.c: Likewise.
65549         * lib/xgetcwd.c: Likewise.
65550         * lib/xgetcwd.h: Likewise.
65551         * lib/xgetdomainname.c: Likewise.
65552         * lib/xgetdomainname.h: Likewise.
65553         * lib/xgethostname.c: Likewise.
65554         * lib/xmalloc.c: Likewise.
65555         * lib/xmalloca.c: Likewise.
65556         * lib/xmalloca.h: Likewise.
65557         * lib/xmemcoll.c: Likewise.
65558         * lib/xnanosleep.c: Likewise.
65559         * lib/xreadlink.c: Likewise.
65560         * lib/xreadlink.h: Likewise.
65561         * lib/xsetenv.c: Likewise.
65562         * lib/xsetenv.h: Likewise.
65563         * lib/xstriconv.c: Likewise.
65564         * lib/xstriconv.h: Likewise.
65565         * lib/xstrndup.c: Likewise.
65566         * lib/xstrndup.h: Likewise.
65567         * lib/xstrtod.c: Likewise.
65568         * lib/xstrtod.h: Likewise.
65569         * lib/xstrtol-error.c: Likewise.
65570         * lib/xstrtol.c: Likewise.
65571         * lib/xstrtol.h: Likewise.
65572         * lib/xtime.h: Likewise.
65573         * lib/xvasprintf.c: Likewise.
65574         * lib/xvasprintf.h: Likewise.
65575         * lib/yesno.c: Likewise.
65576         * lib/yesno.h: Likewise.
65577         * posix-modules: Likewise.
65578         * tests/test-alloca-opt.c: Likewise.
65579         * tests/test-arcfour.c: Likewise.
65580         * tests/test-arctwo.c: Likewise.
65581         * tests/test-argmatch.c: Likewise.
65582         * tests/test-argp-2.sh: Likewise.
65583         * tests/test-argp.c: Likewise.
65584         * tests/test-arpa_inet.c: Likewise.
65585         * tests/test-array_list.c: Likewise.
65586         * tests/test-array_oset.c: Likewise.
65587         * tests/test-atexit.c: Likewise.
65588         * tests/test-avltree_list.c: Likewise.
65589         * tests/test-avltree_oset.c: Likewise.
65590         * tests/test-avltreehash_list.c: Likewise.
65591         * tests/test-base64.c: Likewise.
65592         * tests/test-binary-io.c: Likewise.
65593         * tests/test-byteswap.c: Likewise.
65594         * tests/test-c-ctype.c: Likewise.
65595         * tests/test-c-strcasecmp.c: Likewise.
65596         * tests/test-c-strcasestr.c: Likewise.
65597         * tests/test-c-strncasecmp.c: Likewise.
65598         * tests/test-c-strstr.c: Likewise.
65599         * tests/test-canonicalize-lgpl.c: Likewise.
65600         * tests/test-canonicalize.c: Likewise.
65601         * tests/test-carray_list.c: Likewise.
65602         * tests/test-ceilf.c: Likewise.
65603         * tests/test-ceill.c: Likewise.
65604         * tests/test-count-one-bits.c: Likewise.
65605         * tests/test-crc.c: Likewise.
65606         * tests/test-dirname.c: Likewise.
65607         * tests/test-fbufmode.c: Likewise.
65608         * tests/test-fcntl.c: Likewise.
65609         * tests/test-fflush.c: Likewise.
65610         * tests/test-floorf.c: Likewise.
65611         * tests/test-floorl.c: Likewise.
65612         * tests/test-fopen.c: Likewise.
65613         * tests/test-fprintf-posix.c: Likewise.
65614         * tests/test-fprintf-posix.h: Likewise.
65615         * tests/test-fpurge.c: Likewise.
65616         * tests/test-freadable.c: Likewise.
65617         * tests/test-freadahead.c: Likewise.
65618         * tests/test-freading.c: Likewise.
65619         * tests/test-freopen.c: Likewise.
65620         * tests/test-frexp.c: Likewise.
65621         * tests/test-frexpl.c: Likewise.
65622         * tests/test-fseek.c: Likewise.
65623         * tests/test-fseeko.c: Likewise.
65624         * tests/test-fseterr.c: Likewise.
65625         * tests/test-fstrcmp.c: Likewise.
65626         * tests/test-ftell.c: Likewise.
65627         * tests/test-ftello.c: Likewise.
65628         * tests/test-fwritable.c: Likewise.
65629         * tests/test-fwriting.c: Likewise.
65630         * tests/test-getaddrinfo.c: Likewise.
65631         * tests/test-getpass.c: Likewise.
65632         * tests/test-gettimeofday.c: Likewise.
65633         * tests/test-hmac-md5.c: Likewise.
65634         * tests/test-hmac-sha1.c: Likewise.
65635         * tests/test-iconv.c: Likewise.
65636         * tests/test-iconvme.c: Likewise.
65637         * tests/test-inttypes.c: Likewise.
65638         * tests/test-isnan.c: Likewise.
65639         * tests/test-isnanf.c: Likewise.
65640         * tests/test-isnanl-nolibm.c: Likewise.
65641         * tests/test-isnanl.c: Likewise.
65642         * tests/test-isnanl.h: Likewise.
65643         * tests/test-ldexpl.c: Likewise.
65644         * tests/test-linked_list.c: Likewise.
65645         * tests/test-linkedhash_list.c: Likewise.
65646         * tests/test-locale.c: Likewise.
65647         * tests/test-localename.c: Likewise.
65648         * tests/test-lock.c: Likewise.
65649         * tests/test-lseek.c: Likewise.
65650         * tests/test-malloca.c: Likewise.
65651         * tests/test-math.c: Likewise.
65652         * tests/test-mbscasecmp.c: Likewise.
65653         * tests/test-mbscasestr1.c: Likewise.
65654         * tests/test-mbscasestr2.c: Likewise.
65655         * tests/test-mbscasestr3.c: Likewise.
65656         * tests/test-mbscasestr4.c: Likewise.
65657         * tests/test-mbschr.c: Likewise.
65658         * tests/test-mbscspn.c: Likewise.
65659         * tests/test-mbsncasecmp.c: Likewise.
65660         * tests/test-mbspbrk.c: Likewise.
65661         * tests/test-mbspcasecmp.c: Likewise.
65662         * tests/test-mbsrchr.c: Likewise.
65663         * tests/test-mbsspn.c: Likewise.
65664         * tests/test-mbsstr1.c: Likewise.
65665         * tests/test-mbsstr2.c: Likewise.
65666         * tests/test-mbsstr3.c: Likewise.
65667         * tests/test-md5.c: Likewise.
65668         * tests/test-memmem.c: Likewise.
65669         * tests/test-netinet_in.c: Likewise.
65670         * tests/test-open.c: Likewise.
65671         * tests/test-printf-frexp.c: Likewise.
65672         * tests/test-printf-frexpl.c: Likewise.
65673         * tests/test-printf-posix.c: Likewise.
65674         * tests/test-printf-posix.h: Likewise.
65675         * tests/test-rbtree_list.c: Likewise.
65676         * tests/test-rbtree_oset.c: Likewise.
65677         * tests/test-rbtreehash_list.c: Likewise.
65678         * tests/test-read-file.c: Likewise.
65679         * tests/test-rijndael.c: Likewise.
65680         * tests/test-search.c: Likewise.
65681         * tests/test-signbit.c: Likewise.
65682         * tests/test-sleep.c: Likewise.
65683         * tests/test-snprintf-posix.c: Likewise.
65684         * tests/test-snprintf-posix.h: Likewise.
65685         * tests/test-snprintf.c: Likewise.
65686         * tests/test-sprintf-posix.c: Likewise.
65687         * tests/test-sprintf-posix.h: Likewise.
65688         * tests/test-stat-time.c: Likewise.
65689         * tests/test-stdbool.c: Likewise.
65690         * tests/test-stdint.c: Likewise.
65691         * tests/test-stdio.c: Likewise.
65692         * tests/test-stdlib.c: Likewise.
65693         * tests/test-stpncpy.c: Likewise.
65694         * tests/test-strcasestr.c: Likewise.
65695         * tests/test-striconv.c: Likewise.
65696         * tests/test-striconveh.c: Likewise.
65697         * tests/test-striconveha.c: Likewise.
65698         * tests/test-string.c: Likewise.
65699         * tests/test-sys_select.c: Likewise.
65700         * tests/test-sys_socket.c: Likewise.
65701         * tests/test-sys_stat.c: Likewise.
65702         * tests/test-sys_time.c: Likewise.
65703         * tests/test-sysexits.c: Likewise.
65704         * tests/test-time.c: Likewise.
65705         * tests/test-tls.c: Likewise.
65706         * tests/test-trunc.c: Likewise.
65707         * tests/test-truncf.c: Likewise.
65708         * tests/test-truncl.c: Likewise.
65709         * tests/test-unistd.c: Likewise.
65710         * tests/test-vasnprintf-posix.c: Likewise.
65711         * tests/test-vasnprintf-posix2.c: Likewise.
65712         * tests/test-vasnprintf.c: Likewise.
65713         * tests/test-vasprintf-posix.c: Likewise.
65714         * tests/test-vasprintf.c: Likewise.
65715         * tests/test-verify.c: Likewise.
65716         * tests/test-vfprintf-posix.c: Likewise.
65717         * tests/test-vprintf-posix.c: Likewise.
65718         * tests/test-vsnprintf-posix.c: Likewise.
65719         * tests/test-vsnprintf.c: Likewise.
65720         * tests/test-vsprintf-posix.c: Likewise.
65721         * tests/test-wchar.c: Likewise.
65722         * tests/test-wctype.c: Likewise.
65723         * tests/test-wcwidth.c: Likewise.
65724         * tests/test-xstrtol.c: Likewise.
65725         * tests/test-xvasprintf.c: Likewise.
65726         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
65727         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
65728         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
65729         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
65730         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
65731         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
65732         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
65733         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
65734         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
65735         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
65736         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
65737         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
65738         * tests/uniname/test-uninames.c: Likewise.
65739         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
65740         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
65741         * tests/unistdio/test-u16-printf1.h: Likewise.
65742         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
65743         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
65744         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
65745         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
65746         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
65747         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
65748         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
65749         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
65750         * tests/unistdio/test-u32-printf1.h: Likewise.
65751         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
65752         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
65753         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
65754         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
65755         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
65756         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
65757         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
65758         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
65759         * tests/unistdio/test-u8-printf1.h: Likewise.
65760         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
65761         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
65762         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
65763         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
65764         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
65765         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
65766         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
65767         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
65768         * tests/unistdio/test-ulc-printf1.h: Likewise.
65769         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
65770         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
65771         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
65772         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
65773         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
65774         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
65775         * tests/uniwidth/test-u16-strwidth.c: Likewise.
65776         * tests/uniwidth/test-u16-width.c: Likewise.
65777         * tests/uniwidth/test-u32-strwidth.c: Likewise.
65778         * tests/uniwidth/test-u32-width.c: Likewise.
65779         * tests/uniwidth/test-u8-strwidth.c: Likewise.
65780         * tests/uniwidth/test-u8-width.c: Likewise.
65781         * tests/uniwidth/test-uc_width.c: Likewise.
65782         * config/srclist-update: Likewise.
65783         (fixlicense): Update to GPLv3+.
65784
65785         Change copyright notice from LGPLv2.1+ to LGPLv3+.
65786         * tests/test-tsearch.c: Change copyright notice.
65787
65788         Change copyright notice from LGPLv2.0+ to LGPLv3+.
65789         * lib/c-strcaseeq.h: Change copyright notice.
65790         * lib/streq.h: Likewise.
65791         * lib/uniconv.h: Likewise.
65792         * lib/uniconv/u-conv-from-enc.h: Likewise.
65793         * lib/uniconv/u-conv-to-enc.h: Likewise.
65794         * lib/uniconv/u-strconv-from-enc.h: Likewise.
65795         * lib/uniconv/u-strconv-to-enc.h: Likewise.
65796         * lib/uniconv/u16-conv-from-enc.c: Likewise.
65797         * lib/uniconv/u16-conv-to-enc.c: Likewise.
65798         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
65799         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
65800         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
65801         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
65802         * lib/uniconv/u32-conv-from-enc.c: Likewise.
65803         * lib/uniconv/u32-conv-to-enc.c: Likewise.
65804         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
65805         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
65806         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
65807         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
65808         * lib/uniconv/u8-conv-from-enc.c: Likewise.
65809         * lib/uniconv/u8-conv-to-enc.c: Likewise.
65810         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
65811         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
65812         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
65813         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
65814         * lib/uniname.h: Likewise.
65815         * lib/uniname/uniname.c: Likewise.
65816         * lib/unistdio.h: Likewise.
65817         * lib/unistdio/u-asnprintf.h: Likewise.
65818         * lib/unistdio/u-asprintf.h: Likewise.
65819         * lib/unistdio/u-printf-args.c: Likewise.
65820         * lib/unistdio/u-printf-args.h: Likewise.
65821         * lib/unistdio/u-printf-parse.h: Likewise.
65822         * lib/unistdio/u-snprintf.h: Likewise.
65823         * lib/unistdio/u-sprintf.h: Likewise.
65824         * lib/unistdio/u-vasprintf.h: Likewise.
65825         * lib/unistdio/u-vsnprintf.h: Likewise.
65826         * lib/unistdio/u-vsprintf.h: Likewise.
65827         * lib/unistdio/u16-asnprintf.c: Likewise.
65828         * lib/unistdio/u16-asprintf.c: Likewise.
65829         * lib/unistdio/u16-printf-parse.c: Likewise.
65830         * lib/unistdio/u16-snprintf.c: Likewise.
65831         * lib/unistdio/u16-sprintf.c: Likewise.
65832         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
65833         * lib/unistdio/u16-u16-asprintf.c: Likewise.
65834         * lib/unistdio/u16-u16-snprintf.c: Likewise.
65835         * lib/unistdio/u16-u16-sprintf.c: Likewise.
65836         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
65837         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
65838         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
65839         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
65840         * lib/unistdio/u16-vasnprintf.c: Likewise.
65841         * lib/unistdio/u16-vasprintf.c: Likewise.
65842         * lib/unistdio/u16-vsnprintf.c: Likewise.
65843         * lib/unistdio/u16-vsprintf.c: Likewise.
65844         * lib/unistdio/u32-asnprintf.c: Likewise.
65845         * lib/unistdio/u32-asprintf.c: Likewise.
65846         * lib/unistdio/u32-printf-parse.c: Likewise.
65847         * lib/unistdio/u32-snprintf.c: Likewise.
65848         * lib/unistdio/u32-sprintf.c: Likewise.
65849         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
65850         * lib/unistdio/u32-u32-asprintf.c: Likewise.
65851         * lib/unistdio/u32-u32-snprintf.c: Likewise.
65852         * lib/unistdio/u32-u32-sprintf.c: Likewise.
65853         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
65854         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
65855         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
65856         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
65857         * lib/unistdio/u32-vasnprintf.c: Likewise.
65858         * lib/unistdio/u32-vasprintf.c: Likewise.
65859         * lib/unistdio/u32-vsnprintf.c: Likewise.
65860         * lib/unistdio/u32-vsprintf.c: Likewise.
65861         * lib/unistdio/u8-asnprintf.c: Likewise.
65862         * lib/unistdio/u8-asprintf.c: Likewise.
65863         * lib/unistdio/u8-printf-parse.c: Likewise.
65864         * lib/unistdio/u8-snprintf.c: Likewise.
65865         * lib/unistdio/u8-sprintf.c: Likewise.
65866         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
65867         * lib/unistdio/u8-u8-asprintf.c: Likewise.
65868         * lib/unistdio/u8-u8-snprintf.c: Likewise.
65869         * lib/unistdio/u8-u8-sprintf.c: Likewise.
65870         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
65871         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
65872         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
65873         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
65874         * lib/unistdio/u8-vasnprintf.c: Likewise.
65875         * lib/unistdio/u8-vasprintf.c: Likewise.
65876         * lib/unistdio/u8-vsnprintf.c: Likewise.
65877         * lib/unistdio/u8-vsprintf.c: Likewise.
65878         * lib/unistdio/ulc-asnprintf.c: Likewise.
65879         * lib/unistdio/ulc-asprintf.c: Likewise.
65880         * lib/unistdio/ulc-printf-parse.c: Likewise.
65881         * lib/unistdio/ulc-snprintf.c: Likewise.
65882         * lib/unistdio/ulc-sprintf.c: Likewise.
65883         * lib/unistdio/ulc-vasnprintf.c: Likewise.
65884         * lib/unistdio/ulc-vasprintf.c: Likewise.
65885         * lib/unistdio/ulc-vsnprintf.c: Likewise.
65886         * lib/unistdio/ulc-vsprintf.c: Likewise.
65887         * lib/unistr.h: Likewise.
65888         * lib/unistr/u-cpy-alloc.h: Likewise.
65889         * lib/unistr/u-cpy.h: Likewise.
65890         * lib/unistr/u-endswith.h: Likewise.
65891         * lib/unistr/u-move.h: Likewise.
65892         * lib/unistr/u-set.h: Likewise.
65893         * lib/unistr/u-startswith.h: Likewise.
65894         * lib/unistr/u-stpcpy.h: Likewise.
65895         * lib/unistr/u-stpncpy.h: Likewise.
65896         * lib/unistr/u-strcat.h: Likewise.
65897         * lib/unistr/u-strcpy.h: Likewise.
65898         * lib/unistr/u-strcspn.h: Likewise.
65899         * lib/unistr/u-strdup.h: Likewise.
65900         * lib/unistr/u-strlen.h: Likewise.
65901         * lib/unistr/u-strncat.h: Likewise.
65902         * lib/unistr/u-strncpy.h: Likewise.
65903         * lib/unistr/u-strnlen.h: Likewise.
65904         * lib/unistr/u-strpbrk.h: Likewise.
65905         * lib/unistr/u-strspn.h: Likewise.
65906         * lib/unistr/u-strstr.h: Likewise.
65907         * lib/unistr/u-strtok.h: Likewise.
65908         * lib/unistr/u16-check.c: Likewise.
65909         * lib/unistr/u16-chr.c: Likewise.
65910         * lib/unistr/u16-cmp.c: Likewise.
65911         * lib/unistr/u16-cpy-alloc.c: Likewise.
65912         * lib/unistr/u16-cpy.c: Likewise.
65913         * lib/unistr/u16-endswith.c: Likewise.
65914         * lib/unistr/u16-mblen.c: Likewise.
65915         * lib/unistr/u16-mbsnlen.c: Likewise.
65916         * lib/unistr/u16-mbtouc-aux.c: Likewise.
65917         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
65918         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
65919         * lib/unistr/u16-mbtouc.c: Likewise.
65920         * lib/unistr/u16-mbtoucr.c: Likewise.
65921         * lib/unistr/u16-move.c: Likewise.
65922         * lib/unistr/u16-next.c: Likewise.
65923         * lib/unistr/u16-prev.c: Likewise.
65924         * lib/unistr/u16-set.c: Likewise.
65925         * lib/unistr/u16-startswith.c: Likewise.
65926         * lib/unistr/u16-stpcpy.c: Likewise.
65927         * lib/unistr/u16-stpncpy.c: Likewise.
65928         * lib/unistr/u16-strcat.c: Likewise.
65929         * lib/unistr/u16-strchr.c: Likewise.
65930         * lib/unistr/u16-strcmp.c: Likewise.
65931         * lib/unistr/u16-strcpy.c: Likewise.
65932         * lib/unistr/u16-strcspn.c: Likewise.
65933         * lib/unistr/u16-strdup.c: Likewise.
65934         * lib/unistr/u16-strlen.c: Likewise.
65935         * lib/unistr/u16-strmblen.c: Likewise.
65936         * lib/unistr/u16-strmbtouc.c: Likewise.
65937         * lib/unistr/u16-strncat.c: Likewise.
65938         * lib/unistr/u16-strncmp.c: Likewise.
65939         * lib/unistr/u16-strncpy.c: Likewise.
65940         * lib/unistr/u16-strnlen.c: Likewise.
65941         * lib/unistr/u16-strpbrk.c: Likewise.
65942         * lib/unistr/u16-strrchr.c: Likewise.
65943         * lib/unistr/u16-strspn.c: Likewise.
65944         * lib/unistr/u16-strstr.c: Likewise.
65945         * lib/unistr/u16-strtok.c: Likewise.
65946         * lib/unistr/u16-to-u32.c: Likewise.
65947         * lib/unistr/u16-to-u8.c: Likewise.
65948         * lib/unistr/u16-uctomb-aux.c: Likewise.
65949         * lib/unistr/u16-uctomb.c: Likewise.
65950         * lib/unistr/u32-check.c: Likewise.
65951         * lib/unistr/u32-chr.c: Likewise.
65952         * lib/unistr/u32-cmp.c: Likewise.
65953         * lib/unistr/u32-cpy-alloc.c: Likewise.
65954         * lib/unistr/u32-cpy.c: Likewise.
65955         * lib/unistr/u32-endswith.c: Likewise.
65956         * lib/unistr/u32-mblen.c: Likewise.
65957         * lib/unistr/u32-mbsnlen.c: Likewise.
65958         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
65959         * lib/unistr/u32-mbtouc.c: Likewise.
65960         * lib/unistr/u32-mbtoucr.c: Likewise.
65961         * lib/unistr/u32-move.c: Likewise.
65962         * lib/unistr/u32-next.c: Likewise.
65963         * lib/unistr/u32-prev.c: Likewise.
65964         * lib/unistr/u32-set.c: Likewise.
65965         * lib/unistr/u32-startswith.c: Likewise.
65966         * lib/unistr/u32-stpcpy.c: Likewise.
65967         * lib/unistr/u32-stpncpy.c: Likewise.
65968         * lib/unistr/u32-strcat.c: Likewise.
65969         * lib/unistr/u32-strchr.c: Likewise.
65970         * lib/unistr/u32-strcmp.c: Likewise.
65971         * lib/unistr/u32-strcpy.c: Likewise.
65972         * lib/unistr/u32-strcspn.c: Likewise.
65973         * lib/unistr/u32-strdup.c: Likewise.
65974         * lib/unistr/u32-strlen.c: Likewise.
65975         * lib/unistr/u32-strmblen.c: Likewise.
65976         * lib/unistr/u32-strmbtouc.c: Likewise.
65977         * lib/unistr/u32-strncat.c: Likewise.
65978         * lib/unistr/u32-strncmp.c: Likewise.
65979         * lib/unistr/u32-strncpy.c: Likewise.
65980         * lib/unistr/u32-strnlen.c: Likewise.
65981         * lib/unistr/u32-strpbrk.c: Likewise.
65982         * lib/unistr/u32-strrchr.c: Likewise.
65983         * lib/unistr/u32-strspn.c: Likewise.
65984         * lib/unistr/u32-strstr.c: Likewise.
65985         * lib/unistr/u32-strtok.c: Likewise.
65986         * lib/unistr/u32-to-u16.c: Likewise.
65987         * lib/unistr/u32-to-u8.c: Likewise.
65988         * lib/unistr/u32-uctomb.c: Likewise.
65989         * lib/unistr/u8-check.c: Likewise.
65990         * lib/unistr/u8-chr.c: Likewise.
65991         * lib/unistr/u8-cmp.c: Likewise.
65992         * lib/unistr/u8-cpy-alloc.c: Likewise.
65993         * lib/unistr/u8-cpy.c: Likewise.
65994         * lib/unistr/u8-endswith.c: Likewise.
65995         * lib/unistr/u8-mblen.c: Likewise.
65996         * lib/unistr/u8-mbsnlen.c: Likewise.
65997         * lib/unistr/u8-mbtouc-aux.c: Likewise.
65998         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
65999         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
66000         * lib/unistr/u8-mbtouc.c: Likewise.
66001         * lib/unistr/u8-mbtoucr.c: Likewise.
66002         * lib/unistr/u8-move.c: Likewise.
66003         * lib/unistr/u8-next.c: Likewise.
66004         * lib/unistr/u8-prev.c: Likewise.
66005         * lib/unistr/u8-set.c: Likewise.
66006         * lib/unistr/u8-startswith.c: Likewise.
66007         * lib/unistr/u8-stpcpy.c: Likewise.
66008         * lib/unistr/u8-stpncpy.c: Likewise.
66009         * lib/unistr/u8-strcat.c: Likewise.
66010         * lib/unistr/u8-strchr.c: Likewise.
66011         * lib/unistr/u8-strcmp.c: Likewise.
66012         * lib/unistr/u8-strcpy.c: Likewise.
66013         * lib/unistr/u8-strcspn.c: Likewise.
66014         * lib/unistr/u8-strdup.c: Likewise.
66015         * lib/unistr/u8-strlen.c: Likewise.
66016         * lib/unistr/u8-strmblen.c: Likewise.
66017         * lib/unistr/u8-strmbtouc.c: Likewise.
66018         * lib/unistr/u8-strncat.c: Likewise.
66019         * lib/unistr/u8-strncmp.c: Likewise.
66020         * lib/unistr/u8-strncpy.c: Likewise.
66021         * lib/unistr/u8-strnlen.c: Likewise.
66022         * lib/unistr/u8-strpbrk.c: Likewise.
66023         * lib/unistr/u8-strrchr.c: Likewise.
66024         * lib/unistr/u8-strspn.c: Likewise.
66025         * lib/unistr/u8-strstr.c: Likewise.
66026         * lib/unistr/u8-strtok.c: Likewise.
66027         * lib/unistr/u8-to-u16.c: Likewise.
66028         * lib/unistr/u8-to-u32.c: Likewise.
66029         * lib/unistr/u8-uctomb-aux.c: Likewise.
66030         * lib/unistr/u8-uctomb.c: Likewise.
66031         * lib/unitypes.h: Likewise.
66032         * lib/uniwidth.h: Likewise.
66033         * lib/uniwidth/cjk.h: Likewise.
66034         * lib/uniwidth/u16-strwidth.c: Likewise.
66035         * lib/uniwidth/u16-width.c: Likewise.
66036         * lib/uniwidth/u32-strwidth.c: Likewise.
66037         * lib/uniwidth/u32-width.c: Likewise.
66038         * lib/uniwidth/u8-strwidth.c: Likewise.
66039         * lib/uniwidth/u8-width.c: Likewise.
66040         * lib/uniwidth/width.c: Likewise.
66041
66042 2007-10-07  Bruno Haible  <bruno@clisp.org>
66043
66044         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
66045         The file is still under LGPL (see modules/inttypes).
66046
66047 2007-10-06  Bruno Haible  <bruno@clisp.org>
66048
66049         * modules/trunc (Dependencies): Add 'extensions'.
66050         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
66051         Reported by Ben Pfaff <blp@gnu.org>.
66052
66053 2007-10-06  Bruno Haible  <bruno@clisp.org>
66054
66055         * modules/freopen-tests: New file.
66056         * tests/test-freopen.c: New file.
66057
66058         * modules/fopen-tests: New file.
66059         * tests/test-fopen.c: New file.
66060
66061         * modules/fopen: New file.
66062         * lib/fopen.c: New file.
66063         * m4/fopen.m4: New file.
66064         * modules/freopen: New file.
66065         * lib/freopen.c: New file.
66066         * m4/freopen.m4: New file.
66067         * lib/stdio.in.h (fopen, freopen): New declarations.
66068         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
66069         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
66070         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
66071         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
66072         * doc/functions/fopen.texi: Mention the 'fopen' module.
66073         * doc/functions/freopen.texi: Mention the 'freopen' module.
66074
66075 2007-10-06  Bruno Haible  <bruno@clisp.org>
66076
66077         * modules/open-tests: New file.
66078         * tests/test-open.c: New file.
66079
66080         * modules/open: New file.
66081         * lib/open.c: New file.
66082         * m4/open.m4: New file.
66083         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
66084         lib/open.c does.
66085         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
66086         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
66087         macros.
66088         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
66089         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
66090         REPLACE_OPEN.
66091         * doc/functions/open.texi: Mention the 'open' module.
66092
66093 2007-10-04  Bruno Haible  <bruno@clisp.org>
66094
66095         * modules/ceill-tests: New file.
66096         * tests/test-ceill.c: New file.
66097
66098         * modules/ceill: New file.
66099         * lib/ceill.c: Replace entire file.
66100         * m4/ceill.m4: New file.
66101         * lib/math.in.h (ceill): Replace declaration.
66102         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
66103         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
66104         * doc/functions/ceill.texi: Mention the 'ceill' module.
66105         * modules/mathl (Files): Remove lib/ceill.c.
66106         (Depends-on): Add ceill.
66107
66108 2007-10-04  Bruno Haible  <bruno@clisp.org>
66109
66110         * modules/ceilf-tests: New file.
66111         * tests/test-ceilf.c: New file.
66112
66113         * modules/ceilf: New file.
66114         * lib/ceil.c: New file.
66115         * lib/ceilf.c: New file.
66116         * m4/ceilf.m4: New file.
66117         * lib/math.in.h (ceilf): New declaration.
66118         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
66119         HAVE_DECL_CEILF.
66120         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
66121         HAVE_DECL_CEILF.
66122         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
66123
66124 2007-10-04  Bruno Haible  <bruno@clisp.org>
66125
66126         * modules/floorl-tests: New file.
66127         * tests/test-floorl.c: New file.
66128
66129         * modules/floorl: New file.
66130         * lib/floorl.c: Replace entire file.
66131         * m4/floorl.m4: New file.
66132         * lib/math.in.h (floorl): Replace declaration.
66133         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
66134         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
66135         * doc/functions/floorl.texi: Mention the 'floorl' module.
66136         * modules/mathl (Files): Remove lib/floorl.c.
66137         (Depends-on): Add floorl.
66138
66139 2007-10-04  Bruno Haible  <bruno@clisp.org>
66140
66141         * modules/floorf-tests: New file.
66142         * tests/test-floorf.c: New file.
66143
66144         * modules/floorf: New file.
66145         * lib/floor.c: New file.
66146         * lib/floorf.c: New file.
66147         * m4/floorf.m4: New file.
66148         * lib/math.in.h (floorf): New declaration.
66149         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
66150         HAVE_DECL_FLOORF.
66151         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
66152         HAVE_DECL_FLOORF.
66153         * doc/functions/floorf.texi: Mention the 'floorf' module.
66154
66155 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
66156             Bruno Haible  <bruno@clisp.org>
66157
66158         Advertise for the Git server instead of the CVS server.
66159         * doc/gnulib-intro.texi (Steady Development): Mention the Git
66160         repository instead of the CVS one.
66161         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
66162         about all VCS systems generically.
66163         * doc/gnulib.texi (Introduction): Capitalize `Git'.
66164
66165 2007-10-04  Bruno Haible  <bruno@clisp.org>
66166
66167         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
66168         means.
66169         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
66170
66171 2007-10-04  Bruno Haible  <bruno@clisp.org>
66172
66173         * modules/truncl-tests: New file.
66174         * tests/test-truncl.c: New file.
66175
66176         * modules/truncl: New file.
66177         * lib/truncl.c: New file.
66178         * m4/truncl.m4: New file.
66179         * lib/math.in.h (truncl): New declaration.
66180         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
66181         HAVE_DECL_TRUNCL.
66182         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
66183         HAVE_DECL_TRUNCL.
66184         * doc/functions/truncl.texi: Mention the 'truncl' module.
66185
66186 2007-10-04  Bruno Haible  <bruno@clisp.org>
66187
66188         * modules/truncf-tests: New file.
66189         * tests/test-truncf.c: New file.
66190
66191         * modules/truncf: New file.
66192         * lib/trunc.c: Make paramerizable through USE_* macros.
66193         * lib/truncf.c: New file.
66194         * m4/truncf.m4: New file.
66195         * lib/math.in.h (truncf): New declaration.
66196         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
66197         HAVE_DECL_TRUNCF.
66198         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
66199         HAVE_DECL_TRUNCF.
66200         * doc/functions/truncf.texi: Mention the 'truncf' module.
66201
66202 2007-10-03  Bruno Haible  <bruno@clisp.org>
66203
66204         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
66205         augmentation also for tests modules.
66206         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
66207         * modules/atexit-tests (Makefile.am): Likewise.
66208         * modules/binary-io-tests (Makefile.am): Likewise.
66209         * modules/c-strcase-tests (Makefile.am): Likewise.
66210         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
66211         * modules/canonicalize-tests (Makefile.am): Likewise.
66212         * modules/closein-tests (Makefile.am): Likewise.
66213         * modules/fprintf-posix-tests (Makefile.am): Likewise.
66214         * modules/freadahead-tests (Makefile.am): Likewise.
66215         * modules/fseek-tests (Makefile.am): Likewise.
66216         * modules/fseeko-tests (Makefile.am): Likewise.
66217         * modules/ftell-tests (Makefile.am): Likewise.
66218         * modules/ftello-tests (Makefile.am): Likewise.
66219         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
66220         * modules/isnanl-tests (Makefile.am): Likewise.
66221         * modules/lseek-tests (Makefile.am): Likewise.
66222         * modules/mbscasecmp-tests (Makefile.am): Likewise.
66223         * modules/mbscasestr-tests (Makefile.am): Likewise.
66224         * modules/mbschr-tests (Makefile.am): Likewise.
66225         * modules/mbscspn-tests (Makefile.am): Likewise.
66226         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
66227         * modules/mbspbrk-tests (Makefile.am): Likewise.
66228         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
66229         * modules/mbsrchr-tests (Makefile.am): Likewise.
66230         * modules/mbsspn-tests (Makefile.am): Likewise.
66231         * modules/mbsstr-tests (Makefile.am): Likewise.
66232         * modules/printf-posix-tests (Makefile.am): Likewise.
66233         * modules/snprintf-posix-tests (Makefile.am): Likewise.
66234         * modules/sprintf-posix-tests (Makefile.am): Likewise.
66235         * modules/tsearch-tests (Makefile.am): Likewise.
66236         * modules/uniname/uniname-tests (Makefile.am): Likewise.
66237         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
66238         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
66239         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
66240         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
66241         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
66242         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
66243         * modules/vprintf-posix-tests (Makefile.am): Likewise.
66244         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
66245         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
66246         * modules/xstrtoimax-tests (Makefile.am): Likewise.
66247         * modules/xstrtol-tests (Makefile.am): Likewise.
66248         * modules/xstrtoumax-tests (Makefile.am): Likewise.
66249         * modules/yesno-tests (Makefile.am): Likewise.
66250
66251 2007-10-03  Bruno Haible  <bruno@clisp.org>
66252
66253         * modules/trunc-tests: New file.
66254         * tests/test-trunc.c: New file.
66255
66256         * modules/trunc: New file.
66257         * lib/trunc.c: New file.
66258         * m4/trunc.m4: New file.
66259         * lib/math.in.h (trunc): New declaration.
66260         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
66261         HAVE_DECL_TRUNC.
66262         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
66263         HAVE_DECL_TRUNC.
66264         * doc/functions/trunc.texi: Mention the 'trunc' module.
66265
66266 2007-10-03  Bruno Haible  <bruno@clisp.org>
66267
66268         * tests/test-fpending.c: New file, mostly copied
66269         from coreutils/lib/t-fpending.c.
66270         * modules/fpending-tests: New file.
66271
66272 2007-10-03  Bruno Haible  <bruno@clisp.org>
66273
66274         Port the stdio extensions to QNX (untested).
66275         * lib/fseterr.c (fseterr): Add support for QNX.
66276         * lib/fbufmode.c (fbufmode): Likewise.
66277         * lib/freadable.c (freadable): Likewise.
66278         * lib/fwritable.c (fwritable): Likewise.
66279         * lib/freading.c (freading): Likewise.
66280         * lib/fwriting.c (fwriting): Likewise.
66281         * lib/freadahead.c (freadahed): Likewise.
66282         * lib/fpurge.c (fpurge): Likewise.
66283         * lib/fseeko.c (rpl_fseeko): Likewise.
66284
66285 2007-10-03  Bruno Haible  <bruno@clisp.org>
66286             Jim Meyering  <jim@meyering.net>
66287             Eric Blake  <ebb9@byu.net>
66288
66289         * doc/relocatable.texi: Use @command instead of @program.
66290
66291 2007-10-02  Jim Meyering  <jim@meyering.net>
66292
66293         Perform one more "_.h" -> ".in.h" substitution.
66294         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
66295         instead of unistd_.h here, too.
66296
66297 2007-10-01  Bruno Haible  <bruno@clisp.org>
66298
66299         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
66300         Needed for the alloca-opt module.
66301
66302 2007-09-30  Bruno Haible  <bruno@clisp.org>
66303
66304         * lib/alloca.in.h: Renamed from lib/alloca_.h.
66305         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
66306         alloca_.h.
66307         * lib/argz.in.h: Renamed from lib/argz_.h.
66308         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
66309         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
66310         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
66311         byteswap_.h.
66312         * lib/dirent.in.h: Renamed from lib/dirent_.h.
66313         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
66314         dirent_.h.
66315         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
66316         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
66317         fcntl_.h.
66318         * lib/float.in.h: Renamed from lib/float_.h.
66319         * modules/float (Files, Makefile.am): Use float.in.h instead of
66320         float_.h.
66321         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
66322         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
66323         fnmatch_.h.
66324         * lib/getopt.in.h: Renamed from lib/getopt_.h.
66325         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
66326         getopt_.h.
66327         * lib/glob.in.h: Renamed from lib/glob_.h.
66328         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
66329         * lib/iconv.in.h: Renamed from lib/iconv_.h.
66330         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
66331         iconv_.h.
66332         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
66333         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
66334         inttypes_.h.
66335         * lib/locale.in.h: Renamed from lib/locale_.h.
66336         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
66337         locale_.h.
66338         * lib/math.in.h: Renamed from lib/math_.h.
66339         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
66340         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
66341         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
66342         of netinet_in_.h. Add dependency.
66343         * lib/poll.in.h: Renamed from lib/poll_.h.
66344         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
66345         * lib/search.in.h: Renamed from lib/search_.h.
66346         * modules/search (Files, Makefile.am): Use search.in.h instead of
66347         search_.h.
66348         * lib/signal.in.h: Renamed from lib/signal_.h.
66349         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
66350         _signal.h.
66351         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
66352         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
66353         stdbool_.h.
66354         * lib/stdint.in.h: Renamed from lib/stdint_.h.
66355         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
66356         stdint_.h.
66357         * lib/stdio.in.h: Renamed from lib/stdio_.h.
66358         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
66359         stdio_.h.
66360         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
66361         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
66362         stdlib_.h.
66363         * lib/string.in.h: Renamed from lib/string_.h.
66364         * modules/string (Files, Makefile.am): Use string.in.h instead of
66365         string_.h.
66366         * doc/gnulib-tool.texi (Initial import): Update.
66367         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
66368         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
66369         of sys_select_.h. Add dependency.
66370         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
66371         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
66372         of sys_socket_.h.
66373         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
66374         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
66375         sys_stat_.h.
66376         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
66377         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
66378         sys_time_.h.
66379         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
66380         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
66381         sysexits_.h.
66382         * lib/time.in.h: Renamed from lib/time_.h.
66383         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
66384         * lib/unistd.in.h: Renamed from lib/unistd_.h.
66385         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
66386         unistd_.h.
66387         * lib/wchar.in.h: Renamed from lib/wchar_.h.
66388         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
66389         wchar_.h.
66390         * lib/wctype.in.h: Renamed from lib/wctype_.h.
66391         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
66392         wctype_.h.
66393         * build-aux/bootstrap (slurp): Update.
66394         * lib/.cppi-disable: Update.
66395
66396 2007-09-30  Bruno Haible  <bruno@clisp.org>
66397
66398         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
66399         Needed on BeOS.
66400
66401 2007-09-30  Bruno Haible  <bruno@clisp.org>
66402
66403         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
66404
66405 2007-09-29  Bruno Haible  <bruno@clisp.org>
66406
66407         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
66408
66409 2007-09-29  Bruno Haible  <bruno@clisp.org>
66410
66411         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
66412         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
66413         * build-aux/install-reloc: Compile also areadlink.c.
66414         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
66415
66416 2007-09-29  Bruno Haible  <bruno@clisp.org>
66417
66418         * gnulib-tool (func_emit_initmacro_done): Indentation.
66419
66420 2007-09-29  Bruno Haible  <bruno@clisp.org>
66421
66422         * README: Add CVS checkout update instructions.
66423         Info from Bob Proulx <bob@proulx.com>.
66424
66425 2007-09-28  Eric Blake  <ebb9@byu.net>
66426
66427         Provide move-if-change.
66428         * build-aux/move-if-change: New file, based on best practice
66429         rather than any canonical upstream location.
66430
66431 2007-09-28  Jim Meyering  <jim@meyering.net>
66432
66433         Fix canonicalize loop-detection corner case.
66434         Do not attempt to stat the symlink values stored via seen_triple.
66435         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
66436         on linux-2.6.18, (but not 2.6.22).
66437         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
66438         triple_compare.  The former compares dev,ino,filename, while the latter
66439         would actually stat dirname(filename) when dev and ino were equal.
66440         * lib/hash-triple.c: Install <string.h>.
66441         (STREQ): Define.
66442         (triple_compare_ino_str): New function.
66443         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
66444
66445 2007-09-28  Eric Blake  <ebb9@byu.net>
66446
66447         Enforce that AC_REPLACE_FUNCS files exist.
66448         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
66449         override check for typos.
66450
66451         Fix test-closein on Solaris 10.
66452         * tests/test-closein.c (main): Don't assume stdin can be inherited
66453         closed on all systems.
66454         * tests/test-closein.sh: Likewise.
66455         Reported by Piotr Tarnowski.
66456
66457 2007-09-28  Jim Meyering  <jim@meyering.net>
66458
66459         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
66460
66461 2007-09-27  Jim Meyering  <jim@meyering.net>
66462
66463         canonicalize: Avoid a false-positive cycle failure.
66464         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
66465         Sort.  Remove cycle-check.
66466         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
66467         not cycle-check.h.
66468         (seen_triple): New function.
66469         (canonicalize_filename_mode): Use it instead of cycle-check.
66470         * tests/test-canonicalize.c: Add a test for this bug.
66471         * tests/test-canonicalize.sh: Set up and run the test.
66472
66473         New module, file-set, from coreutils.
66474         * modules/file-set: Define it.
66475         * lib/file-set.c, lib/file-set.h: Implement.
66476
66477         New module, hash-triple, from coreutils.
66478         * modules/hash-triple: Define it.
66479         * lib/hash-triple.c, lib/hash-triple.h: Implement.
66480
66481 2007-09-25  Eric Blake  <ebb9@byu.net>
66482
66483         Fix strerror on Interix.
66484         * lib/string_.h (strerror): Declare replacement.
66485         * doc/functions/strerror.texi (strerror): Document the Interix
66486         shortcoming.
66487         * modules/string (Makefile.am): Support new hooks.
66488         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
66489         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
66490         gl_FUNC_STRERROR_SEPARATE.
66491         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
66492         * lib/strerror.c (rpl_strerror): Provide replacement.
66493         * modules/strerror (Depends-on): Add string.
66494         (configure.ac): Detect use of module.
66495         * tests/test-strerror.c: New file.
66496         * modules/strerror-tests: New test module.
66497         * modules/argp (Depends-on): Add strerror.
66498         * modules/error (Depends-on): Likewise.
66499         Reported by Martin Koeppe.
66500
66501 2007-09-24  Bruno Haible  <bruno@clisp.org>
66502
66503         * README: Update git instructions.
66504
66505 2007-09-24  Eric Blake  <ebb9@byu.net>
66506
66507         Revert fpending breakage from 2007-09-08.
66508         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
66509         __fpending.c.
66510
66511 2007-09-24  Jim Meyering  <jim@meyering.net>
66512
66513         filenamecat.c: Add a test.
66514         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
66515         showing how the function works when DIR is the empty string.
66516
66517 2007-09-21  Simon Josefsson  <simon@josefsson.org>
66518
66519         * tests/test-canonicalize.sh: Turn on executable bit.
66520
66521 2007-09-19  Eric Blake  <ebb9@byu.net>
66522
66523         * README: Update CVS instructions.
66524
66525 2007-09-18  Bruno Haible  <bruno@clisp.org>
66526
66527         * modules/areadlink: New file.
66528         * lib/areadlink.h (areadlink): New declaration.
66529         * lib/areadlink.c: New file, based on lib/xreadlink.c.
66530
66531 2007-09-17  Jim Meyering  <jim@meyering.net>
66532
66533         * lib/savewd.c (ESTALE) [!defined]: Define.
66534         Reported to be required on Interix by Martin Koeppe.
66535
66536 2007-09-17  Bruno Haible  <bruno@clisp.org>
66537
66538         * gnulib-tool (func_version): Use $version.
66539
66540 2007-09-16  Bruno Haible  <bruno@clisp.org>
66541
66542         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
66543         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
66544         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
66545         Reported by Greg Schafer <gschafer@zip.com.au>.
66546
66547 2007-09-15  Bruno Haible  <bruno@clisp.org>
66548
66549         * gnulib-tool (sed): Try a little harder to make bash understand the
66550         alias.
66551         Reported by Bruce Korb <bruce.korb@gmail.com>.
66552
66553 2007-09-13  Eric Blake  <ebb9@byu.net>
66554
66555         * ChangeLog: Remove conflict markers.
66556
66557 2007-09-13  Simon Josefsson  <simon@josefsson.org>
66558
66559         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
66560         Reported by Bruno Haible <bruno@clisp.org>.
66561
66562 2007-09-12  Bruno Haible  <bruno@clisp.org>
66563
66564         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
66565         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
66566         is not defined.
66567
66568 2007-09-12  Eric Blake  <ebb9@byu.net>
66569
66570         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
66571         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
66572         Autoconf definition.
66573         * modules/euidaccess (Depends-on): Add extensions, for
66574         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
66575         * modules/fnmatch (Depends-on): Likewise.
66576         * modules/getaddrinfo (Depends-on): Likewise.
66577         * modules/getdelim (Depends-on): Likewise.
66578         * modules/getline (Depends-on): Likewise.
66579         * modules/getsubopt (Depends-on): Likewise.
66580         * modules/gettext (Depends-on): Likewise.
66581         * modules/group-member (Depends-on): Likewise.
66582         * modules/mbchar (Depends-on): Likewise.
66583         * modules/memmem (Depends-on): Likewise.
66584         * modules/mempcpy (Depends-on): Likewise.
66585         * modules/memrchr (Depends-on): Likewise.
66586         * modules/pagealign_alloc (Depends-on): Likewise.
66587         * modules/readutmp (Depends-on): Likewise.
66588         * modules/stpcpy (Depends-on): Likewise.
66589         * modules/stpncpy (Depends-on): Likewise.
66590         * modules/strchrnul (Depends-on): Likewise.
66591         * modules/strndup (Depends-on): Likewise.
66592         * modules/strsep (Depends-on): Likewise.
66593         * modules/strverscmp (Depends-on): Likewise.
66594         * modules/vasprintf (Depends-on): Likewise.
66595         * modules/wcwidth (Depends-on): Likewise.
66596         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
66597         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
66598         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
66599         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
66600         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
66601         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
66602         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
66603         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
66604         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
66605         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
66606         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
66607         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
66608         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
66609         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
66610         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
66611         * m4/readutmp.m4 (gl_READUTMP): Likewise.
66612         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
66613         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
66614         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
66615         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
66616         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
66617         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
66618         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
66619         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
66620         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
66621         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
66622         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
66623         so that lock.m4 can be used in gettext without extensions module.
66624
66625 2007-09-11  Bruno Haible  <bruno@clisp.org>
66626
66627         * m4/isc-posix.m4: Remove file.
66628         Suggested by Eric Blake.
66629
66630 2007-09-11  Eric Blake  <ebb9@byu.net>
66631
66632         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
66633
66634 2007-09-10  Bruno Haible  <bruno@clisp.org>
66635
66636         * posix-modules: Fix typo in error message.
66637         Reported by Matt <mkraai@beckman.com>.
66638
66639 2007-09-09  Bruno Haible  <bruno@clisp.org>
66640
66641         * doc/functions/getdelim.texi: Update list of platforms lacking the
66642         function.
66643         * doc/functions/getline.texi: Likewise.
66644
66645 2007-09-09  Jim Meyering  <jim@meyering.net>
66646
66647         * lib/hash.c (hash_initialize): Detect calloc failure.
66648         Reported by Bruno Haible.
66649
66650 2007-09-09  Bruno Haible  <bruno@clisp.org>
66651
66652         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
66653         malloc or realloc fails.
66654
66655 2007-09-09  Bruno Haible  <bruno@clisp.org>
66656
66657         * modules/getcwd (Depends-on): Add malloc-posix.
66658         * modules/glob (Depends-on): Likewise.
66659         * modules/putenv (Depends-on): Likewise.
66660         * modules/strdup (Depends-on): Likewise.
66661         * modules/getdelim (Depends-on): Add realloc-posix.
66662         * modules/read-file (Depends-on): Likewise.
66663
66664 2007-09-09  Bruno Haible  <bruno@clisp.org>
66665
66666         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
66667         (gl_FUNC_MALLOC_POSIX): Require it.
66668         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
66669         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
66670         * modules/realloc (Files): Add m4/malloc.m4.
66671         * modules/calloc (Files): Likewise.
66672
66673 2007-09-09  Bruno Haible  <bruno@clisp.org>
66674
66675         * modules/malloc-posix: New file.
66676         * modules/malloc (Depends-on): Add malloc-posix.
66677         * lib/malloc.c: Include errno.h.
66678         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
66679         and a POSIX-compatible malloc into a single function. Set ENOMEM
66680         when returning NULL.
66681         * m4/malloc.m4: New file.
66682         * doc/functions/malloc.texi: Mention the malloc-posix module.
66683         * lib/stdlib_.h (malloc): New declaration.
66684         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
66685         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
66686         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
66687         and HAVE_MALLOC_POSIX.
66688
66689 2007-09-09  Bruno Haible  <bruno@clisp.org>
66690
66691         * modules/realloc-posix: New file.
66692         * modules/realloc (Depends-on): Add realloc-posix.
66693         * lib/realloc.c: Include errno.h.
66694         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
66695         and a POSIX-compatible realloc into a single function. Set ENOMEM
66696         when returning NULL.
66697         * m4/realloc.m4: New file.
66698         * doc/functions/realloc.texi: Mention the realloc-posix module.
66699         * lib/stdlib_.h (realloc): New declaration.
66700         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
66701         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
66702         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
66703         and HAVE_REALLOC_POSIX.
66704
66705 2007-09-09  Bruno Haible  <bruno@clisp.org>
66706
66707         * modules/calloc-posix: New file.
66708         * modules/calloc (Depends-on): Add calloc-posix.
66709         * lib/calloc.c: Include errno.h.
66710         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
66711         and a POSIX-compatible calloc into a single function. Set ENOMEM
66712         when returning NULL.
66713         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
66714         * doc/functions/calloc.texi: Mention the calloc-posix module.
66715         * lib/stdlib_.h (calloc): New declaration.
66716         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
66717         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
66718         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
66719         and HAVE_CALLOC_POSIX.
66720
66721 2007-09-09  Bruno Haible  <bruno@clisp.org>
66722
66723         Allow for modules to show an arbitrary notice.
66724         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
66725         * gnulib-tool: New option --extract-notice.
66726         (func_usage): Document it.
66727         (sed_extract_prog): Update.
66728         (func_get_notice): New function.
66729         (func_modules_notice): New function.
66730         (func_import, func_create_testdir): Invoke it.
66731         Suggested by Jim Meyering.
66732
66733 2007-09-09  Bruno Haible  <bruno@clisp.org>
66734
66735         * gnulib-tool: New options --verbose, --quiet.
66736         (func_usage): Document them.
66737         (verbose): New variable.
66738         (func_execute_command): New function.
66739         (func_import): Don't show the module list and the file list if
66740         $verbose < 0.
66741         (func_create_testdir): Likewise. Use func_execute_command.
66742         (func_create_megatestdir): Use func_execute_command.
66743
66744 2007-09-08  Bruno Haible  <bruno@clisp.org>
66745
66746         * gnulib-tool (func_import): Prefer rsync over wget when available,
66747         for fetching the PO files.
66748
66749 2007-09-08  Bruno Haible  <bruno@clisp.org>
66750
66751         * posix-modules: New file. Portions copied from gnulib-tool.
66752         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
66753
66754 2007-09-08  Jim Meyering  <jim@meyering.net>
66755
66756         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
66757         * lib/fpending.h: Rename from __fpending.h.
66758         * lib/fpending.c: Rename from __fpending.c.
66759         Include "fpending.h", not "__fpending.h".
66760         * lib/__fpending.h, lib/__fpending.c: Remove files.
66761         * modules/fpending (Files): Reflect new file names.
66762         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
66763
66764 2007-09-08  Bruno Haible  <bruno@clisp.org>
66765
66766         * m4/inttypes-h.m4: Remove stub file.
66767
66768 2007-09-07  Simon Josefsson  <simon@josefsson.org>
66769
66770         * doc/headers/stdint.texi: Discuss #include_next issue.
66771
66772 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
66773
66774         * build-aux/bootstrap: Remove obsolete comment about wget --help.
66775
66776 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
66777
66778         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
66779         in variable name.
66780
66781 2007-09-03  Jim Meyering  <jim@meyering.net>
66782
66783         New module: git-version-gen.
66784         * modules/git-version-gen: New file.
66785
66786         Import changes from coreutils for bootstrap script.
66787
66788         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
66789
66790         bootstrap: uses rsync to download the .po files
66791         * build-aux/bootstrap (po_download_command_format): New global.
66792         (download_po_files): Use rsync.
66793         (update_po_files): Don't remove .po files after download,
66794         so future rsync runs can take advantage of the copies.
66795
66796         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
66797
66798         Solve the unnecessary-.po-file-regeneration problem once and for all.
66799         * build-aux/bootstrap (download_po_files): New function, renamed from
66800         get_translations.  Now, downloads, but doesn't update LINGUAS.
66801         (update_po_files): New function.
66802
66803         bootstrap: Ignore more.
66804         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
66805         uniwidth to e.g., lib/.gitignore.
66806         (slurp): Handle the sys_stat_.h -> sys mapping, too.
66807
66808         * build-aux/bootstrap: New setting: vc_ignore.
66809         (insert_sorted_if_absent): Create $file if absent.
66810         Adapt to new, possibly empty, list: $vc_ignore.
66811
66812         bootstrap: generate more ignorable names
66813         * build-aux/bootstrap (slurp): When generating ignorable names,
66814         also map .sin to .sed, .gperf to .c, and .y to .c.
66815
66816 2007-09-03  Jim Meyering  <jim@meyering.net>
66817
66818         * build-aux/git-version-gen: New file, from coreutils.  For details, see
66819         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
66820
66821 2007-09-02  Bruno Haible  <bruno@clisp.org>
66822
66823         Fix mis-recognition of 'mcs' on QNX 6.
66824         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
66825         output contains the string "Mono".
66826         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
66827         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
66828
66829 2007-09-01  Bruno Haible  <bruno@clisp.org>
66830
66831         Fix collision between uniwidth/* and linebreak modules.
66832         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
66833         u32_width): Remove declarations.
66834         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
66835         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
66836         streq3, streq2, streq1, streq0): Remove functions.
66837         (STREQ): Remove macro.
66838         (is_cjk_encoding): Remove function.
66839         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
66840         (uc_width, u8_width, u16_width, u32_width): Remove functions.
66841         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
66842         * NEWS: Document the change.
66843
66844 2007-09-01  Bruno Haible  <bruno@clisp.org>
66845
66846         * lib/streq.h: Add double-inclusion guard.
66847
66848 2007-09-01  Karl Berry  <karl@gnu.org>
66849
66850         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
66851
66852 2007-08-28  Jim Meyering  <jim@meyering.net>
66853
66854         Rename mreadlink_with_size to areadlink_with_size.
66855         * NEWS: Document the change.
66856         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
66857         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
66858         * lib/mreadlink.h: Rename this to...
66859         * lib/areadlink.h: ...this.
66860         * modules/mreadlink-with-size: Rename this to...
66861         * modules/areadlink-with-size: ...this.
66862         * lib/canonicalize.c: Reflect the renaming.
66863         * modules/canonicalize: Likewise.
66864
66865 2007-08-26  Bruno Haible  <bruno@clisp.org>
66866
66867         * gnulib-tool (func_import): When deciding which files to remove,
66868         consider also dangling symbolic links.
66869         Reported by Eric Blake.
66870
66871 2007-08-26  Bruno Haible  <bruno@clisp.org>
66872
66873         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
66874
66875 2007-08-23  Simon Josefsson  <simon@josefsson.org>
66876
66877         * lib/readline.c: Don't include getline.h, the prototype is now
66878         found in stdio.h.
66879
66880 2007-08-23  Jim Meyering  <jim@meyering.net>
66881
66882         Getdelim touchup.
66883         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
66884         around the funlockfile call, since funlockfile never sets errno.
66885         Don't set errno upon failed realloc.
66886
66887 2007-08-22  Eric Blake  <ebb9@byu.net>
66888
66889         Getline touchups.
66890         * lib/getdelim.c (getdelim): Revert regression that required *n to
66891         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
66892         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
66893         getdelim, rather than whether implementation is missing.
66894         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
66895         * lib/stdio_.h (getline): Also declare if replacement is
66896         required.
66897         * doc/functions/getdelim.texi: New file.
66898         * doc/functions/getline.texi: Likewise.
66899         * doc/gnulib.texi (Function Substitutes): Add new files.
66900         Reported by Bruno Haible.
66901
66902 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
66903
66904         * users.txt: Add Guile.
66905
66906 2007-08-22  Eric Blake  <ebb9@byu.net>
66907
66908         * tests/test-getdelim.c (main): Use remove, not unlink.
66909         * tests/test-getline.c (main): Likewise.
66910
66911         Move getline and getdelim into stdio.h, per POSIX 200x.
66912         * modules/getline (Files): Remove getline.h.
66913         (Depends-on): Add stdio.
66914         (configure.ac): Add module indicator.
66915         * modules/getdelim (Files): Remove getdelim.h.
66916         (Depends-on): Add stdio.
66917         (configure.ac): Add module indicator.
66918         * modules/stdio (Makefile.am): Work with new indicators.
66919         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
66920         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
66921         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
66922         * lib/getdelim.h: Delete.
66923         * lib/getline.h: Delete.
66924         * lib/stdio_.h (getdelim, getline): Declare.
66925         * modules/getdelim-tests: New module.
66926         * modules/getline-tests: Likewise.
66927         * tests/test-getdelim.c: New file.
66928         * tests/test-getline.c: Likewise.
66929         * NEWS: Document the change.
66930         * lib/getline.c: Update choice of header.
66931         * lib/csharpcomp.c: Likewise.
66932         * lib/getpass.c: Likewise.
66933         * lib/javacomp.c: Likewise.
66934         * lib/javaversion.c: Likewise.
66935         * lib/yesno.c: Likewise.
66936         * lib/getdelim.c: Likewise.
66937         (getdelim): Set errno on failure, and avoid memory leak.
66938
66939 2007-08-19  Bruno Haible  <bruno@clisp.org>
66940
66941         * modules/closein (Depends-on): Add freadahead.
66942         * lib/closein.c: Include freadahead.h.
66943         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
66944         is zero.
66945
66946 2007-08-19  Bruno Haible  <bruno@clisp.org>
66947
66948         * modules/freadahead-tests: New file.
66949         * tests/test-freadahead.sh: New file.
66950         * tests/test-freadahead.c: New file.
66951
66952         * modules/freadahead: New file.
66953         * lib/freadahead.h: New file.
66954         * lib/freadahead.c: New file.
66955         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
66956         fbufmode, fpurge, freadable, fwritable.
66957
66958 2007-08-19  Eric Blake  <ebb9@byu.net>
66959
66960         Test yesno in combination with closein.
66961         * lib/yesno.c (yesno): Document use of stdin.
66962         * modules/yesno-tests (Files): New module.
66963         * tests/test-yesno.c (main): New file.
66964         * tests/test-yesno.sh: Likewise.
66965
66966 2007-08-19  Bruno Haible  <bruno@clisp.org>
66967
66968         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
66969         * lib/fseeko.c (rpl_fseeko): Likewise.
66970         * lib/fseterr.c (fseterr): Likewise.
66971
66972 2007-08-19  Bruno Haible  <bruno@clisp.org>
66973
66974         * tests/test-lseek.c (main): Disable a test for BeOS.
66975         * doc/functions/lseek.texi: Document the BeOS bug.
66976
66977 2007-08-19  Bruno Haible  <bruno@clisp.org>
66978             Eric Blake  <ebb9@byu.net>
66979
66980         * lib/lseek.c: Include <sys/stat.h>.
66981         (rpl_lseek): Add workaround code also for Unix platforms.
66982         Needed for BeOS.
66983         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
66984         * doc/functions/lseek.texi: Document BeOS definiency.
66985
66986 2007-08-18  Bruno Haible  <bruno@clisp.org>
66987
66988         * modules/fstrcmp-tests: New file.
66989         * tests/test-fstrcmp.c: New file.
66990
66991 2007-08-18  Bruno Haible  <bruno@clisp.org>
66992
66993         * modules/fstrcmp: New file, from GNU gettext with modifications.
66994         * lib/fstrcmp.h: New file, from GNU gettext.
66995         * lib/fstrcmp.c: New file, from GNU gettext.
66996         * MODULES.html.sh (String handling): Add fstrcmp.
66997
66998 2007-08-18  Bruno Haible  <bruno@clisp.org>
66999
67000         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
67001         'bool'.
67002         (diag, compareseq): Remove const from the ctxt argument.
67003         (USE_HEURISTIC): Undefine at the end.
67004
67005 2007-08-18  Jim Meyering  <jim@meyering.net>
67006
67007         New file: lib/idcache.h
67008         * NEWS: Mention the addition.
67009         * modules/idcache (Files): Add lib/idcache.h
67010         * lib/idcache.c: Include "idcache.h".
67011         Don't include <sys/types.h>.
67012         Add a FIXME comment.
67013         Move file-scoped "static" declarations to the top.
67014         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
67015
67016 2007-08-17  Bruno Haible  <bruno@clisp.org>
67017         and Paul Eggert  <eggert@cs.ucla.edu>
67018
67019         * MODULES.html.sh: Add diffseq.
67020         * modules/diffseq: New file.
67021         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
67022         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
67023
67024 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
67025
67026         Import changes from coreutils for bootstrap script.
67027
67028         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
67029
67030         * build-aux/bootstrap (slurp): Work even in environments where
67031         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
67032         current code does not slurp files whose names start with ".", and
67033         this looks like it might be a troublesome area.
67034
67035         2007-07-11  Jim Meyering  <jim@meyering.net>
67036
67037         If there's a GPL vN copyright comment, require that N == 3.
67038
67039         2007-07-08  Jim Meyering  <jim@meyering.net>
67040
67041         Run the coreutils-specific code only if tests/Makefile.am.in exists.
67042         * build-aux/bootstrap (mam_template): Move definition out of loop.
67043
67044         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
67045
67046         * build-aux/bootstrap (symlink_to_dir): Rename function from
67047         symlink_to_gnulib.  Add a directory parameter.  Update all
67048         callers.
67049         (cp_mark_as_generated): Also check for -- and link to -- files in
67050         gl/.
67051
67052         2007-07-08  Jim Meyering  <jim@meyering.net>
67053
67054         Adapt to deeper hierarchy in gnulib.
67055         * build-aux/bootstrap (symlink_to_dir): If the destination
67056         directory doesn't exist, create it. This is required at least for
67057         "lib/uniwidth/cjk.h".
67058
67059         2007-05-15  Jim Meyering  <jim@meyering.net>
67060
67061         * build-aux/bootstrap: Now that generated Makefile.am files
67062         are no longer under version control, they must be created at
67063         bootstrap time.
67064
67065 2007-08-14  Ben Pfaff  <blp@gnu.org>
67066
67067         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
67068
67069 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
67070
67071         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
67072         given the changes below.
67073         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
67074         even on hosts that have padding bits beyond the supported 64.
67075
67076 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
67077
67078         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
67079         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
67080         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
67081         depends on it.
67082         (xstrtol_error): Remove.
67083         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
67084         but with a different signature.
67085         (ATTRIBUTE_NORETURN, __attribute__): New macros.
67086         * lib/xstrtol-error.c: Include exitfail.h.
67087         (xstrtol_fatal): New function, with a different signature from the
67088         old xstrtol_error, so that the caller need not worry about passing
67089         in an exit status, or about storage management of the option argument.
67090         (xstrtol_error): Now a static function.  Redo signature to
67091         implement xstrtol_fatal.  Output the correct number of hyphens in
67092         front of the option so that the caller need not worry about
67093         storage management.
67094         (N_): New macro.
67095         (_): Remove; not used now.
67096         * modules/xstrtol: Depend on getopt.
67097         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
67098         of old STRTOL_FATAL_ERROR macro.
67099         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
67100         of test program.
67101         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
67102         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
67103
67104 2007-08-08  Eric Blake  <ebb9@byu.net>
67105
67106         * lib/xstrtol-error.c: Add missing include.
67107
67108         Move xstrtol messages into gnulib domain, when --pobase is used.
67109         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
67110         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
67111         * modules/xstrtol (Files): Distribute new file.
67112         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
67113         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
67114         * tests/test-xstrtol.c: ...into new file.
67115         * tests/test-xstrtoul.c: Also test xstrtoul.
67116         * tests/test-xstrtoimax.c: Also test xstrtoimax.
67117         * tests/test-xstrtoumax.c: Also test xstrtoumax.
67118         * tests/test-xstrtol.sh: Drive the tests.
67119         * tests/test-xstrtoimax.sh: Likewise.
67120         * tests/test-xstrtoumax.sh: Likewise.
67121         * modules/xstrtol-tests: New module.
67122         * modules/xstrtoimax-tests: Likewise.
67123         * modules/xstrtoumax-tests: Likewise.
67124
67125 2007-08-08  Jim Meyering  <jim@meyering.net>
67126
67127         New function: mfile_name_concat.
67128         * lib/filenamecat.c (mfile_name_concat): New function, just like
67129         file_name_concat, but return NULL upon failure rather than exiting
67130         with a diagnostic.
67131         * lib/filenamecat.h: Declare it.
67132
67133 2007-08-07  Bruno Haible  <bruno@clisp.org>
67134
67135         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
67136         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
67137         warning from gcc.
67138         Reported by Eric Blake.
67139
67140 2007-08-07  Simon Josefsson  <simon@josefsson.org>
67141
67142         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
67143         * modules/crypto/arcfour (License): Likewise.
67144         * modules/crypto/des-tests (License): Likewise.
67145         * modules/crypto/gc-arctwo-tests (License): Likewise.
67146         * modules/crypto/gc-des-tests (License): Likewise.
67147         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
67148         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
67149         * modules/crypto/gc-md2-tests (License): Likewise.
67150         * modules/crypto/gc-md4-tests (License): Likewise.
67151         * modules/crypto/gc-md5-tests (License): Likewise.
67152         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
67153         * modules/crypto/gc-rijndael-tests (License): Likewise.
67154         * modules/crypto/gc-sha1-tests (License): Likewise.
67155         * modules/crypto/gc-tests (License): Likewise.
67156         * modules/crypto/hmac-md5 (License): Likewise.
67157         * modules/crypto/hmac-sha1 (License): Likewise.
67158         * modules/crypto/md2-tests (License): Likewise.
67159         * modules/crypto/md4-tests (License): Likewise.
67160         * modules/crypto/md5 (License): Likewise.
67161         * modules/crypto/rijndael (License): Likewise.
67162         * modules/crypto/sha1 (License): Likewise.
67163         * modules/memxor (License): Likewise.
67164
67165 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
67166         and Bruno Haible  <bruno@clisp.org>
67167
67168         * NEWS: Describe interface changes to human, xstrtol.
67169         * lib/human.h: Include <xstrtol.h>.
67170         (human_options): Return enum strtol_error, not int.  Remove
67171         bool arg; take int * instead.
67172         * lib/human.c: Don't include "gettext.h".
67173         (_): Remove; no longer used.
67174         Don't include <xstrtol.h>, since human.h does it.
67175         (human_options): Adjust to abovementioned interface changes.
67176         Do not report error to stderr; that's now the caller's
67177         responsibility.
67178         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
67179         interface change.
67180         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
67181         Str, Argument_type_string.  All uses changed.  Put " argument"
67182         in diagnostics to make them clearer.  Change wording of suffix
67183         message for clarity.
67184         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
67185         Argument_type_string.
67186         (STRTOL_FATAL_WARN): Remove; no longer used.
67187         * modules/human (Depends-on): Remove gettext-h.
67188
67189 2007-08-06  Simon Josefsson  <simon@josefsson.org>
67190
67191         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
67192
67193 2007-07-31  Bruno Haible  <bruno@clisp.org>
67194
67195         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
67196         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
67197         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
67198
67199 2007-07-31  Bruno Haible  <bruno@clisp.org>
67200
67201         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
67202         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
67203
67204 2007-07-30  Bruno Haible  <bruno@clisp.org>
67205
67206         * modules/base64 (License): Use the synonymous term "LGPLv2+".
67207         * modules/c-ctype (License): Likewise.
67208         * modules/c-strcase (License): Likewise.
67209         * modules/check-version (License): Likewise.
67210         * modules/iconv (License): Likewise.
67211         * modules/iconv_open (License): Likewise.
67212         * modules/read-file (License): Likewise.
67213         * modules/striconv (License): Likewise.
67214         * modules/strverscmp (License): Likewise.
67215         * modules/vasprintf (License): Likewise.
67216         * modules/crypto/des (License): Likewise.
67217         * modules/crypto/gc (License): Likewise.
67218         * modules/crypto/gc-arcfour (License): Likewise.
67219         * modules/crypto/gc-arctwo (License): Likewise.
67220         * modules/crypto/gc-des (License): Likewise.
67221         * modules/crypto/gc-hmac-md5 (License): Likewise.
67222         * modules/crypto/gc-hmac-sha1 (License): Likewise.
67223         * modules/crypto/gc-md2 (License): Likewise.
67224         * modules/crypto/gc-md4 (License): Likewise.
67225         * modules/crypto/gc-md5 (License): Likewise.
67226         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
67227         * modules/crypto/gc-random (License): Likewise.
67228         * modules/crypto/gc-rijndael (License): Likewise.
67229         * modules/crypto/gc-sha1 (License): Likewise.
67230         * modules/crypto/md2 (License): Likewise.
67231         * modules/crypto/md4 (License): Likewise.
67232
67233 2007-07-30  Jim Meyering  <jim@meyering.net>
67234
67235         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
67236         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
67237         it has valid stat data.  This bug would cause du not to count the
67238         sizes of inaccessible directories.
67239         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
67240         in <http://bugzilla.redhat.com/250077>.
67241
67242 2007-07-25  Peter O'Gorman  <peter@pogma.com>
67243             Bruno Haible  <bruno@clisp.org>
67244
67245         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
67246         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
67247         #include_next, gives a diagnostic about it, but reports no error in
67248         the exit code.
67249         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
67250
67251 2007-07-24  Ben Pfaff  <blp@gnu.org>
67252
67253         Improve name: "count-one-bits" is better than "popcount".
67254         * MODULES.html.sh: Update name.
67255         * lib/popcount.h: Renamed lib/count-one-bits.h.
67256         (popcount): Renamed count_one_bits.
67257         (popcountl): Renamed count_one_bits_l.
67258         (popcountll): Renamed count_one_bits_ll.
67259         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
67260         * modules/popcount: Renamed module/count-one-bits.
67261         * modules/popcount-tests: Renamed module/count-one-bits-tests.
67262         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
67263
67264 2007-07-23  Ben Pfaff  <blp@gnu.org>
67265
67266         * lib/popcount.h (popcount32): Reduce size of constants, to allow
67267         better code generation, and add U to large constants to avoid
67268         warnings, in non-GCC case.
67269         Suggested by Bruno Haible.
67270
67271 2007-07-23  Ben Pfaff  <blp@gnu.org>
67272
67273         * lib/popcount.h: Use verify_true instead of if...abort.
67274         * modules/popcount: Depend on verify module.
67275         Suggested by Jim Meyering.
67276
67277 2007-07-23  Bruno Haible  <bruno@clisp.org>
67278
67279         * gnulib-tool (func_import): Create a .cvsignore file also when the
67280         directory is not yet in CVS but the toplevel directory is. When
67281         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
67282         Reported by Karl Berry.
67283
67284 2007-07-22  Ben Pfaff  <blp@gnu.org>
67285
67286         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
67287         case.
67288         Suggested by Eric Blake.
67289
67290 2007-07-22  Ben Pfaff  <blp@gnu.org>
67291
67292         New module: popcount.
67293         * MODULES.html.sh: Add popcount.
67294         * modules/popcount: New file.
67295         * modules/popcount-tests: New file.
67296         * tests/test-popcount.c: New file.
67297         * lib/popcount.h: New file.
67298         * m4/popcount.m4: New file.
67299
67300 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
67301
67302         * build-aux/announce-gen: Update to GPLv3.
67303
67304         * build-aux/config.guess: Update from config.
67305
67306 2007-07-21  Bruno Haible  <bruno@clisp.org>
67307
67308         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
67309         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
67310
67311 2007-07-20  Jim Meyering  <jim@meyering.net>
67312
67313         * check-module: Diagnose a self-dependency.
67314
67315 2007-07-19  Bruno Haible  <bruno@clisp.org>
67316
67317         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
67318         empty.
67319         Reported by Eric Blake.
67320
67321 2007-07-18  Bruno Haible  <bruno@clisp.org>
67322
67323         * gnulib-tool: New options --po-base, --po-domain.
67324         (func_usage): Document them.
67325         (pobase, po_domain): New variables.
67326         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
67327         DEFAULT_TEXT_DOMAIN.
67328         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
67329         (func_import): Consider pobase and po_domain. Create a po/ directory.
67330         (func_create_testdir): Set pobase and po_domain to empty.
67331         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
67332         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
67333
67334 2007-07-18  Bruno Haible  <bruno@clisp.org>
67335
67336         * gnulib-tool (func_get_automake_snippet): Synthesize also an
67337         EXTRA_DIST augmentation for files in build-aux/.
67338
67339 2007-07-16  Bruno Haible  <bruno@clisp.org>
67340
67341         * modules/lseek (License): Use the synonymous term "LGPLv2+".
67342         * modules/getdelim (License): Likewise.
67343
67344 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
67345
67346         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
67347         * modules/d-type (License): Likewise.
67348         * modules/extensions (License): Likewise.
67349         * modules/fnmatch (License): Likewise.
67350         * modules/fseeko (License): Likewise.
67351         * modules/getaddrinfo (License): Likewise.
67352         * modules/getline (License): Likewise.
67353         * modules/getlogin_r (License): Likewise.
67354         * modules/getpass (License): Likewise.
67355         * modules/gettimeofday (License): Likewise.
67356         * modules/glob (License): Likewise.
67357         * modules/inet_ntop (License): Likewise.
67358         * modules/malloc (License): Likewise.
67359         * modules/malloca (License): Likewise.
67360         * modules/memmem (License): Likewise.
67361         * modules/mempcpy (License): Likewise.
67362         * modules/memset (License): Likewise.
67363         * modules/minmax (License): Likewise.
67364         * modules/mktime (License): Likewise.
67365         * modules/netinet_in (License): Likewise.
67366         * modules/pathmax (License): Likewise.
67367         * modules/poll (License): Likewise.
67368         * modules/regex (License): Likewise.
67369         * modules/snprintf (License): Likewise.
67370         * modules/stdbool (License): Likewise.
67371         * modules/stdint (License): Likewise.
67372         * modules/stdio (License): Likewise.
67373         * modules/strcase (License): Likewise.
67374         * modules/strcasestr (License): Likewise.
67375         * modules/strdup (License): Likewise.
67376         * modules/string (License): Likewise.
67377         * modules/strndup (License): Likewise.
67378         * modules/strnlen (License): Likewise.
67379         * modules/strpbrk (License): Likewise.
67380         * modules/strptime (License): Likewise.
67381         * modules/strsep (License): Likewise.
67382         * modules/sys_select (License): Likewise.
67383         * modules/sys_socket (License): Likewise.
67384         * modules/sys_stat (License): Likewise.
67385         * modules/sys_time (License): Likewise.
67386         * modules/time (License): Likewise.
67387         * modules/time_r (License): Likewise.
67388         * modules/timegm (License): Likewise.
67389         * modules/unistd (License): Likewise.
67390         * modules/vsnprintf (License): Likewise.
67391         * modules/wctype (License): Likewise.
67392
67393 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67394
67395         * modules/argz (License): LGPLv2+.
67396
67397 2007-07-15  Karl Berry  <karl@gnu.org>
67398
67399         * doc/gnulib.texi: revise node structure per new fdl.texi.
67400
67401 2007-07-14  Bruno Haible  <bruno@clisp.org>
67402
67403         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
67404         the output file.
67405         * lib/uniname/uninames.h: Regenerated.
67406
67407 2007-07-14  Karl Berry  <karl@gnu.org>
67408
67409         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
67410         omitting sectioning and index commands.
67411
67412 2007-07-13  Bruno Haible  <bruno@clisp.org>
67413
67414         New gnulib-tool option --more-symlinks.
67415         * gnulib-tool (func_usage): Document --more-symlinks.
67416         (do_copyrights): New variable.
67417         Recognize option --more-symlinks.
67418         (func_import): Don't add a copyright notice transform to
67419         sed_transform_lib_file if do_copyrights is empty.
67420
67421 2007-07-13  Bruno Haible  <bruno@clisp.org>
67422
67423         * lib/vasnprintf.c (decimal_point_char): Define also if
67424         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
67425         && !NEED_PRINTF_DIRECTIVE_A.
67426         Reported by Clemens Koller <clemens.koller@anagramm.de> via
67427         Gary V. Vaughan <gary@gnu.org>.
67428
67429 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
67430
67431         * lib/inttypes_.h: Undo previous change, since it was fixed
67432         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
67433
67434 2007-07-13  Bruno Haible  <bruno@clisp.org>
67435
67436         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
67437         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
67438
67439 2007-07-13  Jim Meyering  <jim@meyering.net>
67440
67441         df: Don't fail for Tru64's "file-on-file mount".
67442         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
67443         so we fall through and use statfs instead.  Details here:
67444         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
67445         Reported by Albert Chin.
67446
67447 2007-07-13  Bruno Haible  <bruno@clisp.org>
67448
67449         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
67450         * modules/configmake (License): Likewise.
67451         * modules/gettext (License): Likewise.
67452         * modules/gettext-h (License): Likewise.
67453         * modules/include_next (License): Likewise.
67454         * modules/link-warning (License): Likewise.
67455         * modules/localcharset (License): Likewise.
67456         * modules/localename (License): Likewise.
67457         * modules/lock (License): Likewise.
67458         * modules/relocatable-lib-lgpl (License): Likewise.
67459         * modules/size_max (License): Likewise.
67460         * modules/vasnprintf (License): Likewise.
67461         * modules/wchar (License): Likewise.
67462         * modules/xsize (License): Likewise.
67463
67464 2007-07-13  Bruno Haible  <bruno@clisp.org>
67465
67466         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
67467         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
67468
67469 2007-07-12  Bruno Haible  <bruno@clisp.org>
67470
67471         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
67472         in the modules files.
67473
67474 2007-07-11  Karl Berry  <karl@gnu.org>
67475
67476         * MODULES.html.sh (func_module): use
67477          sed -e '\|^'"${includefile}"'$|d'
67478          instead of /.../d, to avoid errors on $includefile's containing /.
67479
67480 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
67481
67482         * gnulib-tool (func_import): Avoid duplication of --avoid
67483         statements
67484         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
67485         names to `_' in variable names.
67486
67487 2007-07-10  Eric Blake  <ebb9@byu.net>
67488
67489         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
67490         * NEWS: Document this change.
67491
67492 2007-07-08  Bruno Haible  <bruno@clisp.org>
67493
67494         Update to Unicode 5.0.
67495         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
67496         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
67497         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
67498         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
67499         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
67500         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
67501         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
67502         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
67503         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
67504         U+10A3F, U+1D242..U+1D244.
67505         (nonspacing_table_ind): Update.
67506         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
67507         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
67508
67509 2007-07-08  Bruno Haible  <bruno@clisp.org>
67510
67511         Update to Unicode 5.0.
67512         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
67513         code transform. Extend the name index field of unicode_name_to_code and
67514         unicode_code_to_name from 16 to 24 bits.
67515         * lib/uniname/uniname.c (unicode_character_name,
67516         unicode_name_character): Add the range 0x12xxx to the code transform.
67517         * lib/uniname/uninames.h: Regenerated.
67518         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
67519
67520 2007-07-07  Bruno Haible  <bruno@clisp.org>
67521
67522         * modules/wcwidth-tests: New file.
67523         * tests/test-wcwidth.c: New file.
67524
67525         Work around MacOS X wcwidth() bug.
67526         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
67527         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
67528         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
67529         original wcwidth in non-UTF-8 locales.
67530         * modules/wcwidth (Depends-on): Add localcharset, streq,
67531         uniwidth/width.
67532         * doc/functions/wcwidth.texi: Update.
67533
67534 2007-07-07  Bruno Haible  <bruno@clisp.org>
67535
67536         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
67537         (wcwidth): New declaration.
67538         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
67539         macros.
67540         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
67541         here. Prepare for creating <wchar.h> unconditionally.
67542         * modules/wchar (Depends-on): Add link-warning.
67543         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
67544         REPLACE_WCWIDTH, and GL_LINK_WARNING.
67545         * lib/wcwidth.h: Remove file.
67546         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
67547         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
67548         * modules/wcwidth (Files): Remove lib/wcwidth.h.
67549         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
67550         (Include): Replace wcwidth.h with <wchar.h>.
67551         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
67552         * lib/mbchar.h: Don't include wcwidth.h.
67553         * lib/mbswidth.c: Likewise.
67554         * NEWS: Mention the change.
67555
67556 2007-07-07  Bruno Haible  <bruno@clisp.org>
67557
67558         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
67559         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
67560         definition with an external declaration.
67561         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
67562         defined as a function. Remove AC_C_INLINE requirement.
67563         * modules/wcwidth (Files): Add lib/wcwidth.c.
67564         (Makefile.am): Remove redundant statement.
67565
67566 2007-07-07  Bruno Haible  <bruno@clisp.org>
67567
67568         * MODULES.html.sh (Unicode string functions): Add the new modules.
67569
67570         * tests/uniwidth/test-u32-strwidth.c: New file.
67571         * modules/uniwidth/u32-strwidth-tests: New file.
67572
67573         * lib/uniwidth/u32-strwidth.c: New file.
67574         * modules/uniwidth/u32-strwidth: New file.
67575
67576         * tests/uniwidth/test-u16-strwidth.c: New file.
67577         * modules/uniwidth/u16-strwidth-tests: New file.
67578
67579         * lib/uniwidth/u16-strwidth.c: New file.
67580         * modules/uniwidth/u16-strwidth: New file.
67581
67582         * tests/uniwidth/test-u8-strwidth.c: New file.
67583         * modules/uniwidth/u8-strwidth-tests: New file.
67584
67585         * lib/uniwidth/u8-strwidth.c: New file.
67586         * modules/uniwidth/u8-strwidth: New file.
67587
67588         * tests/uniwidth/test-u32-width.c: New file.
67589         * modules/uniwidth/u32-width-tests: New file.
67590
67591         * lib/uniwidth/u32-width.c: New file.
67592         * modules/uniwidth/u32-width: New file.
67593
67594         * tests/uniwidth/test-u16-width.c: New file.
67595         * modules/uniwidth/u16-width-tests: New file.
67596
67597         * lib/uniwidth/u16-width.c: New file.
67598         * modules/uniwidth/u16-width: New file.
67599
67600         * tests/uniwidth/test-u8-width.c: New file.
67601         * modules/uniwidth/u8-width-tests: New file.
67602
67603         * lib/uniwidth/u8-width.c: New file.
67604         * modules/uniwidth/u8-width: New file.
67605
67606         * tests/uniwidth/test-uc_width.c: New file.
67607         * modules/uniwidth/width-tests: New file.
67608
67609         * lib/uniwidth/width.c: New file, from GNU libiconv.
67610         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
67611         * modules/uniwidth/width: New file.
67612
67613         * lib/uniwidth.h: New file, from GNU libiconv.
67614         * modules/uniwidth/base: New file.
67615
67616 2007-07-07  Bruno Haible  <bruno@clisp.org>
67617
67618         * lib/uniname.h: New file, from GNU gettext.
67619         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
67620         * lib/uniname/uninames.h: New file, from GNU gettext.
67621         * lib/uniname/uniname.c: New file, from GNU gettext.
67622         * tests/uniname/test-uninames.sh: New file.
67623         * tests/uniname/test-uninames.c: New file, from GNU gettext.
67624         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
67625         * modules/uniname/base: New file.
67626         * modules/uniname/uniname: New file.
67627         * modules/uniname/uniname-tests: New file.
67628         * MODULES.html.sh (Unicode string functions): Add the new modules.
67629
67630 2007-07-06  Bruno Haible  <bruno@clisp.org>
67631
67632         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
67633
67634 2007-07-06  Bruno Haible  <bruno@clisp.org>
67635
67636         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
67637         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
67638         includes <cygwin/sys_time.h> which includes <sys/select.h> which
67639         include <sys/time.h>.
67640         Reported by Eric Blake.
67641
67642 2007-07-06  Eric Blake  <ebb9@byu.net>
67643
67644         Fix testing canonicalize on cygwin.
67645         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
67646         Revert patch from 2007-06-19.
67647         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
67648         canonicalize module is also in use.
67649         * tests/test-canonicalize.c: New file.
67650         * tests/test-canonicalize.sh: Likewise.
67651         * modules/canonicalize-tests: Likewise.
67652
67653 2007-07-06  Jim Meyering  <jim@meyering.net>
67654
67655         * lib/getugroups.c (getugroups): Detect getgrent failure.
67656         Adjust comment to reflect reality: this function may return -1.
67657
67658 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
67659
67660         * build-aux/bootstrap (TP_URL,get_translations): Update to use
67661         the new TP address.
67662         (usage): Fix typo
67663         (gnulib_mk): New variable.
67664
67665 2007-07-05  Jim Meyering  <jim@meyering.net>
67666
67667         Don't let endgrent clobber errno, no matter how improbable.
67668         * lib/getugroups.c (getugroups): Save and restore errno around
67669         endgrent call.
67670
67671         Close the group DB even when failing with 2^31 or more members.
67672         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
67673
67674 2007-07-04  Jim Meyering  <jim@meyering.net>
67675
67676         * lib/getugroups.h: New file.
67677         * lib/getugroups.c: Include "getugroups.h".
67678         Remove uses of "register" keyword.
67679         Move local variable, "cp", down into scope where used.
67680         Give "username" parameter the "const" attribute.
67681         * modules/getugroups (Files): Add lib/getugroups.h
67682
67683 2007-07-04  Karl Berry  <karl@gnu.org>
67684
67685         * MODULES.html.sh (func_all_modules): Complete rename of
67686         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
67687
67688 2007-07-02  Bruno Haible  <bruno@clisp.org>
67689
67690         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
67691         mode, when inttypes.h comes from gnulib.
67692         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
67693
67694 2007-07-02  Simon Josefsson  <simon@josefsson.org>
67695
67696         * NEWS: Mention lgpl module name change.
67697
67698         * modules/lgpl-2.1: Renamed from lgpl.
67699
67700         * NEWS: Mention gpl module name change.
67701
67702         * modules/gpl-3.0: New file, based on gpl-2.0.
67703
67704         * modules/gpl-2.0: Renamed from gpl.
67705
67706         * modules/gpl: Fix filename, doc/gpl.texi is now found at
67707         doc/gpl-2.0.texi.
67708
67709 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
67710
67711         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
67712         #define __STDC_LIMIT_MACROS temporarily while including
67713         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
67714         Problem reported by Joel E. Denny in
67715         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
67716
67717 2007-07-01  Bruno Haible  <bruno@clisp.org>
67718
67719         * lib/unistdio.h: New file.
67720         * lib/unistdio/u-asnprintf.h: New file.
67721         * lib/unistdio/u-asprintf.h: New file.
67722         * lib/unistdio/u-printf-args.c: New file.
67723         * lib/unistdio/u-printf-args.h: New file.
67724         * lib/unistdio/u-printf-parse.h: New file.
67725         * lib/unistdio/u-snprintf.h: New file.
67726         * lib/unistdio/u-sprintf.h: New file.
67727         * lib/unistdio/u-vasprintf.h: New file.
67728         * lib/unistdio/u-vsnprintf.h: New file.
67729         * lib/unistdio/u-vsprintf.h: New file.
67730         * lib/unistdio/ulc-asnprintf.c: New file.
67731         * lib/unistdio/ulc-asprintf.c: New file.
67732         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
67733         * lib/unistdio/ulc-printf-parse.c: New file.
67734         * lib/unistdio/ulc-snprintf.c: New file.
67735         * lib/unistdio/ulc-sprintf.c: New file.
67736         * lib/unistdio/ulc-vasnprintf.c: New file.
67737         * lib/unistdio/ulc-vasprintf.c: New file.
67738         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
67739         * lib/unistdio/ulc-vsnprintf.c: New file.
67740         * lib/unistdio/ulc-vsprintf.c: New file.
67741         * lib/unistdio/u8-asnprintf.c: New file.
67742         * lib/unistdio/u8-asprintf.c: New file.
67743         * lib/unistdio/u8-printf-parse.c: New file.
67744         * lib/unistdio/u8-snprintf.c: New file.
67745         * lib/unistdio/u8-sprintf.c: New file.
67746         * lib/unistdio/u8-vasnprintf.c: New file.
67747         * lib/unistdio/u8-vasprintf.c: New file.
67748         * lib/unistdio/u8-vsnprintf.c: New file.
67749         * lib/unistdio/u8-vsprintf.c: New file.
67750         * lib/unistdio/u8-u8-asnprintf.c: New file.
67751         * lib/unistdio/u8-u8-asprintf.c: New file.
67752         * lib/unistdio/u8-u8-snprintf.c: New file.
67753         * lib/unistdio/u8-u8-sprintf.c: New file.
67754         * lib/unistdio/u8-u8-vasnprintf.c: New file.
67755         * lib/unistdio/u8-u8-vasprintf.c: New file.
67756         * lib/unistdio/u8-u8-vsnprintf.c: New file.
67757         * lib/unistdio/u8-u8-vsprintf.c: New file.
67758         * lib/unistdio/u16-asnprintf.c: New file.
67759         * lib/unistdio/u16-asprintf.c: New file.
67760         * lib/unistdio/u16-printf-parse.c: New file.
67761         * lib/unistdio/u16-snprintf.c: New file.
67762         * lib/unistdio/u16-sprintf.c: New file.
67763         * lib/unistdio/u16-vasnprintf.c: New file.
67764         * lib/unistdio/u16-vasprintf.c: New file.
67765         * lib/unistdio/u16-vsnprintf.c: New file.
67766         * lib/unistdio/u16-vsprintf.c: New file.
67767         * lib/unistdio/u16-u16-asnprintf.c: New file.
67768         * lib/unistdio/u16-u16-asprintf.c: New file.
67769         * lib/unistdio/u16-u16-snprintf.c: New file.
67770         * lib/unistdio/u16-u16-sprintf.c: New file.
67771         * lib/unistdio/u16-u16-vasnprintf.c: New file.
67772         * lib/unistdio/u16-u16-vasprintf.c: New file.
67773         * lib/unistdio/u16-u16-vsnprintf.c: New file.
67774         * lib/unistdio/u16-u16-vsprintf.c: New file.
67775         * lib/unistdio/u32-asnprintf.c: New file.
67776         * lib/unistdio/u32-asprintf.c: New file.
67777         * lib/unistdio/u32-printf-parse.c: New file.
67778         * lib/unistdio/u32-snprintf.c: New file.
67779         * lib/unistdio/u32-sprintf.c: New file.
67780         * lib/unistdio/u32-vasnprintf.c: New file.
67781         * lib/unistdio/u32-vasprintf.c: New file.
67782         * lib/unistdio/u32-vsnprintf.c: New file.
67783         * lib/unistdio/u32-vsprintf.c: New file.
67784         * lib/unistdio/u32-u32-asnprintf.c: New file.
67785         * lib/unistdio/u32-u32-asprintf.c: New file.
67786         * lib/unistdio/u32-u32-snprintf.c: New file.
67787         * lib/unistdio/u32-u32-sprintf.c: New file.
67788         * lib/unistdio/u32-u32-vasnprintf.c: New file.
67789         * lib/unistdio/u32-u32-vasprintf.c: New file.
67790         * lib/unistdio/u32-u32-vsnprintf.c: New file.
67791         * lib/unistdio/u32-u32-vsprintf.c: New file.
67792         * tests/unistdio/test-ulc-asnprintf1.c: New file.
67793         * tests/unistdio/test-ulc-asnprintf1.h: New file.
67794         * tests/unistdio/test-ulc-printf1.h: New file.
67795         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
67796         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
67797         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
67798         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
67799         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
67800         * tests/unistdio/test-ulc-vasprintf1.c: New file.
67801         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
67802         * tests/unistdio/test-ulc-vsprintf1.c: New file.
67803         * tests/unistdio/test-u8-asnprintf1.c: New file.
67804         * tests/unistdio/test-u8-asnprintf1.h: New file.
67805         * tests/unistdio/test-u8-printf1.h: New file.
67806         * tests/unistdio/test-u8-vasnprintf1.c: New file.
67807         * tests/unistdio/test-u8-vasnprintf2.c: New file.
67808         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
67809         * tests/unistdio/test-u8-vasnprintf3.c: New file.
67810         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
67811         * tests/unistdio/test-u8-vasprintf1.c: New file.
67812         * tests/unistdio/test-u8-vsnprintf1.c: New file.
67813         * tests/unistdio/test-u8-vsprintf1.c: New file.
67814         * tests/unistdio/test-u16-asnprintf1.c: New file.
67815         * tests/unistdio/test-u16-asnprintf1.h: New file.
67816         * tests/unistdio/test-u16-printf1.h: New file.
67817         * tests/unistdio/test-u16-vasnprintf1.c: New file.
67818         * tests/unistdio/test-u16-vasnprintf2.c: New file.
67819         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
67820         * tests/unistdio/test-u16-vasnprintf3.c: New file.
67821         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
67822         * tests/unistdio/test-u16-vasprintf1.c: New file.
67823         * tests/unistdio/test-u16-vsnprintf1.c: New file.
67824         * tests/unistdio/test-u16-vsprintf1.c: New file.
67825         * tests/unistdio/test-u32-asnprintf1.c: New file.
67826         * tests/unistdio/test-u32-asnprintf1.h: New file.
67827         * tests/unistdio/test-u32-printf1.h: New file.
67828         * tests/unistdio/test-u32-vasnprintf1.c: New file.
67829         * tests/unistdio/test-u32-vasnprintf2.c: New file.
67830         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
67831         * tests/unistdio/test-u32-vasnprintf3.c: New file.
67832         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
67833         * tests/unistdio/test-u32-vasprintf1.c: New file.
67834         * tests/unistdio/test-u32-vsnprintf1.c: New file.
67835         * tests/unistdio/test-u32-vsprintf1.c: New file.
67836         * modules/unistdio/base: New file.
67837         * modules/unistdio/u-printf-args: New file.
67838         * modules/unistdio/ulc-asnprintf: New file.
67839         * modules/unistdio/ulc-asprintf: New file.
67840         * modules/unistdio/ulc-fprintf: New file.
67841         * modules/unistdio/ulc-printf-parse: New file.
67842         * modules/unistdio/ulc-snprintf: New file.
67843         * modules/unistdio/ulc-sprintf: New file.
67844         * modules/unistdio/ulc-vasnprintf: New file.
67845         * modules/unistdio/ulc-vasprintf: New file.
67846         * modules/unistdio/ulc-vfprintf: New file.
67847         * modules/unistdio/ulc-vsnprintf: New file.
67848         * modules/unistdio/ulc-vsprintf: New file.
67849         * modules/unistdio/u8-asnprintf: New file.
67850         * modules/unistdio/u8-asprintf: New file.
67851         * modules/unistdio/u8-printf-parse: New file.
67852         * modules/unistdio/u8-snprintf: New file.
67853         * modules/unistdio/u8-sprintf: New file.
67854         * modules/unistdio/u8-vasnprintf: New file.
67855         * modules/unistdio/u8-vasprintf: New file.
67856         * modules/unistdio/u8-vsnprintf: New file.
67857         * modules/unistdio/u8-vsprintf: New file.
67858         * modules/unistdio/u8-u8-asnprintf: New file.
67859         * modules/unistdio/u8-u8-asprintf: New file.
67860         * modules/unistdio/u8-u8-snprintf: New file.
67861         * modules/unistdio/u8-u8-sprintf: New file.
67862         * modules/unistdio/u8-u8-vasnprintf: New file.
67863         * modules/unistdio/u8-u8-vasprintf: New file.
67864         * modules/unistdio/u8-u8-vsnprintf: New file.
67865         * modules/unistdio/u8-u8-vsprintf: New file.
67866         * modules/unistdio/u16-asnprintf: New file.
67867         * modules/unistdio/u16-asprintf: New file.
67868         * modules/unistdio/u16-printf-parse: New file.
67869         * modules/unistdio/u16-snprintf: New file.
67870         * modules/unistdio/u16-sprintf: New file.
67871         * modules/unistdio/u16-vasnprintf: New file.
67872         * modules/unistdio/u16-vasprintf: New file.
67873         * modules/unistdio/u16-vsnprintf: New file.
67874         * modules/unistdio/u16-vsprintf: New file.
67875         * modules/unistdio/u16-u16-asnprintf: New file.
67876         * modules/unistdio/u16-u16-asprintf: New file.
67877         * modules/unistdio/u16-u16-snprintf: New file.
67878         * modules/unistdio/u16-u16-sprintf: New file.
67879         * modules/unistdio/u16-u16-vasnprintf: New file.
67880         * modules/unistdio/u16-u16-vasprintf: New file.
67881         * modules/unistdio/u16-u16-vsnprintf: New file.
67882         * modules/unistdio/u16-u16-vsprintf: New file.
67883         * modules/unistdio/u32-asnprintf: New file.
67884         * modules/unistdio/u32-asprintf: New file.
67885         * modules/unistdio/u32-printf-parse: New file.
67886         * modules/unistdio/u32-snprintf: New file.
67887         * modules/unistdio/u32-sprintf: New file.
67888         * modules/unistdio/u32-vasnprintf: New file.
67889         * modules/unistdio/u32-vasprintf: New file.
67890         * modules/unistdio/u32-vsnprintf: New file.
67891         * modules/unistdio/u32-vsprintf: New file.
67892         * modules/unistdio/u32-u32-asnprintf: New file.
67893         * modules/unistdio/u32-u32-asprintf: New file.
67894         * modules/unistdio/u32-u32-snprintf: New file.
67895         * modules/unistdio/u32-u32-sprintf: New file.
67896         * modules/unistdio/u32-u32-vasnprintf: New file.
67897         * modules/unistdio/u32-u32-vasprintf: New file.
67898         * modules/unistdio/u32-u32-vsnprintf: New file.
67899         * modules/unistdio/u32-u32-vsprintf: New file.
67900         * modules/unistdio/ulc-asnprintf-tests: New file.
67901         * modules/unistdio/ulc-vasnprintf-tests: New file.
67902         * modules/unistdio/ulc-vasprintf-tests: New file.
67903         * modules/unistdio/ulc-vsnprintf-tests: New file.
67904         * modules/unistdio/ulc-vsprintf-tests: New file.
67905         * modules/unistdio/u8-asnprintf-tests: New file.
67906         * modules/unistdio/u8-vasnprintf-tests: New file.
67907         * modules/unistdio/u8-vasprintf-tests: New file.
67908         * modules/unistdio/u8-vsnprintf-tests: New file.
67909         * modules/unistdio/u8-vsprintf-tests: New file.
67910         * modules/unistdio/u16-asnprintf-tests: New file.
67911         * modules/unistdio/u16-vasnprintf-tests: New file.
67912         * modules/unistdio/u16-vasprintf-tests: New file.
67913         * modules/unistdio/u16-vsnprintf-tests: New file.
67914         * modules/unistdio/u16-vsprintf-tests: New file.
67915         * modules/unistdio/u32-asnprintf-tests: New file.
67916         * modules/unistdio/u32-vasnprintf-tests: New file.
67917         * modules/unistdio/u32-vasprintf-tests: New file.
67918         * modules/unistdio/u32-vsnprintf-tests: New file.
67919         * modules/unistdio/u32-vsprintf-tests: New file.
67920         * MODULES.html.sh (Unicode string functions): Add the new modules.
67921
67922 2007-07-01  Bruno Haible  <bruno@clisp.org>
67923
67924         * lib/sprintf.c (sprintf): Limit the available length estimation,
67925         to avoid address wraparound.
67926         * lib/vsprintf.c (vsprintf): Likewise.
67927         * modules/sprintf-posix (Dependencies): Add stdint.
67928         * modules/vsprintf-posix (Dependencies): Likewise.
67929
67930 2007-07-01  Bruno Haible  <bruno@clisp.org>
67931
67932         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
67933         Windows PATH as well. Conservative double-quoting. Comments.
67934
67935 2007-07-01  Bruno Haible  <bruno@clisp.org>
67936             Eric Blake  <ebb9@byu.net>
67937             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67938
67939         * gnulib-tool (self_abspathname): Fix algorithm to cope with
67940         empty components in $PATH, denoting '.'.
67941
67942 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67943
67944         * gnulib-tool: Fix indentation.
67945         (func_create_megatestdir): Likewise.
67946         Report by Bruno Haible.
67947
67948 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67949
67950         Sync from Automake.
67951         * build-aux/gnupload: Fix shell portability issues with for loops.
67952         Report by Karl Berry.
67953
67954 2007-06-29  Simon Josefsson  <simon@josefsson.org>
67955
67956         * build-aux/maint.mk (POURL): Use translationproject.org.
67957
67958 2007-06-27  Simon Josefsson  <simon@josefsson.org>
67959             Bruno Haible  <bruno@clisp.org>
67960
67961         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
67962         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
67963         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
67964         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
67965         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
67966
67967 2007-06-27  Bruno Haible  <bruno@clisp.org>
67968
67969         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
67970         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
67971
67972 2007-06-26  Karl Berry  <karl@gnu.org>
67973
67974         * MODULES.html.sh: remove xreadlink-with-size.
67975
67976 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
67977
67978         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
67979         method that I hope also handles the double-include problem noted
67980         by Bruno Haible in
67981         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
67982
67983 2007-06-23  Bruno Haible  <bruno@clisp.org>
67984
67985         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
67986         Don't let the 'mostlyclean' target fail if the last subdirectory could
67987         not be removed.
67988         Reported by Karl Berry.
67989
67990 2007-06-23  Bruno Haible  <bruno@clisp.org>
67991
67992         * gnulib-tool (echo): Add a speedier workaround for ksh.
67993         * tests/test-echo.sh: Likewise.
67994
67995 2007-06-23  Bruno Haible  <bruno@clisp.org>
67996
67997         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
67998         * tests/test-echo.sh: Likewise.
67999
68000 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68001
68002         * gnulib-tool (IFS): Initialize early, so we don't set it to
68003         empty later.
68004         (self_abspathname): Rewrite algorithm to set it, reindent.
68005         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
68006         (func_create_megatestdir): Merge some sed scripts.
68007
68008 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
68009
68010         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
68011         exposed by Sun Studio 11 cc on Solaris 8.
68012
68013 2007-06-22  Bruno Haible  <bruno@clisp.org>
68014
68015         * gnulib-tool (echo): Ensure the echo primitive does not interpret
68016         backslashes.
68017         * tests/test-echo.sh: New file.
68018
68019 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68020
68021         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
68022         simplify `sed_replace_build_aux' scripts, they are portable but
68023         echoing them with `echo' is not.
68024         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
68025
68026 2007-06-21  Karl Berry  <karl@gnu.org>
68027
68028         * config/srclist.txt: guess we can't handle the licenses via
68029         srclist at the moment.
68030
68031 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
68032
68033         * MODULES.html.sh: Add include_next.
68034         * modules/include_next: New file.
68035
68036 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
68037
68038         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
68039         INCLUDE_NEXT.
68040         (gl_CHECK_NEXT_HEADERS): New macro.
68041         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
68042         the obsolescent gl_ABSOLUTE_HEADER.
68043         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
68044         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
68045         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
68046         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
68047         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
68048         * m4/math_h.m4 (gl_MATH_H): Likewise.
68049         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
68050         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
68051         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
68052         * m4/stdint.m4 (gl_STDINT_H): Likewise.
68053         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
68054         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
68055         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
68056         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
68057         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
68058         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
68059         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
68060         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
68061         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
68062         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
68063         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
68064         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
68065         * m4/inttypes.m4 (gl_INTTYPES_H): Define
68066         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
68067         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
68068         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
68069         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
68070         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
68071         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
68072         * lib/float_.h: Likewise.
68073         * lib/inttypes_.h: Likewise.
68074         * lib/math_.h: Likewise.
68075         * lib/search_.h: Likewise.
68076         * lib/signal_.h: Likewise.
68077         * lib/stdint_.h: Likewise.
68078         * lib/stdio_.h: Likewise.
68079         * lib/stdlib_.h: Likewise.
68080         * lib/string_.h: Likewise.
68081         * lib/sys_stat_.h: Likewise.
68082         * lib/sys_time_.h: Likewise.
68083         * lib/time_.h: Likewise.
68084         * lib/unistd_.h: Likewise.
68085         * lib/wchar_.h: Likewise.
68086         * lib/wctype_.h: Likewise.
68087         * lib/dirent_.h: Likewise.
68088         * lib/iconv_.h: Likewise.
68089         * lib/locale_.h: Likewise.
68090         * lib/netinet_in_.h: Likewise.
68091         * lib/sys_select_.h: Likewise.
68092         * lib/sys_socket_.h: Likewise.
68093         * lib/sysexits_.h: Likewise.
68094         * modules/fcntl (Depends-on): Depend on include_next, not
68095         absolute_header.
68096         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
68097         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
68098         * modules/fchdir: Likewise.
68099         * modules/float: Likewise.
68100         * modules/iconv_open: Likewise.
68101         * modules/inttypes: Likewise.
68102         * modules/locale: Likewise.
68103         * modules/math: Likewise.
68104         * modules/netinet_in: Likewise.
68105         * modules/search: Likewise.
68106         * modules/signal: Likewise.
68107         * modules/stdint: Likewise.
68108         * modules/stdio: Likewise.
68109         * modules/stdlib: Likewise.
68110         * modules/string: Likewise.
68111         * modules/sys_select: Likewise.
68112         * modules/sys_socket: Likewise.
68113         * modules/sys_stat: Likewise.
68114         * modules/sys_time: Likewise.
68115         * modules/sysexits: Likewise.
68116         * modules/time: Likewise.
68117         * modules/unistd: Likewise.
68118         * modules/wchar: Likewise.
68119         * modules/wctype: Likewise.
68120         * modules/sys_stat: Change maintainer to "all".
68121         * modules/unistd: Likewise.
68122
68123 2007-06-20  Karl Berry  <karl@gnu.org>
68124
68125         * config/srclist.txt: track www changes in license files.
68126
68127 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
68128
68129         * build-aux/bootstrap: Remove stray dot.
68130         Make sure build_aux settings are honored when linking
68131         gnulib_extra_files.
68132
68133 2007-06-19  Eric Blake  <ebb9@byu.net>
68134
68135         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
68136         Allow compilation on cygwin.
68137
68138 2007-06-19  Jim Meyering  <jim@meyering.net>
68139
68140         xreadlink-with-size: Remove module.  No longer used.
68141         Ex-callers now use xreadlink or mreadlink-with-size.
68142         * modules/xreadlink-with-size: Remove module.
68143         * lib/xreadlink-with-size.c: Remove file.
68144         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
68145         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
68146         just before the function definition *is* accurate.
68147
68148         Eliminate one way canonicalize_filename_mode could exit.
68149         * lib/canonicalize.c (canonicalize_filename_mode):
68150         Use mreadlink_with_size, not xreadlink_with_size.
68151
68152 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
68153
68154         Detect porting problems to FreeBSD/arm, which has time_t wider than
68155         long int.  Original problem reported for GNU diff by Xin Li in
68156         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
68157         * modules/getdate (Depends-on): Add intprops, verify.
68158         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
68159         is an integer type no wider than long int.
68160
68161 2007-06-18  Jim Meyering  <jim@meyering.net>
68162
68163         New module: mreadlink-with-size.
68164         * MODULES.html.sh: Add mreadlink-with-size.
68165         * modules/mreadlink-with-size: New module
68166         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
68167         not xreadlink-with-size.
68168         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
68169
68170 2007-06-16  Bruno Haible  <bruno@clisp.org>
68171
68172         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
68173         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
68174         Reported by Gary V. Vaughan <gary@gnu.org>.
68175
68176 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
68177
68178         Revamp lchown so that it lives in unistd.h where it belongs.
68179         * lib/lchown.h: Remove.
68180         * lib/dirchownmod.c: Don't include lib/lchown.h.
68181         * lib/fchownat.c: Likewise.
68182         * lib/openat.c: Likewise.
68183         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
68184         does not follow symlinks.
68185         (EOPNOTSUPP): Define if not defined.
68186         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
68187         is defined to 0.
68188         (lchown): New decl.
68189         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
68190         Do not check for lchown decl.
68191         Set REPLACE_LCHOWN.
68192         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
68193         REPLACE_LCHOWN.
68194         * modules/chown: Make it clear it follows symlinks.
68195         * modules/lchown: Make it clear it doesn't follow symlinks.
68196         (Files): Remove lib/lchown.h
68197         (Depends-on): Add unistd.
68198         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
68199         (Include): Include <unistd.h>, not "lchown.h".
68200         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
68201         REPLACE_LCHOWN.
68202
68203 2007-06-15  Jim Meyering  <jim@meyering.net>
68204
68205         Change license (GPL to LGPL) of fsusage and dependents.
68206         * modules/fsusage (License): Change to LGPL.
68207         * modules/full-read (License): Likewise.
68208         * modules/full-write (License): Likewise.
68209         * modules/safe-read (License): Likewise.
68210         * modules/safe-write (License): Likewise.
68211
68212 2007-06-14  Ben Pfaff  <blp@gnu.org>
68213
68214         Missing part of allocsa -> malloca transition.
68215         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
68216         gl_MALLOCA.
68217
68218 2007-06-12  Bruno Haible  <bruno@clisp.org>
68219
68220         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
68221         to ia64, x86_64, i386.
68222         Reported by Eric Blake.
68223
68224 2007-06-12  Bruno Haible  <bruno@clisp.org>
68225
68226         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
68227         cross-compiling to x86_64.
68228
68229 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
68230
68231         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
68232         glitch reported by Ralf Wildenhues in
68233         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
68234
68235         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
68236         Vin Shelton.
68237
68238 2007-06-11  Bruno Haible  <bruno@clisp.org>
68239
68240         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
68241         replacement string.
68242         Reported by Eric Blake.
68243
68244 2007-06-10  Bruno Haible  <bruno@clisp.org>
68245
68246         Prepare vasnprintf code for use with Unicode strings.
68247         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
68248         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
68249         TYPE_U32_STRING.
68250         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
68251         a_u32_string variants.
68252         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
68253         * lib/printf-args.c: Don't include config.h and the specification
68254         header if PRINTF_FETCHARGS is already defined.
68255         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
68256         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
68257         TYPE_U16_STRING, TYPE_U32_STRING.
68258         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
68259         u16_directive, u16_directives, u32_directive, u32_directives): New
68260         types.
68261         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
68262         New declarations.
68263         * lib/printf-parse.c: Don't include config.h and the specification
68264         header if PRINTF_PARSE is already defined. Eliminate the set of
68265         parameters for WIDE_CHAR_VERSION; the user of this file must provide
68266         them now. Include c-ctype.h.
68267         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
68268         directive and CHAR_T_ONLY_ASCII.
68269         * lib/vasnprintf.c: Don't include config.h and the specification header
68270         if VASNPRINTF is already defined.
68271         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
68272         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
68273         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
68274         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
68275         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
68276         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
68277         code accordingly.
68278         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
68279         pad_ourselves also in this case, with the 'c' and 's' directives, and
68280         with a different notion of "width".
68281         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
68282
68283 2007-06-10  Bruno Haible  <bruno@clisp.org>
68284
68285         * modules/unistr/u32-mbsnlen: New file.
68286         * lib/unistr/u32-mbsnlen.c: New file.
68287
68288         * modules/unistr/u16-mbsnlen: New file.
68289         * lib/unistr/u16-mbsnlen.c: New file.
68290
68291         * modules/unistr/u8-mbsnlen: New file.
68292         * lib/unistr/u8-mbsnlen.c: New file.
68293
68294         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
68295         declarations.
68296
68297 2007-06-10  Bruno Haible  <bruno@clisp.org>
68298
68299         * lib/string_.h (mbsnlen): New declaration.
68300         * lib/mbsnlen.c: New file.
68301         * m4/mbsnlen.m4: New file.
68302         * modules/mbsnlen: New file.
68303         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
68304         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
68305         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
68306
68307 2007-06-10  Bruno Haible  <bruno@clisp.org>
68308
68309         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
68310
68311 2007-06-10  Bruno Haible  <bruno@clisp.org>
68312
68313         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
68314         * lib/mbuiter.h: Likewise.
68315
68316 2007-06-10  Bruno Haible  <bruno@clisp.org>
68317
68318         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
68319         declaration.
68320
68321 2007-06-10  Karl Berry  <karl@gnu.org>
68322
68323         * config/srclist.txt: remove gettext entries, Bruno prefers
68324         to update individually.
68325
68326 2007-06-10  Bruno Haible  <bruno@clisp.org>
68327
68328         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
68329         'maxlen'. Ensure only length + width bytes are allocated, not
68330         length + 1 + width.
68331
68332 2007-06-09  Bruno Haible  <bruno@clisp.org>
68333
68334         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
68335         (CHAR_T): Remove macro.
68336         (VASNPRINTF): Update.
68337
68338 2007-06-09  Bruno Haible  <bruno@clisp.org>
68339
68340         * MODULES.html.sh (Unicode string functions): Add the new modules.
68341
68342         * modules/uniconv/u32-conv-to-enc: New file.
68343         * lib/uniconv/u32-conv-to-enc.c: New file.
68344         * modules/uniconv/u32-conv-to-enc-tests: New file.
68345         * tests/uniconv/test-u32-conv-to-enc.c: New file.
68346
68347         * modules/uniconv/u16-conv-to-enc: New file.
68348         * lib/uniconv/u16-conv-to-enc.c: New file.
68349         * lib/uniconv/u-conv-to-enc.h: New file.
68350         * modules/uniconv/u16-conv-to-enc-tests: New file.
68351         * tests/uniconv/test-u16-conv-to-enc.c: New file.
68352
68353         * modules/uniconv/u8-conv-to-enc: New file.
68354         * lib/uniconv/u8-conv-to-enc.c: New file.
68355         * modules/uniconv/u8-conv-to-enc-tests: New file.
68356         * tests/uniconv/test-u8-conv-to-enc.c: New file.
68357
68358         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
68359         u32_conv_to_encoding): New declarations.
68360
68361 2007-06-09  Bruno Haible  <bruno@clisp.org>
68362
68363         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
68364
68365 2007-06-09  Bruno Haible  <bruno@clisp.org>
68366
68367         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
68368         * modules/malloca: Renamed from modules/allocsa, updated.
68369         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
68370         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
68371         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
68372         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
68373         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
68374         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
68375         * modules/xmalloca: Renamed from modules/xallocsa, updated.
68376         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
68377         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
68378         * modules/c-strcasestr (Depends-on): Update.
68379         * lib/c-strcasestr.c: Update.
68380         * modules/c-strstr (Depends-on): Update.
68381         * lib/c-strstr.c: Update.
68382         * modules/canonicalize-lgpl (Depends-on): Update.
68383         * lib/canonicalize-lgpl.c: Update.
68384         * modules/clean-temp (Depends-on): Update.
68385         * lib/clean-temp.c: Update.
68386         * modules/csharpcomp (Depends-on): Update.
68387         * lib/csharpcomp.c: Update.
68388         * modules/csharpexec (Depends-on): Update.
68389         * lib/csharpexec.c: Update.
68390         * modules/javacomp (Depends-on): Update.
68391         * lib/javacomp.c: Update.
68392         * modules/javaexec (Depends-on): Update.
68393         * lib/javaexec.c: Update.
68394         * modules/mbscasestr (Depends-on): Update.
68395         * lib/mbscasestr.c: Update.
68396         * modules/mbsstr (Depends-on): Update.
68397         * lib/mbsstr.c: Update.
68398         * modules/setenv (Depends-on): Update.
68399         * lib/setenv.c: Update.
68400         * modules/strcasestr (Depends-on): Update.
68401         * lib/strcasestr.c: Update.
68402         * modules/striconveha (Depends-on): Update.
68403         * lib/striconveha.c: Update.
68404         * modules/relocatable-prog-wrapper (Files): Update.
68405         * lib/relocwrapper.c: Update.
68406         * build-aux/install-reloc: Update.
68407         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
68408
68409 2007-06-08  Bruno Haible  <bruno@clisp.org>
68410
68411         Port to uClibc.
68412         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
68413         * lib/fpurge.c (fpurge): Likewise.
68414         * lib/freading.c (freading): Likewise.
68415         * lib/fseeko.c (rpl_fseeko): Likewise.
68416         * lib/fseterr.c (fseterr): Likewise.
68417         * lib/fwriting.c (fwriting): Likewise.
68418         * tests/test-fflush.c (main): Avoid a failure on uClibc.
68419
68420 2007-06-08  Bruno Haible  <bruno@clisp.org>
68421
68422         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
68423         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
68424         * modules/gettext (Files): Add m4/intlmacosx.m4.
68425
68426 2007-06-07  Bruno Haible  <bruno@clisp.org>
68427
68428         * modules/localename-tests: New file.
68429         * tests/test-localename.c: New file.
68430
68431         New module 'localename'.
68432         * lib/localename.h: New file.
68433         * lib/localename.c: New file, from GNU gettext.
68434         * m4/localename.m4: New file.
68435         * modules/localename: New file.
68436
68437 2007-06-07  Bruno Haible  <bruno@clisp.org>
68438
68439         Work around the lack of <wchar.h> on some builds of uClibc.
68440         * doc/headers/wchar.texi: Update.
68441         * lib/wchar_.h: Include <wchar.h> only if it exists.
68442         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
68443         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
68444         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
68445         doesn't exist.
68446         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
68447         * modules/mbfile (Depends-on): Add wchar.
68448         * modules/mbiter (Depends-on): Likewise.
68449         * modules/mbuiter (Depends-on): Likewise.
68450         Reported by Simon Josefsson.
68451
68452 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
68453
68454         Work around problem reported by Steven M. Schweda in
68455         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
68456         Tru64 5.1B with the Compaq compiler environment installed declares
68457         an 'isblank' function but does not define it in the C library.
68458         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
68459         * lib/regex_internal.h (isblank): Likewise.
68460         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
68461         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
68462
68463 2007-06-05  Bruno Haible  <bruno@clisp.org>
68464
68465         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
68466         ia64.
68467         * modules/printf-safe: New file.
68468         * modules/fprintf-posix (Depends-on): Add printf-safe.
68469         * modules/printf-posix (Depends-on): Likewise.
68470         * modules/snprintf-posix (Depends-on): Likewise.
68471         * modules/sprintf-posix (Depends-on): Likewise.
68472         * modules/vasnprintf-posix (Depends-on): Likewise.
68473         * modules/vasprintf-posix (Depends-on): Likewise.
68474         * modules/vfprintf-posix (Depends-on): Likewise.
68475         * modules/vprintf-posix (Depends-on): Likewise.
68476         * modules/vsnprintf-posix (Depends-on): Likewise.
68477         * modules/vsprintf-posix (Depends-on): Likewise.
68478         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
68479         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
68480         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
68481         "no" on i386, x86_64, ia64.
68482         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
68483         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
68484         on i386, x86_64, ia64.
68485         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
68486         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
68487         on i386, x86_64, ia64.
68488         * tests/test-vasnprintf-posix.c: Include float.h.
68489         (LDBL80_WORDS): New macro.
68490         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
68491         on i386, x86_64, ia64.
68492         * tests/test-vasprintf-posix.c: Include float.h.
68493         (LDBL80_WORDS): New macro.
68494         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
68495         on i386, x86_64, ia64.
68496         * tests/test-snprintf-posix.c: Include float.h.
68497         * tests/test-sprintf-posix.c: Likewise.
68498         * tests/test-vsnprintf-posix.c: Likewise.
68499         * tests/test-vsprintf-posix.c: Likewise.
68500
68501 2007-06-05  Bruno Haible  <bruno@clisp.org>
68502
68503         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
68504         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
68505         non-IEEE numbers on i386, x86_64, ia64.
68506         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
68507         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
68508         * tests/test-isnanl.h: Include float.h.
68509         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
68510
68511 2007-06-05  Bruno Haible  <bruno@clisp.org>
68512
68513         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
68514         also the %a / %A. Handle the %a / %A code before this extra handling.
68515
68516 2007-06-05  Bruno Haible  <bruno@clisp.org>
68517
68518         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
68519         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
68520
68521 2007-06-05  Bruno Haible  <bruno@clisp.org>
68522
68523         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
68524         typo in variable name.
68525
68526 2007-06-05  Eric Blake  <ebb9@byu.net>
68527
68528         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
68529         Reported by Simon Josefsson.
68530
68531 2007-06-04  Bruno Haible  <bruno@clisp.org>
68532
68533         Avoid test failures on some PowerPC platforms.
68534         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
68535         Define differently for PowerPC.
68536         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
68537         Reported by Gary V. Vaughan <gary@gnu.org>.
68538
68539 2007-06-02  Bruno Haible  <bruno@clisp.org>
68540
68541         Fix test-stdint failure on FreeBSD/ia64.
68542         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
68543         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
68544         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
68545         * doc/headers/stdint.texi: Update.
68546
68547 2007-06-01  Bruno Haible  <bruno@clisp.org>
68548
68549         * tests/test-binary-io.c (main): Pass a third argument to open().
68550         Reported by Gary V. Vaughan <gary@gnu.org>.
68551
68552 2007-06-01  Bruno Haible  <bruno@clisp.org>
68553
68554         * doc/functions/frexpl.texi: Update for mingw.
68555
68556 2007-06-01  Bruno Haible  <bruno@clisp.org>
68557
68558         * tests/test-lseek.c (main): Disable test of errno for invalid third
68559         argument.
68560         * doc/functions/lseek.texi: Update.
68561         Reported by Gary V. Vaughan <gary@gnu.org>.
68562
68563 2007-05-28  Bruno Haible  <bruno@clisp.org>
68564
68565         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
68566
68567 2007-05-31  Eric Blake  <ebb9@byu.net>
68568
68569         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
68570         cross compiling.
68571
68572 2007-05-30  Eric Blake  <ebb9@byu.net>
68573         and Bruno Haible  <bruno@clisp.org>
68574
68575         Work around mingw test failures exposed by m4-1.4.9b.
68576         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
68577         * tests/test-unistd.c: Disable uid_t and git_t tests for the
68578         moment.
68579
68580 2007-05-30  Bruno Haible  <bruno@clisp.org>
68581
68582         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
68583         assuming that they are closed. Needed on HP-UX 11.
68584
68585 2007-05-29  Bruno Haible  <bruno@clisp.org>
68586
68587         Fix a problem with #include_next.
68588         * lib/dirent_.h: Split the double-inclusion guard.
68589         * lib/fcntl_.h: Likewise.
68590         * lib/float_.h: Likewise.
68591         * lib/iconv_.h: Likewise.
68592         * lib/inttypes_.h: Likewise.
68593         * lib/locale_.h: Likewise.
68594         * lib/math_.h: Likewise.
68595         * lib/netinet_in_.h: Likewise.
68596         * lib/search_.h: Likewise.
68597         * lib/signal_.h: Likewise.
68598         * lib/stdint_.h: Likewise.
68599         * lib/stdio_.h: Likewise.
68600         * lib/stdlib_.h: Likewise.
68601         * lib/string_.h: Likewise.
68602         * lib/sys_select_.h: Likewise.
68603         * lib/sys_socket_.h: Likewise.
68604         * lib/sys_stat_.h: Likewise.
68605         * lib/sys_time_.h: Likewise.
68606         * lib/sysexits_.h: Likewise.
68607         * lib/time_.h: Likewise.
68608         * lib/unistd_.h: Likewise.
68609         * lib/wchar_.h: Likewise.
68610         * lib/wctype_.h: Likewise.
68611
68612 2007-05-29  Bruno Haible  <bruno@clisp.org>
68613
68614         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
68615         for the moment.
68616
68617 2007-05-29  Bruno Haible  <bruno@clisp.org>
68618
68619         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
68620         invocation.
68621         Reported by Eric Blake.
68622
68623 2007-05-29  Bruno Haible  <bruno@clisp.org>
68624
68625         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
68626         compiling case.
68627
68628 2007-05-29  Eric Blake  <ebb9@byu.net>
68629             Bruno Haible  <bruno@clisp.org>
68630
68631         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
68632         cross compiles.
68633
68634 2007-05-28  Eric Blake  <ebb9@byu.net>
68635
68636         * modules/closein-tests (test_closein_LDADD): Support test on
68637         cygwin with libtool.
68638
68639 2007-05-28  Bruno Haible  <bruno@clisp.org>
68640
68641         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
68642         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
68643         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
68644         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
68645         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
68646         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
68647         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
68648         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
68649         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
68650
68651 2007-05-28  Eric Blake  <ebb9@byu.net>
68652
68653         Unconditionally include <config.h> in unit tests.
68654         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
68655         * tests/test-allocsa.c, tests/test-arcfour.c,
68656         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
68657         tests/test-array_list.c, tests/test-array_oset.c,
68658         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
68659         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
68660         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
68661         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
68662         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
68663         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
68664         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
68665         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
68666         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
68667         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
68668         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
68669         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
68670         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
68671         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
68672         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
68673         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
68674         test-md5.c, test-memmem.c, test-printf-posix.c,
68675         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
68676         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
68677         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
68678         test-strcasestr.c, test-striconv.c, test-striconveh.c,
68679         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
68680         test-vasnprintf-posix2.c, test-vasnprintf.c,
68681         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
68682         test-vfprintf-posix.c, test-vprintf-posix.c,
68683         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
68684         test-xvasprintf.c: Likewise.
68685
68686 2007-05-28  Bruno Haible  <bruno@clisp.org>
68687
68688         * gnulib-tool (func_import): Remember the --with-tests command-line
68689         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
68690         Reported by Eric Blake.
68691
68692 2007-05-28  Bruno Haible  <bruno@clisp.org>
68693
68694         * modules/ftell-tests: New file.
68695         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
68696         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
68697
68698         * lib/ftell.c: New file.
68699         * modules/ftell: New file.
68700         * m4/ftell.m4: New file.
68701         * doc/functions/ftell.texi: Update.
68702         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
68703         REPLACE_FTELL.
68704         * lib/stdio_.h (rpl_ftell): New declaration.
68705         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
68706         REPLACE_FTELL.
68707
68708 2007-05-28  Eric Blake  <ebb9@byu.net>
68709
68710         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
68711
68712 2007-05-28  Bruno Haible  <bruno@clisp.org>
68713
68714         * modules/fseek-tests: New file.
68715         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
68716         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
68717
68718         * lib/fseek.c: New file.
68719         * modules/fseek: New file.
68720         * m4/fseek.m4: New file.
68721         * doc/functions/fseek.texi: Update.
68722         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
68723         REPLACE_FSEEK.
68724         * lib/stdio_.h (rpl_fseek): New declaration.
68725         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
68726         REPLACE_FSEEK.
68727
68728 2007-05-28  Bruno Haible  <bruno@clisp.org>
68729
68730         * lib/stdio_.h (fflush): More comments.
68731
68732 2007-05-28  Bruno Haible  <bruno@clisp.org>
68733
68734         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
68735         runtime test.
68736
68737 2007-05-28  Eric Blake  <ebb9@byu.net>
68738
68739         Improve lseek module.
68740         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
68741         * lib/unistd_.h (lseek): Scale back link warning message.
68742         * tests/test-lseek.c: Beef up test.
68743         * tests/test-lseek.sh: Exercise more facets of lseek.
68744         Reported by Bruno Haible.
68745
68746 2007-05-28  Bruno Haible  <bruno@clisp.org>
68747
68748         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
68749         to define.
68750
68751 2007-05-27  Bruno Haible  <bruno@clisp.org>
68752
68753         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
68754
68755 2007-05-27  Bruno Haible  <bruno@clisp.org>
68756
68757         * modules/openmp: New file.
68758         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
68759         Noah Misch.
68760
68761 2007-05-26  Bruno Haible  <bruno@clisp.org>
68762
68763         * modules/chdir-long (Depends-on): Add fchdir.
68764         * modules/chdir-safer (Depends-on): Likewise.
68765         * modules/fts (Depends-on): Likewise.
68766         * modules/fts-lgpl (Depends-on): Likewise.
68767         * modules/openat (Depends-on): Likewise.
68768         * modules/savewd (Depends-on): Likewise.
68769
68770 2007-05-24  Eric Blake  <ebb9@byu.net>
68771
68772         Fix lseek on mingw.
68773         * modules/lseek: New module.
68774         * m4/lseek.m4: New file.
68775         * lib/lseek.c: New file.
68776         * modules/lseek-tests: New file.
68777         * tests/test-lseek.c: New file.
68778         * tests/test-lseek.sh: New file.
68779         * MODULES.html.sh: Document lseek module.
68780         * modules/fflush (Depends-on): Add lseek, fseeko.
68781         * modules/fseeko (Depends-on): Likewise.
68782         * modules/ftello (Depends-on): Likewise.
68783         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
68784         broken.
68785         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
68786         broken.
68787         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
68788         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
68789         * lib/ftello.c (rpl_ftello): Likewise.
68790         * tests/test-fseeko.c (main): Test this.
68791         * tests/test-fseeko.sh: Likewise.
68792         * tests/test-ftello.c (main): Likewise.
68793         * tests/test-ftello.sh: Likewise.
68794         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
68795         implies replacing fseek.
68796         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
68797         HAVE_FTELLO.
68798         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
68799         * modules/unistd (Makefile.am): Likewise.
68800         * lib/unistd_.h (lseek): Declare a replacement.
68801         * doc/functions/lseek.texi (lseek): Document this fix.
68802         * doc/functions/fseek.texi (fseek): Likewise.
68803         * doc/functions/ftell.texi (ftell): Likewise.
68804
68805 2007-05-24  Bruno Haible  <bruno@clisp.org>
68806
68807         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
68808         in the printed representation of a NaN.
68809         * tests/test-vasprintf-posix.c (test_function): Likewise.
68810         * tests/test-snprintf-posix.h (test_function): Likewise.
68811         * tests/test-sprintf-posix.h (test_function): Likewise.
68812         Reported by Eric Blake.
68813
68814 2007-05-23  Eric Blake  <ebb9@byu.net>
68815
68816         Fix fseeko/ftello on cygwin 1.5.24.
68817         * doc/functions/fseeko.texi (fseeko): Document the fix.
68818         * doc/functions/ftello.texi (ftello): Document the fix.
68819         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
68820         * doc/functions/stdout.text (stdout): New file.
68821         * doc/functions/stderr.text (stderr): New file.
68822         * doc/gnulib.texi (Function Substitutes): Use new files.
68823         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
68824         prior to 1.7.0.
68825         * tests/test-ftello.c (main): Likewise for ftello.
68826         * tests/test-fseeko.sh: New file.
68827         * tests/test-ftello.sh: New file.
68828         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
68829         with seekable stdin.
68830         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
68831         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
68832         (gl_REPLACE_FSEEKO): New macro.
68833         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
68834         * modules/fseeko (Files): Distribute fseeko.c.
68835         * modules/ftello (Files): Distribute ftello.c.
68836         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
68837         mode.
68838         * lib/ftello.c (rpl_ftello): New file.
68839         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
68840         fseeko, ftello.
68841         (gl_STDIN_LARGE_OFFSET): New macro.
68842         * modules/stdio (Makefile.am): Perform the replacement.
68843         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
68844
68845 2007-05-23  Bruno Haible  <bruno@clisp.org>
68846
68847         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
68848         GNULIB_POSIXCHECK is defined.
68849
68850 2007-05-21  Bruno Haible  <bruno@clisp.org>
68851
68852         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
68853         Check also the output for NaN arguments. When cross-compiling, guess
68854         no on IRIX.
68855         * lib/vasnprintf.c: Update comments.
68856         * tests/test-vasnprintf-posix.c (strisnan): New function.
68857         (test_function): Use it.
68858         * tests/test-vasprintf-posix.c (strisnan): New function.
68859         (test_function): Use it.
68860         * tests/test-snprintf-posix.h (strisnan): New function.
68861         (test_function): Use it.
68862         * tests/test-sprintf-posix.h (strisnan): New function.
68863         (test_function): Use it.
68864         Reported by Eric Blake.
68865
68866 2007-05-20  Bruno Haible  <bruno@clisp.org>
68867
68868         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
68869         numbers that fails on BeOS.
68870         * doc/functions/frexpl.texi: Update.
68871
68872 2007-05-20  Jim Meyering  <jim@meyering.net>
68873
68874         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
68875         forced upon us by glibc-2.6.
68876
68877 2007-05-20  Bruno Haible  <bruno@clisp.org>
68878
68879         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
68880         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
68881         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
68882         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
68883         NEED_PRINTF_INFINITE.
68884         (is_infinitel): New function.
68885         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
68886         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
68887         gl_PREREQ_VASNPRINTF_INFINITE.
68888         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
68889         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
68890         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
68891         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
68892         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
68893         gl_PREREQ_VASNPRINTF_INFINITE.
68894         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
68895         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
68896         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
68897         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
68898         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
68899         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
68900         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
68901         * doc/functions/fprintf.texi: Update.
68902         * doc/functions/printf.texi: Update.
68903         * doc/functions/snprintf.texi: Update.
68904         * doc/functions/sprintf.texi: Update.
68905         * doc/functions/vfprintf.texi: Update.
68906         * doc/functions/vprintf.texi: Update.
68907         * doc/functions/vsnprintf.texi: Update.
68908         * doc/functions/vsprintf.texi: Update.
68909
68910 2007-05-20  Bruno Haible  <bruno@clisp.org>
68911
68912         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
68913         was not found in libc.
68914         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
68915
68916 2007-05-20  Bruno Haible  <bruno@clisp.org>
68917
68918         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
68919         printed as "-nan" instead of "nan".
68920         * tests/test-vasprintf-posix.c (test_function): Likewise.
68921         * tests/test-snprintf-posix.h (test_function): Likewise.
68922         * tests/test-sprintf-posix.h (test_function): Likewise.
68923         Needed for HP-UX 11.
68924
68925 2007-05-20  Jim Meyering  <jim@meyering.net>
68926
68927         Fix buggy test for the fchownat-deref bug.
68928         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
68929         symlink required for the run-test.  Without it, this test would
68930         always declare that fchownat doesn't work, and client code would
68931         unnecessarily use the replacement function with fixed libc.
68932         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
68933         Reported by Greg Schafer.
68934
68935 2007-05-19  Bruno Haible  <bruno@clisp.org>
68936
68937         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
68938         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
68939         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
68940         Needed for IRIX 6.5 and Solaris 2.5.1.
68941
68942 2007-05-19  Bruno Haible  <bruno@clisp.org>
68943
68944         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
68945         (test_function): Skip tests involving -0.0 on platforms where
68946         -0.0 = 0.0.
68947         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
68948         (test_function): Skip tests involving -0.0 on platforms where
68949         -0.0 = 0.0.
68950         * tests/test-snprintf-posix.h (have_minus_zero): New function.
68951         (test_function): Skip tests involving -0.0 on platforms where
68952         -0.0 = 0.0.
68953         * tests/test-sprintf-posix.h (have_minus_zero): New function.
68954         (test_function): Skip tests involving -0.0 on platforms where
68955         -0.0 = 0.0.
68956         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
68957         tests.
68958         * tests/test-printf-posix.h (test_function): Likewise.
68959         * tests/test-printf-posix.output: Remove all -0.0 related results.
68960         Needed for IRIX 6.5.
68961
68962 2007-05-19  Bruno Haible  <bruno@clisp.org>
68963
68964         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
68965         printed as "nan0x7fffffff" instead of "nan".
68966         * tests/test-vasprintf-posix.c (test_function): Likewise.
68967         * tests/test-snprintf-posix.h (test_function): Likewise.
68968         * tests/test-sprintf-posix.h (test_function): Likewise.
68969         * tests/test-fprintf-posix.h (NaN): Remove macro.
68970         (test_function): Remove all NaN related tests.
68971         * tests/test-printf-posix.h (NaN): Remove macro.
68972         (test_function): Remove all NaN related tests.
68973         * tests/test-printf-posix.output: Remove all NaN related results.
68974         Needed for IRIX 6.5.
68975
68976 2007-05-19  Bruno Haible  <bruno@clisp.org>
68977
68978         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
68979         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
68980
68981 2007-05-19  Bruno Haible  <bruno@clisp.org>
68982
68983         * lib/float_.h: New file.
68984         * m4/float_h.m4: New file.
68985         * modules/float: New file.
68986         * modules/isnanl (Dependencies): Add float.
68987         * modules/isnanl-nolibm (Dependencies): Likewise.
68988         * modules/mathl (Dependencies): Likewise.
68989         * modules/printf-frexpl (Dependencies): Likewise.
68990         * modules/signbit (Dependencies): Likewise.
68991         * modules/vasnprintf (Dependencies): Likewise.
68992         * doc/headers/float.texi: Update.
68993
68994 2007-05-19  Jim Meyering  <jim@meyering.net>
68995
68996         * lib/utimens.c (gl_futimens): Rename from futimens,
68997         now that glibc-2.6 declares futimens.
68998         * lib/utimens.h: Likewise.
68999
69000 2007-05-19  Bruno Haible  <bruno@clisp.org>
69001
69002         Avoid test failures on mingw.
69003         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
69004         * tests/test-printf-posix.sh: Likewise.
69005         * tests/test-vfprintf-posix.sh: Likewise.
69006         * tests/test-vprintf-posix.sh: Likewise.
69007
69008 2007-05-19  Bruno Haible  <bruno@clisp.org>
69009
69010         Fix *printf result for NaN, Inf, -0.0 on mingw.
69011         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
69012         * lib/vasnprintf.c: Include math.h and isnan.h.
69013         (is_infinite_or_zero): New function.
69014         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
69015         values in the %f, %F, %e, %E, %g, %G directives.
69016         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
69017         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
69018         gl_PRINTF_INFINITE and test its result. Invoke
69019         gl_PREREQ_VASNPRINTF_INFINITE.
69020         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
69021         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69022         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69023         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69024         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
69025         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69026         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69027         * doc/functions/fprintf.texi: Update.
69028         * doc/functions/printf.texi: Update.
69029         * doc/functions/snprintf.texi: Update.
69030         * doc/functions/sprintf.texi: Update.
69031         * doc/functions/vfprintf.texi: Update.
69032         * doc/functions/vprintf.texi: Update.
69033         * doc/functions/vsnprintf.texi: Update.
69034         * doc/functions/vsprintf.texi: Update.
69035
69036 2007-05-19  Bruno Haible  <bruno@clisp.org>
69037
69038         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
69039         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
69040         Instead of multiplying with 10^k, set extra_zeroes to k.
69041         (scale10_round_long_double): Remove function.
69042
69043 2007-05-18  Bruno Haible  <bruno@clisp.org>
69044
69045         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
69046         introduced on 2007-05-06.
69047
69048 2007-05-18  Bruno Haible  <bruno@clisp.org>
69049
69050         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
69051         %g directives.
69052         * tests/test-vasprintf-posix.c (test_function): Likewise.
69053         * tests/test-snprintf-posix.h (test_function): Likewise.
69054         * tests/test-sprintf-posix.h (test_function): Likewise.
69055
69056 2007-05-18  Bruno Haible  <bruno@clisp.org>
69057
69058         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
69059         (strmatch): New function.
69060         (test_function): Test the %f directive on numbers of various exponents.
69061         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
69062         (strmatch): New function.
69063         (test_function): Test the %f directive on numbers of various exponents.
69064         * tests/test-snprintf-posix.h (strmatch): New function.
69065         (test_function): Test the %f directive on numbers of various exponents.
69066         * tests/test-sprintf-posix.h (strmatch): New function.
69067         (test_function): Test the %f directive on numbers of various exponents.
69068         * tests/test-snprintf-posix.c (SIZEOF): New macro.
69069         * tests/test-sprintf-posix.c (SIZEOF): New macro.
69070         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
69071         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
69072
69073 2007-05-18  Bruno Haible  <bruno@clisp.org>
69074
69075         Add support for 'long double' number output.
69076         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
69077         * lib/vasnprintf.c: Include math.h and float+.h.
69078         (mp_limb_t): New type.
69079         (GMP_LIMB_BITS): New macro.
69080         (mp_twolimb_t): New type.
69081         (GMP_TWOLIMB_BITS): New macro.
69082         (mpn_t): New type.
69083         (multiply, divide, convert_to_decimal, decode_long_double,
69084         scale10_round_long_double, scale10_round_decimal_long_double,
69085         floorlog10l): New functions.
69086         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
69087         for the %f, %F, %e, %E, %g, %G directives.
69088         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
69089         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
69090         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
69091         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
69092         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
69093         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69094         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69095         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69096         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
69097         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69098         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69099         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
69100         * modules/snprintf-posix (Depends-on): Likewise.
69101         * modules/sprintf-posix (Depends-on): Likewise.
69102         * modules/vasnprintf-posix (Depends-on): Likewise.
69103         * modules/vasprintf-posix (Depends-on): Likewise.
69104         * modules/vfprintf-posix (Depends-on): Likewise.
69105         * modules/vsnprintf-posix (Depends-on): Likewise.
69106         * modules/vsprintf-posix (Depends-on): Likewise.
69107         * modules/vasnprintf (Files): Add lib/float+.h.
69108         * doc/functions/fprintf.texi: Update.
69109         * doc/functions/printf.texi: Update.
69110         * doc/functions/snprintf.texi: Update.
69111         * doc/functions/sprintf.texi: Update.
69112         * doc/functions/vfprintf.texi: Update.
69113         * doc/functions/vprintf.texi: Update.
69114         * doc/functions/vsnprintf.texi: Update.
69115         * doc/functions/vsprintf.texi: Update.
69116
69117 2007-05-18  Bruno Haible  <bruno@clisp.org>
69118
69119         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
69120
69121 2007-05-18  Bruno Haible  <bruno@clisp.org>
69122
69123         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
69124         for printing 64-bit integers. Needed for mingw.
69125
69126 2007-05-18  Bruno Haible  <bruno@clisp.org>
69127
69128         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
69129         gl_FUNC_FREXPL_WORKS.
69130         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
69131
69132 2007-05-18  Bruno Haible  <bruno@clisp.org>
69133
69134         * modules/frexpl-nolibm-tests: New file.
69135
69136         * modules/frexpl-nolibm: New file.
69137         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
69138
69139 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
69140
69141         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
69142         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
69143         GCC 4.2, which otherwise issues a lot of warnings.
69144         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
69145         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
69146         Likewise.
69147         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
69148         * modules/iconv_open (iconv.h): Likewise.
69149         * modules/locale (locale.h): Likewise.
69150         * modules/netinet_in (netinet/in.h): Likewise.
69151         * modules/sys_select (sys_select.h): Likewise.
69152         * modules/sys_socket (sys/socket.h): Likewise.
69153         * modules/sys_stat (sys/stat.h): Likewise.
69154         * modules/sysexits (sysexits.h): Likewise.
69155         * modules/unistd (unistd.h): Likewise.
69156
69157 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69158
69159         * modules/closein-tests (Makefile.am): Distribute
69160         `test-closein.sh'.
69161
69162 2007-05-17  Bruno Haible  <bruno@clisp.org>
69163
69164         * tests/test-printf-posix.output: Renamed from
69165         tests/test-fprintf-posix.out.
69166         * modules/fprintf-posix-tests: Update.
69167         * modules/printf-posix-tests: Update.
69168         * modules/vfprintf-posix-tests: Update.
69169         * modules/vprintf-posix-tests: Update.
69170         * tests/test-fprintf-posix.sh: Update.
69171         * tests/test-printf-posix.sh: Update.
69172         * tests/test-vfprintf-posix.sh: Update.
69173         * tests/test-vprintf-posix.sh: Update.
69174         Reported by Ralf Wildenhues.
69175
69176 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
69177
69178         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
69179         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
69180         GCC 4.2, which otherwise issues a lot of warnings.
69181         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
69182         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
69183         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
69184         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
69185         it should no longer be needed.
69186         * lib/string_.h: Likewise.
69187         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
69188         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
69189         * modules/inttypes (inttypes.h): Likewise.
69190         * modules/math (math.h): Likewise.
69191         * modules/search (search.h): Likewise.
69192         * modules/signal (signal.h): Likewise.
69193         * modules/stdint (stdint.h): Likewise.
69194         * modules/stdio (stdio.h): Likewise.
69195         * modules/stdlib (stdlib.h): Likewise.
69196         * modules/string (string.h): Likewise.
69197         * modules/sys_time (sys/time.h): Likewise.
69198         * modules/time (time.h): Likewise.
69199         * modules/wchar (wchar.h): Likewise.
69200         * modules/wctype (wtype.h): Likewise.
69201
69202 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
69203
69204         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
69205
69206 2007-05-13  Bruno Haible  <bruno@clisp.org>
69207
69208         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
69209         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
69210         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
69211         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
69212         (gl_PREREQ_STRTOK_R): Don't require it here.
69213
69214 2007-05-13  Bruno Haible  <bruno@clisp.org>
69215
69216         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
69217         when used in C++ mode.
69218
69219 2007-05-12  Bruno Haible  <bruno@clisp.org>
69220
69221         * lib/linebuffer.h: Tweak doc.
69222         * lib/linebuffer.c: Likewise.
69223
69224 2007-05-12  James Youngman  <jay@gnu.org>
69225
69226         * lib/linebuffer.c (readlinebuffer_delim): New function,
69227         like readlinebuffer, but use a caller-specified delimiter.
69228         (readlinebuffer): Just call readlinebuffer_delim with '\n'
69229         as the delimiter.
69230         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
69231
69232 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
69233
69234         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
69235         * modules/openat (Files): Remove openat-die.c.
69236         (Depends-on): Add openat-die.
69237         * modules/openat-die: New module.
69238
69239 2007-05-06  Bruno Haible  <bruno@clisp.org>
69240
69241         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
69242         Update with info about Cygwin.
69243         * doc/functions/fprintf.texi: Update.
69244         * doc/functions/printf.texi: Update.
69245         * doc/functions/snprintf.texi: Update.
69246         * doc/functions/sprintf.texi: Update.
69247         * doc/functions/vfprintf.texi: Update.
69248         * doc/functions/vprintf.texi: Update.
69249         * doc/functions/vsnprintf.texi: Update.
69250         * doc/functions/vsprintf.texi: Update.
69251         Reported by Eric Blake.
69252
69253 2007-05-06  Bruno Haible  <bruno@clisp.org>
69254
69255         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
69256         padding ourselves for the floating-point directives.
69257         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
69258         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
69259         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
69260         gl_PRINTF_FLAG_ZERO and test its result. Invoke
69261         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
69262         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69263         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
69264         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69265         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69266         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
69267         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69268         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69269         * tests/test-snprintf-posix.h (test_function): Also check the width
69270         and some flags in the %f directive.
69271         * tests/test-sprintf-posix.h (test_function): Likewise.
69272         * tests/test-vasnprintf-posix.c (test_function): Likewise.
69273         * tests/test-vasprintf-posix.c (test_function): Likewise.
69274         * doc/functions/fprintf.texi: Update.
69275         * doc/functions/printf.texi: Update.
69276         * doc/functions/snprintf.texi: Update.
69277         * doc/functions/sprintf.texi: Update.
69278         * doc/functions/vfprintf.texi: Update.
69279         * doc/functions/vprintf.texi: Update.
69280         * doc/functions/vsnprintf.texi: Update.
69281         * doc/functions/vsprintf.texi: Update.
69282
69283 2007-05-06  Bruno Haible  <bruno@clisp.org>
69284
69285         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
69286         pass the ' flag character to sprintf or snprintf.
69287         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
69288         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
69289         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
69290         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
69291         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
69292         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69293         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
69294         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69295         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69296         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
69297         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69298         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69299         * tests/test-snprintf-posix.h (test_function): Also check the grouping
69300         flag.
69301         * tests/test-sprintf-posix.h (test_function): Likewise.
69302         * tests/test-vasnprintf-posix.c (test_function): Likewise.
69303         * tests/test-vasprintf-posix.c (test_function): Likewise.
69304         * doc/functions/fprintf.texi: Update.
69305         * doc/functions/printf.texi: Update.
69306         * doc/functions/snprintf.texi: Update.
69307         * doc/functions/sprintf.texi: Update.
69308         * doc/functions/vfprintf.texi: Update.
69309         * doc/functions/vprintf.texi: Update.
69310         * doc/functions/vsnprintf.texi: Update.
69311         * doc/functions/vsprintf.texi: Update.
69312
69313 2007-05-01  Bruno Haible  <bruno@clisp.org>
69314
69315         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
69316
69317 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
69318
69319         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
69320         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
69321
69322 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
69323
69324         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
69325         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
69326         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
69327
69328 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
69329
69330         * lib/argp-help.c (struct hol_entry): New member `ord'.
69331         (HOL_ENTRY_PTRCMP): Use ord for comparison
69332         (hol_sort): Initialize ord.
69333
69334 2007-05-01  Bruno Haible  <bruno@clisp.org>
69335
69336         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
69337         Reported by Eric Blake.
69338         * doc/gnulib.texi (Function Substitutes): Update.
69339
69340 2007-05-01  Bruno Haible  <bruno@clisp.org>
69341
69342         * doc/functions.texi: Remove file, now redundant through
69343         doc/functions/*.texi.
69344
69345 2007-05-01  Bruno Haible  <bruno@clisp.org>
69346
69347         * modules/argp (Depends-on): Add sleep.
69348
69349 2007-05-01  Bruno Haible  <bruno@clisp.org>
69350
69351         * modules/sleep-tests: New file.
69352         * tests/test-sleep.c: New file.
69353
69354         * modules/sleep: New file.
69355         * lib/sleep.c: New file.
69356         * m4/sleep.m4: New file.
69357         * lib/unistd_.h (sleep): New declaration.
69358         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
69359         HAVE_SLEEP.
69360         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
69361         * doc/functions/sleep.texi: Document the sleep module.
69362
69363 2007-05-01  Bruno Haible  <bruno@clisp.org>
69364
69365         * lib/sigprocmask.h: Remove file.
69366         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
69367         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
69368         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
69369         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
69370         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
69371         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
69372         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
69373         HAVE_SIGSET_T as a shell variable.
69374         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
69375         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
69376         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
69377         (Depends-on): Add signal. Remove verify.
69378         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
69379         (Include): Mention <signal.h> instead of sigprocmask.h.
69380         * NEWS: Mention the change.
69381         * lib/fatal-signal.c: Don't include sigprocmask.h.
69382
69383 2007-05-01  Bruno Haible  <bruno@clisp.org>
69384
69385         * modules/signal: New file.
69386         * lib/signal_.h: New file.
69387         * m4/signal_h.m4: New file.
69388
69389 2007-05-01  Bruno Haible  <bruno@clisp.org>
69390
69391         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
69392         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
69393         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
69394         HAVE_WCTYPE_CTMP_BUG into wctype.h.
69395
69396 2007-05-01  Bruno Haible  <bruno@clisp.org>
69397
69398         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
69399         configure time.
69400         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
69401         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
69402         * modules/sys_stat (Makefile.am): Substitute their values into
69403         sys/stat.h.
69404
69405 2007-05-01  Bruno Haible  <bruno@clisp.org>
69406
69407         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
69408         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
69409         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
69410
69411 2007-05-01  Bruno Haible  <bruno@clisp.org>
69412
69413         * doc/header/assert.texi: Undo last change: don't mention the gnulib
69414         'assert' module here.
69415
69416 2007-05-01  Bruno Haible  <bruno@clisp.org>
69417
69418         * doc/functions/*.texi: New files.
69419         * doc/functions/google-ranking.txt: New file.
69420         * doc/gnulib.texi (Function Substitutes): New chapter.
69421         (ctime, inet_ntoa): Remove sections.
69422         * doc/ctime.texi: Remove file.
69423         * doc/inet_ntoa.texi: Remove file.
69424         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
69425         dependencies.
69426         (%.info): New rule, specifying a --reference-limit.
69427
69428 2007-05-01  Bruno Haible  <bruno@clisp.org>
69429
69430         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
69431
69432 2007-05-01  Bruno Haible  <bruno@clisp.org>
69433
69434         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
69435         the portability of 'mkdir' to mingw systems.
69436
69437 2007-05-01  Bruno Haible  <bruno@clisp.org>
69438
69439         * doc/headers/google-ranking.txt: New file.
69440
69441 2007-04-30  Eric Blake  <ebb9@byu.net>
69442
69443         Prefer fseeko to fseek.
69444         * modules/getpass (Depends-on): Add fseeko.
69445         * lib/getpass.c (getpass): Use fseeko, not fseek.
69446
69447 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
69448
69449         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
69450         assumes the sorting is stable, while most qsort implementations
69451         are not.  Use argument addresses to ensure they never compare as
69452         equal.
69453
69454         * tests/test-argp-2.sh (usage-indent test): Fix output
69455         (func_compare): Restore diff options
69456         * tests/test-argp.c: Restore #include "progname.h"
69457
69458 2007-04-29  Bruno Haible  <bruno@clisp.org>
69459
69460         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
69461         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
69462         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
69463         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69464         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
69465         (configure.ac): Define CHECK_SNPRINTF_POSIX.
69466         (TESTS, check_PROGRAMS): Add test-snprintf.
69467         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
69468         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
69469         (TESTS, check_PROGRAMS): Add test-vsnprintf.
69470         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
69471         assertions that fail on HP-UX, OSF/1, or IRIX.
69472         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
69473
69474 2007-04-29  Bruno Haible  <bruno@clisp.org>
69475
69476         * MODULES.html.sh (posix_functions): Remove 'contents'.
69477
69478 2007-04-29  Karl Berry  <karl@gnu.org>
69479
69480         * config/srclist.txt (gendocs_template_min): new entry.
69481
69482 2007-04-29  Bruno Haible  <bruno@clisp.org>
69483
69484         Work around fpurge bug on BSD systems.
69485         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
69486         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
69487         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
69488         fpurge to rpl_fpurge if the system already has this function.
69489         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
69490         the case where the system already has this function. Correct invariants
69491         on BSD systems.
69492         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
69493         BSD systems.
69494
69495 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
69496
69497         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
69498         proposed by Sven Verdoolaege.
69499
69500         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
69501         options.
69502         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
69503         (usage and help tests): Update
69504
69505 2007-04-29  Bruno Haible  <bruno@clisp.org>
69506
69507         * tests/test-fflush.c (main): Use a file of size 17, not 10.
69508         Print more information in case of failure. Disable a test on BeOS.
69509
69510 2007-04-29  Bruno Haible  <bruno@clisp.org>
69511
69512         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
69513         This helps debugging on systems on which no gdb is available.
69514
69515 2007-04-29  Bruno Haible  <bruno@clisp.org>
69516
69517         * lib/freading.h: Improve comments.
69518         * lib/fwriting.h: Likewise.
69519         * tests/test-freading.c (main): Don't check freading immediately after
69520         repositioning. Needed for glibc.
69521
69522 2007-04-29  Bruno Haible  <bruno@clisp.org>
69523
69524         * lib/freading.c (freading): Trivial simplification.
69525
69526 2007-04-28  Bruno Haible  <bruno@clisp.org>
69527
69528         * tests/test-fwriting.c (main): Also test the interaction between
69529         fflush and fwriting.
69530         * modules/fwriting-tests (Depends-on): Add fflush.
69531
69532         * tests/test-freading.c (main): Also test the interaction between
69533         fflush and freading.
69534         * modules/freading-tests (Depends-on): Add fflush.
69535
69536 2007-04-28  Bruno Haible  <bruno@clisp.org>
69537
69538         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
69539         fseeko and ftello.
69540         Suggested by Eric Blake.
69541
69542 2007-04-28  Jim Meyering  <jim@meyering.net>
69543
69544         Avoid false-negative in gl_STDINT_H's C99 conformance test.
69545         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
69546         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
69547
69548 2007-04-27  Eric Blake  <ebb9@byu.net>
69549
69550         * doc/headers/assert.texi (assert.h): Document assert module use.
69551
69552 2007-04-27  Bruno Haible  <bruno@clisp.org>
69553
69554         * doc/headers/*.texi: New files.
69555         * doc/gnulib.texi (Header File Substitutes): New chapter.
69556         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
69557         dependencies.
69558         (standards.info ,standards.html, standards.dvi): Update dependencies.
69559         (mostlyclean, clean): New targets.
69560
69561 2007-04-27  Bruno Haible  <bruno@clisp.org>
69562
69563         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
69564         * modules/sysexits (Files, Makefile.am): Update.
69565
69566         * lib/sys_socket_.h: Renamed from lib/socket_.h.
69567         * modules/sys_socket (Files, Makefile.am): Update.
69568
69569         * lib/sys_stat_.h: Renamed from lib/stat_.h.
69570         * modules/sys_stat (Files, Makefile.am): Update.
69571
69572 2007-04-27  Eric Blake  <ebb9@byu.net>
69573
69574         * lib/freading.h: Improve comments.
69575         * lib/fwriting.h: Likewise.
69576         * lib/fflush.c: Likewise.
69577
69578         Fix closein for mingw.
69579         * modules/closein-tests: Add tests for closein.
69580         * tests/test-closein.c: New file.
69581         * tests/test-closein.sh: Likewise.
69582         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
69583         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
69584
69585 2007-04-27  Bruno Haible  <bruno@clisp.org>
69586
69587         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
69588         version is < 6.
69589         * lib/math_.h [__DECC]: Likewise.
69590         * lib/stdio_.h [__DECC]: Likewise.
69591         * lib/stdlib_.h [__DECC]: Likewise.
69592         * lib/string_.h [__DECC]: Likewise.
69593         * lib/time_.h [__DECC]: Likewise.
69594         * lib/wchar_.h [__DECC]: Likewise.
69595         * lib/wctype_.h [__DECC]: Likewise.
69596
69597 2007-04-27  Bruno Haible  <bruno@clisp.org>
69598
69599         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
69600
69601 2007-04-27  Bruno Haible  <bruno@clisp.org>
69602
69603         * lib/fflush.c: Add comments.
69604         * modules/fpurge-tests (Depends-on): Add fflush.
69605         * modules/freadable-tests (Depends-on): Likewise.
69606         * modules/fwritable-tests (Depends-on): Likewise.
69607
69608 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
69609
69610         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
69611         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
69612         Report by Bruno Haible <bruno@clisp.org>.
69613
69614 2007-04-26  Eric Blake  <ebb9@byu.net>
69615
69616         Fix fflush on mingw.
69617         * modules/fflush (Depends-on): Add freading.
69618         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
69619         but unread data.
69620
69621 2007-04-26  Eric Blake  <ebb9@byu.net>
69622         and Bruno Haible  <bruno@clisp.org>
69623
69624         Implement freading and fwriting.
69625         * lib/freading.c: New file.
69626         * lib/freading.h: Likewise.
69627         * m4/freading.m4: Likewise.
69628         * modules/freading: Likewise.
69629         * modules/freading-tests: Likewise.
69630         * tests/test-freading.c: Likewise.
69631         * lib/fwriting.c: New file.
69632         * lib/fwriting.h: Likewise.
69633         * m4/fwriting.m4: Likewise.
69634         * modules/fwriting: Likewise.
69635         * modules/fwriting-tests: Likewise.
69636         * tests/test-fwriting.c: Likewise.
69637         * MODULES.html.sh (File stream based Input/Output): Mention them.
69638
69639 2007-04-26  Bruno Haible  <bruno@clisp.org>
69640
69641         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
69642         'long' when we assume it.
69643         Suggested by Eric Blake.
69644
69645 2007-04-26  Bruno Haible  <bruno@clisp.org>
69646
69647         Ensure fseeko, ftello are declared on glibc systems.
69648         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
69649         * modules/fseeko (configure.ac-early): Likewise.
69650         * modules/ftello (configure.ac-early): Likewise.
69651         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
69652         AC_FUNC_FSEEKO for this.
69653         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
69654         (gl_CHECK_FSEEKO): Remove macro.
69655
69656 2007-04-26  Bruno Haible  <bruno@clisp.org>
69657
69658         * tests/test-fflush.c (main): Also check the ftell result after
69659         fflush and fseek/fseeko.
69660         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
69661         file descriptor position cache in the stream.
69662         * lib/fseeko.c (rpl_fseeko): Likewise.
69663
69664 2007-04-26  Bruno Haible  <bruno@clisp.org>
69665
69666         * modules/fflush-tests (Depends-on): Add fseeko.
69667
69668 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
69669             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69670
69671         * lib/argz_.h: ensure error_t definition is obtained in same
69672         mechanism system argz.h would have.
69673         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
69674         argz facilities are known bad.  Err on the side of caution if
69675         cross-compiling.
69676
69677 2007-04-25  Eric Blake  <ebb9@byu.net>
69678
69679         * lib/fpurge.c (includes): Use stdlib.h for free.
69680         * tests/test-fflush.c (main): Also test fflush-fseeko.
69681
69682 2007-04-25  Bruno Haible  <bruno@clisp.org>
69683
69684         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
69685         * lib/fseeko.c: New file.
69686         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
69687         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
69688         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
69689         gl_FUNC_FSEEKO.
69690         (gl_FUNC_FSEEKO): Invoke it.
69691         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
69692         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
69693         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
69694
69695 2007-04-25  Bruno Haible  <bruno@clisp.org>
69696
69697         * modules/fflush (Depends-on): Add ftello.
69698
69699 2007-04-25  Bruno Haible  <bruno@clisp.org>
69700
69701         * modules/ftello-tests: New file.
69702         * tests/test-ftello.c: New file.
69703
69704         * modules/ftello: New file.
69705         * m4/ftello.m4: New file.
69706         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
69707         HAVE_FTELLO.
69708         * lib/stdio_.h (ftello): New declaration.
69709         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
69710         HAVE_FTELLO.
69711
69712 2007-04-25  Bruno Haible  <bruno@clisp.org>
69713
69714         * modules/fseeko-tests: New file.
69715         * tests/test-fseeko.c: New file.
69716
69717         * modules/fseeko: New file.
69718         * m4/fseeko.m4: New file.
69719         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
69720         HAVE_FSEEKO.
69721         * lib/stdio_.h (fseeko): New declaration.
69722         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
69723         HAVE_FSEEKO.
69724
69725 2007-04-25  Bruno Haible  <bruno@clisp.org>
69726
69727         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
69728
69729 2007-04-25  Bruno Haible  <bruno@clisp.org>
69730
69731         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
69732         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
69733         * tests/test-unistd.c: Likewise.
69734         * tests/test-fcntl.c: Likewise.
69735
69736 2007-04-23  Eric Blake  <ebb9@byu.net>
69737
69738         * lib/fflush.c: Fix missing include.
69739         Reported by Bruno Haible.
69740
69741 2007-04-23  Bruno Haible  <bruno@clisp.org>
69742
69743         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
69744         Reported by Eric Blake.
69745
69746 2007-04-23  Bruno Haible  <bruno@clisp.org>
69747
69748         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
69749
69750 2007-04-23  Bruno Haible  <bruno@clisp.org>
69751
69752         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
69753
69754 2007-04-23  Bruno Haible  <bruno@clisp.org>
69755
69756         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
69757         Needed on HP-UX 11.
69758
69759 2007-04-16  Eric Blake  <ebb9@byu.net>
69760
69761         Make fflush rely on fpurge.
69762         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
69763         open coding all variants.
69764         * modules/fflush (Depends-on): Add fpurge and unistd.
69765         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
69766         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
69767
69768         Fix --with-tests compilation on cygwin.
69769         * modules/argmatch-tests (Makefile.am): List gnulib library first
69770         in LDADD.
69771         * modules/argp-tests (Makefile.am): Likewise.
69772         * modules/array-list-tests (Makefile.am): Likewise.
69773         * modules/array-oset-tests (Makefile.am): Likewise.
69774         * modules/avltree-list-tests (Makefile.am): Likewise.
69775         * modules/avltree-oset-tests (Makefile.am): Likewise.
69776         * modules/avltreehash-list-tests (Makefile.am): Likewise.
69777         * modules/carray-list-tests (Makefile.am): Likewise.
69778         * modules/dirname-tests (Makefile.am): Likewise.
69779         * modules/frexp-tests (Makefile.am): Likewise.
69780         * modules/isnanl-tests (Makefile.am): Likewise.
69781         * modules/linked-list-tests (Makefile.am): Likewise.
69782         * modules/linkedhash-list-tests (Makefile.am): Likewise.
69783         * modules/lock-tests (Makefile.am): Likewise.
69784         * modules/rbtree-list-tests (Makefile.am): Likewise.
69785         * modules/rbtree-oset-tests (Makefile.am): Likewise.
69786         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
69787         * modules/tls-tests (Makefile.am): Likewise.
69788         * modules/tsearch-tests (Makefile.am): Likewise.
69789         * modules/xvasprintf-tests (Makefile.am): Likewise.
69790
69791         Fix fpurge for cygwin.
69792         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
69793         value.
69794         * modules/fpurge-tests (Depends-on): Clean up trash.
69795
69796 2007-04-16  Simon Josefsson  <simon@josefsson.org>
69797
69798         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
69799
69800         * m4/autobuild.m4: Re-indent.
69801
69802 2007-04-13  Bruno Haible  <bruno@clisp.org>
69803
69804         * modules/fpurge-tests: New file.
69805         * tests/test-fpurge.c: New file.
69806
69807         * modules/fpurge: New file.
69808         * lib/fpurge.h: New file.
69809         * lib/fpurge.c: New file.
69810         * m4/fpurge.m4: New file.
69811
69812 2007-04-13  Bruno Haible  <bruno@clisp.org>
69813
69814         * modules/fbufmode-tests: New file.
69815         * tests/test-fbufmode.c: New file.
69816
69817         * modules/fbufmode: New file.
69818         * lib/fbufmode.h: New file.
69819         * lib/fbufmode.c: New file.
69820         * m4/fbufmode.m4: New file.
69821
69822 2007-04-13  Bruno Haible  <bruno@clisp.org>
69823
69824         * modules/fwritable-tests: New file.
69825         * tests/test-fwritable.c: New file.
69826
69827         * modules/fwritable: New file.
69828         * lib/fwritable.h: New file.
69829         * lib/fwritable.c: New file.
69830         * m4/fwritable.m4: New file.
69831
69832 2007-04-13  Bruno Haible  <bruno@clisp.org>
69833
69834         * modules/freadable-tests: New file.
69835         * tests/test-freadable.c: New file.
69836
69837         * modules/freadable: New file.
69838         * lib/freadable.h: New file.
69839         * lib/freadable.c: New file.
69840         * m4/freadable.m4: New file.
69841
69842 2007-04-13  Bruno Haible  <bruno@clisp.org>
69843
69844         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
69845         MOSTLYCLEANFILES.
69846
69847 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
69848
69849         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
69850         gzip bootstrap.conf to avoid dragging in i18n machinery.
69851         (gnulib_tool_option): Use it.
69852
69853 2007-04-13  Bruno Haible  <bruno@clisp.org>
69854
69855         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
69856         %F directives.
69857         * tests/test-vasprintf-posix.c (test_function): Likewise.
69858         * tests/test-snprintf-posix.h (test_function): Likewise.
69859         * tests/test-sprintf-posix.h (test_function): Likewise.
69860         * tests/test-fprintf-posix.h (test_function): Likewise.
69861         * tests/test-printf-posix.h (test_function): Likewise.
69862         * tests/test-fprintf-posix.out: Likewise.
69863
69864 2007-04-13  Bruno Haible  <bruno@clisp.org>
69865
69866         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
69867         * modules/tls-tests (configure.ac): Likewise.
69868         Reported by Arto C. Nirkko <anirkko@insel.ch>.
69869
69870 2007-04-13  Bruno Haible  <bruno@clisp.org>
69871
69872         * lib/tls.c (glthread_tls_get): Fix return type.
69873         Patch by Arto C. Nirkko <anirkko@insel.ch>.
69874
69875 2007-04-12  Eric Blake  <ebb9@byu.net>
69876
69877         * modules/gettime (Depends-on): Remove gettime.
69878         Reported by Dmitry V. Levin.
69879
69880 2007-04-12  Bruno Haible  <bruno@clisp.org>
69881
69882         * modules/fflush (Include): Mention <stdio.h>.
69883         * modules/strtoimax (Include): Mention <inttypes.h>.
69884         * modules/strtoumax (Include): Likewise.
69885
69886 2007-04-12  Eric Blake  <ebb9@byu.net>
69887
69888         * .cvsignore: New file.
69889         * .gitignore: Likewise.
69890
69891 2007-04-12  Bruno Haible  <bruno@clisp.org>
69892
69893         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
69894         not before, since $(LDADD) often contains libgnu.a.
69895         * modules/striconv-tests (test_striconv_LDADD): Likewise.
69896         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
69897         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
69898         Needed on Cygwin.
69899
69900 2007-04-12  Eric Blake  <ebb9@byu.net>
69901
69902         Work around glibc's failure to flush stdin on fclose.
69903         * lib/closein.c (close_stdin): Flush stdin before closing.
69904
69905         Work around glibc's failure to reset seekable stdin on exit.
69906         * modules/closein: New module.
69907         * lib/closein.c: New file.
69908         * lib/closein.h: Likewise.
69909         * m4/closein.m4: Likewise.
69910         * MODULES.html.sh (File stream based Input/Output): Document it.
69911
69912 2007-04-12  Simon Josefsson  <simon@josefsson.org>
69913
69914         * gnulib-tool: Rename generated 'autobuild' script to
69915         'do-autobuild' in --create-megatestdir output.
69916
69917         * doc/gnulib.texi (Build robot for gnulib): Fix.
69918
69919 2007-04-12  Simon Josefsson  <simon@josefsson.org>
69920
69921         * modules/sysexits (Depends-on): Add absolute-header.
69922
69923 2007-04-12  Eric Blake  <ebb9@byu.net>
69924
69925         No need to preserve errno on success.
69926         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
69927         Reported by Bruno Haible.
69928
69929 2007-04-12  Simon Josefsson  <simon@josefsson.org>
69930
69931         * MODULES.html.sh (Support for maintaining and releasing
69932         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
69933
69934 2007-04-12  Simon Josefsson  <simon@josefsson.org>
69935
69936         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
69937
69938 2007-04-12  Simon Josefsson  <simon@josefsson.org>
69939
69940         * modules/autobuild: New module.
69941
69942         * m4/autobuild.m4: New file.
69943
69944 2007-04-11  Bruno Haible  <bruno@clisp.org>
69945
69946         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
69947         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
69948         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
69949         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
69950         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
69951         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
69952         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
69953         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
69954         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
69955         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
69956         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
69957         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
69958         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
69959         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
69960         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
69961         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
69962         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
69963         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
69964         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
69965         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
69966         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
69967         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
69968         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
69969         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
69970         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
69971         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
69972         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
69973         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
69974         Reported by Eric Blake.
69975
69976 2007-04-11  Bruno Haible  <bruno@clisp.org>
69977
69978         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
69979
69980 2007-04-10  Bruno Haible  <bruno@clisp.org>
69981
69982         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
69983         for NaN and Infinity. Needed on FreeBSD 6.1.
69984         * tests/test-vasnprintf-posix.c (test_function): Undo last change
69985         regarding results for "%010a" of Infinity and NaN.
69986         * tests/test-vasprintf-posix.c (test_function): Likewise.
69987         * tests/test-snprintf-posix.h (test_function): Likewise.
69988         * tests/test-sprintf-posix.h (test_function): Likewise.
69989         * tests/test-fprintf-posix.h (test_function): Likewise.
69990         * tests/test-printf-posix.h (test_function): Likewise.
69991         * tests/test-fprintf-posix.out: Likewise.
69992
69993 2007-04-10  Bruno Haible  <bruno@clisp.org>
69994
69995         * modules/locale-tests: New file.
69996         * tests/test-locale.c: New file.
69997
69998         * modules/locale: New file.
69999         * lib/locale_.h: New file.
70000         * m4/locale_h.m4: New file.
70001
70002 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
70003             Bruno Haible  <bruno@clisp.org>
70004
70005         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
70006         be determined, test for availability of the copysignf, copysign,
70007         copysignl functions.
70008         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
70009         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
70010         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
70011
70012 2007-04-09  Eric Blake  <ebb9@byu.net>
70013
70014         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
70015         * modules/stdio (Makefile.am): Support fflush.
70016         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
70017         * modules/fflush: New file.
70018         * lib/fflush.c: Likewise.
70019         * m4/fflush.m4: Likewise.
70020         * modules/fflush-tests: New test.
70021         * tests/test-fflush.c: Likewise.
70022         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
70023
70024 2007-04-06  Bruno Haible  <bruno@clisp.org>
70025
70026         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
70027         (VASNPRINTF): Use signbit for faster determination whether to print a
70028         minus sign.
70029         * modules/vasnprintf (Files): Remove lib/float+.h.
70030         * modules/fprintf-posix (Depends-on): Add signbit.
70031         * modules/snprintf-posix (Depends-on): Likewise.
70032         * modules/sprintf-posix (Depends-on): Likewise.
70033         * modules/vasnprintf-posix (Depends-on): Likewise.
70034         * modules/vasprintf-posix (Depends-on): Likewise.
70035         * modules/vfprintf-posix (Depends-on): Likewise.
70036         * modules/vsnprintf-posix (Depends-on): Likewise.
70037         * modules/vsprintf-posix (Depends-on): Likewise.
70038
70039 2007-04-06  Bruno Haible  <bruno@clisp.org>
70040
70041         * tests/test-frexp.c (main): Test also the sign bit of zero results.
70042         * tests/test-frexpl.c (main): Likewise.
70043         * tests/test-ldexpl.c (main): Likewise.
70044         * modules/frexp-tests (Depends-on): Add signbit.
70045         * modules/frexpl-tests (Depdends-on): Likewise.
70046         * modules/ldexpl-tests (Depdends-on): Likewise.
70047
70048 2007-04-06  Bruno Haible  <bruno@clisp.org>
70049
70050         * modules/signbit-tests: New file.
70051         * tests/test-signbit.c: New file.
70052
70053         * modules/signbit: New file.
70054         * lib/signbitf.c: New file.
70055         * lib/signbitd.c: New file.
70056         * lib/signbitl.c: New file.
70057         * m4/signbit.m4: New file.
70058         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
70059         (signbit): New macro.
70060         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
70061         REPLACE_SIGNBIT.
70062         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
70063         REPLACE_FREXPL into math.h.
70064
70065 2007-04-06  Bruno Haible  <bruno@clisp.org>
70066
70067         * modules/isnanf-nolibm-tests: New file.
70068         * tests/test-isnanf.c: New file.
70069
70070         * modules/isnanf-nolibm: New file.
70071         * lib/isnanf.h: New file.
70072         * lib/isnanf.c: New file.
70073         * lib/isnan.c: Consider the USE_FLOAT macro.
70074         * m4/isnanf.m4: New file.
70075
70076 2007-04-06  Bruno Haible  <bruno@clisp.org>
70077
70078         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
70079         (Link): New section.
70080
70081         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
70082
70083 2007-04-06  Bruno Haible  <bruno@clisp.org>
70084
70085         Assume the 'long double' type.
70086         * m4/longdouble.m4: Remove file.
70087         * config/srclist.txt: Don't mention longdouble.m4.
70088         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
70089         * lib/float+.h: Likewise.
70090         * lib/frexp.c: Likewise.
70091         * lib/printf-args.h: Likewise.
70092         * lib/printf-args.c: Likewise.
70093         * lib/printf-frexp.c: Likewise.
70094         * lib/printf-parse.c: Likewise.
70095         * lib/vasnprintf.c: Likewise.
70096         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
70097         * m4/intl.m4: Likewise.
70098         * m4/isnanl.m4: Likewise.
70099         * m4/printf.m4: Likewise.
70100         * m4/printf-frexpl.m4: Likewise.
70101         * m4/vasnprintf.m4: Likewise.
70102         * modules/allocsa (Files): Remove m4/longdouble.m4.
70103         * modules/gettext (Files): Likewise.
70104         * modules/relocatable-prog-wrapper (Files): Likewise.
70105         * modules/vasnprintf (Files): Likewise.
70106         * modules/isnanl (Files): Likewise.
70107         (Include): Simplify.
70108         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
70109         (Include): Simplify.
70110         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
70111         (Include): Simplify.
70112         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
70113         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70114         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
70115         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70116         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
70117         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70118         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
70119         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70120         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
70121         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70122         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
70123         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70124         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
70125         * tests/test-isnanl.c: Likewise.
70126         * tests/test-snprintf-posix.h: Likewise.
70127         * tests/test-sprintf-posix.h: Likewise.
70128         * tests/test-vasnprintf-posix.c: Likewise.
70129         * tests/test-vasnprintf-posix2.c: Likewise.
70130         * tests/test-vasprintf-posix.c: Likewise.
70131
70132 2007-04-06  Bruno Haible  <bruno@clisp.org>
70133
70134         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
70135         * lib/math_.h [__DECC]: Include the overridden include file through
70136         #include_next, outside the double-inclusion guard.
70137         * lib/stdio_.h [__DECC]: Likewise.
70138         * lib/stdlib_.h [__DECC]: Likewise.
70139         * lib/string_.h [__DECC]: Likewise.
70140         * lib/time_.h [__DECC]: Likewise.
70141         * lib/wchar_.h [__DECC]: Likewise.
70142         * lib/wctype_.h [__DECC]: Likewise.
70143         * lib/inttypes_.h [__DECC]: Likewise.
70144         Reported by Albert Chin <china@thewrittenword.com> in
70145         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
70146
70147 2007-04-04  Eric Blake  <ebb9@byu.net>
70148
70149         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
70150         1.5.x.
70151
70152 2007-04-04  Bruno Haible  <bruno@clisp.org>
70153
70154         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
70155         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
70156
70157 2007-04-04  Bruno Haible  <bruno@clisp.org>
70158
70159         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
70160         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): Remove these tests.
70165         * tests/test-printf-posix.h (test_function): Likewise.
70166         * tests/test-fprintf-posix.out: Update.
70167         Needed for FreeBSD 6.1.
70168
70169 2007-04-04  Bruno Haible  <bruno@clisp.org>
70170
70171         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
70172         directly used by the gnulib modules nor by gnulib-tool.
70173
70174 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
70175
70176         * DEPENDENCIES: Give overall description of version dependency
70177         desirability.  Use more-typical names for apps.
70178         Add shell, coreutils, diffutils, grep, tar, gzip.
70179
70180 2007-04-04  Simon Josefsson  <simon@josefsson.org>
70181
70182         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
70183
70184 2007-04-04  Karl Berry  <karl@gnu.org>
70185
70186         * MODULES.html.sh (func_module): missing '.
70187
70188 2007-04-03  Bruno Haible  <bruno@clisp.org>
70189
70190         * modules/argmatch-tests (Makefile.am): New variable
70191         test_argmatch_LDADD.
70192         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
70193         * modules/array-list-tests (Makefile.am): New variable
70194         test_array_list_LDADD.
70195         * modules/array-oset-tests (Makefile.am): New variable
70196         test_array_oset_LDADD.
70197         * modules/avltree-list-tests (Makefile.am): New variable
70198         test_avltree_list_LDADD.
70199         * modules/avltree-oset-tests (Makefile.am): New variable
70200         test_avltree_oset_LDADD.
70201         * modules/avltreehash-list-tests (Makefile.am): New variable
70202         test_avltreehash_list_LDADD.
70203         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
70204         test_canonicalize_lgpl_LDADD.
70205         * modules/carray-list-tests (Makefile.am): New variable
70206         test_carray_list_LDADD.
70207         * modules/dirname-tests (Makefile.am): New variable
70208         test_dirname_LDADD.
70209         * modules/linked-list-tests (Makefile.am): New variable
70210         test_linked_list_LDADD.
70211         * modules/linkedhash-list-tests (Makefile.am): New variable
70212         test_linkedhash_list_LDADD.
70213         * modules/rbtree-list-tests (Makefile.am): New variable
70214         test_rbtree_list_LDADD.
70215         * modules/rbtree-oset-tests (Makefile.am): New variable
70216         test_rbtree_oset_LDADD.
70217         * modules/rbtreehash-list-tests (Makefile.am): New variable
70218         test_rbtreehash_list_LDADD.
70219         * modules/xvasprintf-tests (Makefile.am): New variable
70220         test_xvasprintf_LDADD.
70221         Reported by Eric Blake.
70222
70223 2007-04-03  Eric Blake  <ebb9@byu.net>
70224
70225         * DEPENDENCIES: Weaken m4 requirements.
70226
70227 2007-04-03  Bruno Haible  <bruno@clisp.org>
70228
70229         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
70230         * modules/isnanl-tests (configure.ac): Likewise.
70231
70232 2007-04-03  Ben Pfaff  <blp@gnu.org>
70233
70234         * modules/iconv_open: Add $(srcdir)/ to source directory
70235         references in Makefile fragments that call gperf, to fix VPATH
70236         builds.
70237
70238 2007-04-03  Bruno Haible  <bruno@clisp.org>
70239
70240         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
70241         * lib/ldexpl.c: Undo last change.
70242
70243 2007-04-03  Bruno Haible  <bruno@clisp.org>
70244
70245         * modules/printf-frexpl (Depends-on): Undo last change.
70246         (Files): Add m4/ldexpl.m4.
70247
70248 2007-04-03  Bruno Haible  <bruno@clisp.org>
70249
70250         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
70251         * modules/isnanl (Link): New section.
70252
70253         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
70254         * modules/frexp (Link): New section.
70255
70256         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
70257         * modules/frexpl (Link): New section.
70258
70259         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
70260         * modules/ldexpl (Link): New section.
70261
70262 2007-04-03  Bruno Haible  <bruno@clisp.org>
70263
70264         * modules/TEMPLATE-EXTENDED: New file.
70265         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
70266
70267 2007-04-03  Bruno Haible  <bruno@clisp.org>
70268
70269         * DEPENDENCIES: New file.
70270         Suggested by Simon Josefsson.
70271
70272 2007-04-03  Bruno Haible  <bruno@clisp.org>
70273
70274         * doc/gnulib.texi: Escape @.
70275
70276 2007-04-03  James Youngman  <jay@gnu.org>
70277         and Paul Eggert  <eggert@cs.ucla.edu>
70278
70279         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
70280         birthtime on all systems that have birthtime, not just those which
70281         use st_birthtimensec rather than st_birthtim.  Putting zero in
70282         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
70283         that the birth time is not available for files on an NFS mount.
70284
70285 2007-04-03  Simon Josefsson  <simon@josefsson.org>
70286
70287         * modules/memxor: Move back from crypto/, suggested by Bruno.
70288         * modules/crypto/hmac-sha1: Fix memxor dependency.
70289
70290         * modules/crypto/gc: Moved from ../.
70291
70292 2007-04-02  Eric Blake  <ebb9@byu.net>
70293
70294         * lib/ldexpl.c (includes): Avoid libm.
70295
70296         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
70297
70298 2007-04-02  Bruno Haible  <bruno@clisp.org>
70299
70300         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
70301         on IRIX.
70302
70303 2007-04-02  Bruno Haible  <bruno@clisp.org>
70304
70305         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
70306         x86 or x86_64 platforms running MacOS X.
70307         Reported by Ryan Schmidt <@ryandesign.com>.
70308
70309 2007-04-02  Bruno Haible  <bruno@clisp.org>
70310
70311         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
70312         i386.
70313
70314 2007-04-01  Simon Josefsson  <simon@josefsson.org>
70315
70316         * modules/crypto/arcfour: Moved from ../.
70317         * modules/crypto/arcfour-tests: Moved from ../.
70318         * modules/crypto/arctwo: Moved from ../.
70319         * modules/crypto/arctwo-tests: Moved from ../.
70320         * modules/crypto/des: Moved from ../.
70321         * modules/crypto/des-tests: Moved from ../.
70322         * modules/crypto/gc-arcfour: Moved from ../.
70323         * modules/crypto/gc-arcfour-tests: Moved from ../.
70324         * modules/crypto/gc-arctwo: Moved from ../.
70325         * modules/crypto/gc-arctwo-tests: Moved from ../.
70326         * modules/crypto/gc-des: Moved from ../.
70327         * modules/crypto/gc-des-tests: Moved from ../.
70328         * modules/crypto/gc-hmac-md5: Moved from ../.
70329         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
70330         * modules/crypto/gc-hmac-sha1: Moved from ../.
70331         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
70332         * modules/crypto/gc-md2: Moved from ../.
70333         * modules/crypto/gc-md2-tests: Moved from ../.
70334         * modules/crypto/gc-md4: Moved from ../.
70335         * modules/crypto/gc-md4-tests: Moved from ../.
70336         * modules/crypto/gc-md5: Moved from ../.
70337         * modules/crypto/gc-md5-tests: Moved from ../.
70338         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
70339         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
70340         * modules/crypto/gc-random: Moved from ../.
70341         * modules/crypto/gc-rijndael: Moved from ../.
70342         * modules/crypto/gc-rijndael-tests: Moved from ../.
70343         * modules/crypto/gc-sha1: Moved from ../.
70344         * modules/crypto/gc-sha1-tests: Moved from ../.
70345         * modules/crypto/gc-tests: Moved from ../.
70346         * modules/crypto/hmac-md5: Moved from ../.
70347         * modules/crypto/hmac-md5-tests: Moved from ../.
70348         * modules/crypto/hmac-sha1: Moved from ../.
70349         * modules/crypto/hmac-sha1-tests: Moved from ../.
70350         * modules/crypto/md2: Moved from ../.
70351         * modules/crypto/md2-tests: Moved from ../.
70352         * modules/crypto/md4: Moved from ../.
70353         * modules/crypto/md4-tests: Moved from ../.
70354         * modules/crypto/md5: Moved from ../.
70355         * modules/crypto/md5-tests: Moved from ../.
70356         * modules/crypto/memxor: Moved from ../.
70357         * modules/crypto/rijndael: Moved from ../.
70358         * modules/crypto/rijndael-tests: Moved from ../.
70359         * modules/crypto/sha1: Moved from ../.
70360
70361 2007-03-30  James Youngman  <jay@gnu.org>
70362
70363         * tests/test-stat-time.c (prepare_test): use chmod() rather than
70364         rename() to change the ctime of a file (because ctime is unaffected
70365         by rename on jfs2 on AIX 5.1).
70366         (main): Start by doing cleanup, in case a previous run failed leaving
70367         test files behind.
70368
70369 2007-03-31  Bruno Haible  <bruno@clisp.org>
70370
70371         Support old proprietary implementations of iconv.
70372         * modules/iconv_open: New file.
70373         * lib/iconv_.h: New file.
70374         * m4/iconv_h.m4: New file.
70375         * lib/iconv_open.c: New file.
70376         * lib/iconv_open-aix.gperf: New file.
70377         * lib/iconv_open-hpux.gperf: New file.
70378         * lib/iconv_open-irix.gperf: New file.
70379         * lib/iconv_open-osf.gperf: New file.
70380         * m4/iconv_open.m4: New file.
70381         * modules/linebreak (Depends-on): Add iconv_open.
70382         * modules/striconv (Depends-on): Likewise.
70383         * modules/striconveh (Depends-on): Likewise.
70384         * modules/unicodeio (Depends-on): Likewise.
70385         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
70386         (iconv_t)(-1).
70387         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
70388         conversion if cd is (iconv_t)(-1).
70389         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
70390         is not possible.
70391
70392 2007-03-31  Bruno Haible  <bruno@clisp.org>
70393
70394         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
70395         work on Solaris either. Protect also second use of "autodetect_jp".
70396
70397 2007-03-31  Bruno Haible  <bruno@clisp.org>
70398
70399         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
70400         the function is not present.
70401
70402 2007-03-31  Bruno Haible  <bruno@clisp.org>
70403
70404         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
70405         the function is not present.
70406
70407 2007-03-31  Bruno Haible  <bruno@clisp.org>
70408
70409         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
70410         a bug in HP-UX iconv_open().
70411
70412 2007-03-31  Bruno Haible  <bruno@clisp.org>
70413
70414         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
70415         (Mathematics <math.h>): New section, add fpieee.
70416         (Input/output <stdio.h>): Add fseterr.
70417         (Mathematics <math.h>): New section, add printf-frexp.
70418         (Container data structures): Add sublist.
70419         (Core language properties): Add fpucw, inline.
70420         (Functions for greatest-width integer types <inttypes.h>): Add
70421         imaxabs, imaxdiv, inttypes.
70422         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
70423         isnanl-nolibm, ldexp.
70424         (Mathematics <math.h>): New section, add printf-frexpl.
70425         (Support for systems lacking POSIX:2001): Add fprintf-posix,
70426         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
70427         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
70428         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
70429         (Unicode string functions): Add unistr/u*-mbtoucr.
70430         (Java): Add javacomp-script, javaexec-script.
70431         (C#): Add csharpcomp-script, csharpexec-script.
70432         (Support for building libraries and executables): Add havelib,
70433         relocatable-*.
70434         (Support for maintaining and releasing projects): Renamed from
70435         'Support for maintaining and release projects'. Add announce-gen.
70436
70437 2007-03-31  Bruno Haible  <bruno@clisp.org>
70438
70439         * README: Talk primarily about git.
70440         (git and CVS): Renamed from CVS.
70441         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
70442         gnulib is available through git.
70443         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
70444
70445 2007-03-30  Bruno Haible  <bruno@clisp.org>
70446
70447         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
70448         * lib/poll_.h: Likewise.
70449         * lib/stat_.h: Likewise.
70450         * lib/sys_time_.h: Likewise.
70451         * lib/sysexit_.h: Likewise.
70452         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
70453         * lib/stdbool_.h: Likewise.
70454         * lib/byteswap_.h: Add double-inclusion guard.
70455
70456 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
70457
70458         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
70459
70460 2007-03-30  Karl Berry  <karl@gnu.org>
70461
70462         * config/srclist-update: double space after USA in the license
70463         substitution, since that's how it's usually (?) written.
70464
70465 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
70466
70467         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
70468         reported by Bruno Haible.
70469
70470 2007-03-29  Bruno Haible  <bruno@clisp.org>
70471
70472         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
70473         a bug in AIX iconv().
70474
70475 2007-03-29  Bruno Haible  <bruno@clisp.org>
70476
70477         * modules/ldexpl-tests: New file.
70478         * tests/test-ldexpl.c: New file.
70479
70480 2007-03-29  Bruno Haible  <bruno@clisp.org>
70481
70482         * lib/ldexpl.c: Include fpucw.h.
70483         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
70484         multiplication.
70485         * modules/ldexpl (Depends-on): Add fpucw.
70486
70487 2007-03-29  Bruno Haible  <bruno@clisp.org>
70488
70489         * modules/ldexpl: New file.
70490         * m4/ldexpl.m4: New file.
70491         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
70492         set.
70493         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
70494         REPLACE_LDEXPL.
70495         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
70496         REPLACE_LDEXPL.
70497         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
70498         gl_FUNC_LDEXPL_WORKS.
70499         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
70500         * modules/mathl (Files): Remove lib/ldexpl.c.
70501         (Depends-on): Add ldexpl.
70502
70503 2007-03-29  Bruno Haible  <bruno@clisp.org>
70504
70505         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
70506
70507 2007-03-29  Bruno Haible  <bruno@clisp.org>
70508
70509         * tests/test-striconveh.c (main): Don't assume that a direct conversion
70510         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
70511         and possibly also HP-UX.
70512         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
70513         work on AIX, IRIX, HP-UX, OSF/1.
70514         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
70515         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
70516         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
70517         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
70518         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
70519         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
70520
70521 2007-03-29  Bruno Haible  <bruno@clisp.org>
70522
70523         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
70524
70525 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
70526
70527         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
70528         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
70529
70530 2007-03-29  Eric Blake  <ebb9@byu.net>
70531
70532         * lib/acl-internal.h: Remove redundant include.
70533         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
70534         Cygwin when a file is locked.
70535
70536 2007-03-29  Bruno Haible  <bruno@clisp.org>
70537
70538         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
70539         file.
70540         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
70541
70542 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
70543
70544         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
70545         try to remove a parent directory if the child couldn't be removed
70546         (except for the first rmdir, which could fail because the child
70547         doesn't exist).  Problem reported by Jeff Blaine in
70548         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
70549
70550 2007-03-28  Bruno Haible  <bruno@clisp.org>
70551
70552         * lib/striconveh.c (utf8conv_carefully): New function.
70553         (mem_cd_iconveh_internal): Invoke it.
70554
70555 2007-03-28  Bruno Haible  <bruno@clisp.org>
70556
70557         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
70558         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
70559         input.
70560         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
70561         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
70562         unistr/u8-uctomb.
70563
70564 2007-03-28  Bruno Haible  <bruno@clisp.org>
70565
70566         * modules/unistr/u8-mbtoucr: New file.
70567         * lib/unistr/u8-mbtoucr.c: New file.
70568         * modules/unistr/u16-mbtoucr: New file.
70569         * lib/unistr/u16-mbtoucr.c: New file.
70570         * modules/unistr/u16-mbtoucr: New file.
70571         * lib/unistr/u16-mbtoucr.c: New file.
70572         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
70573
70574 2007-03-27  Simon Josefsson  <simon@josefsson.org>
70575             Bruno Haible  <bruno@clisp.org>
70576
70577         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
70578         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
70579         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
70580
70581         * m4/stdio_h.m4: Add stubs for vasprintf too.
70582
70583         * modules/stdio: Support vasprintf in sed command.
70584
70585         * modules/vasprintf: Depend on stdio for prototypes.  Remove
70586         vasprintf.h.  Add stdio module indicator.
70587
70588         * lib/stdio_.h: Declare asprintf and vasprintf, based on
70589         vasprintf.h.
70590
70591         * lib/vasprintf.h: File removed.
70592
70593         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
70594         * lib/vasprintf.c: Ditto.
70595         * lib/xvasprintf.c: Ditto.
70596         * tests/test-vasprintf-posix.c: Ditto.
70597         * tests/test-vasprintf.c: Ditto.
70598
70599 2007-03-27  Bruno Haible  <bruno@clisp.org>
70600
70601         Make vasnprintf multithread-safe.
70602         * lib/vasnprintf.c (decimal_point_char): New function.
70603         (VASNPRINTF): Use it.
70604         Suggested by Simon Josefsson.
70605
70606 2007-03-27  Eric Blake  <ebb9@byu.net>
70607
70608         Support sub-second birthtime on cygwin.
70609         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
70610         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
70611         (get_stat_birthtime): Also work with st_birthtim.
70612
70613 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
70614
70615         * lib/stat-time.h (USE_BIRTHTIME): Remove.
70616         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
70617         (get_stat_birthtime_ns): Do not try to use "spare" fields.
70618         (get_stat_birthtime_ns): Simplify compile-time tests.
70619         (get_stat_birthtime): Change the API to look like
70620         get_stat_mtime etc., except return a negative tv_nsec on error.
70621         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
70622         Don't check for "spare" fields.
70623         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
70624         or for struct stat.st_birthtime, as these tests aren't used.
70625         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
70626
70627 2007-03-27  Bruno Haible  <bruno@clisp.org>
70628
70629         * lib/stat-time.h: Include <sys/stat.h>.
70630
70631 2007-03-27  James Youngman  <jay@gnu.org>
70632
70633         * lib/stat-time.h (get_stat_birthtime): New function for
70634           retrieving st_birthtime as provided by UFS2 (hence *BSD).
70635         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
70636           and its variants.
70637         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
70638         * modules/stat-time-test: New file.
70639         * tests/test-stat-time.c: New test, devised by Bruno Haible.
70640
70641 2007-03-26  Bruno Haible  <bruno@clisp.org>
70642
70643         Better support of signalling NaNs.
70644         * lib/atanl.c: Include isnanl.h.
70645         (atanl): Perform test for NaN at the beginning of the function and
70646         through a call to isnanl.
70647         * lib/cosl.c: Include isnanl.h.
70648         (cosl): Perform test for NaN at the beginning of the function and
70649         through a call to isnanl.
70650         * lib/ldexpl.c: Include isnanl.h.
70651         (ldexpl): Perform test for NaN through a call to isnanl.
70652         * lib/logl.c: Include isnanl.h.
70653         (logl): Perform test for NaN at the beginning of the function and
70654         through a call to isnanl.
70655         * lib/sinl.c: Include isnanl.h.
70656         (sinl): Perform test for NaN at the beginning of the function and
70657         through a call to isnanl.
70658         * lib/sqrtl.c: Include isnanl.h.
70659         (sqrtl): Perform test for NaN at the beginning of the function and
70660         through a call to isnanl.
70661         * lib/tanl.c: Include isnanl.h.
70662         (tanl): Perform test for NaN at the beginning of the function and
70663         through a call to isnanl.
70664         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
70665         * modules/mathl (Depends-on): Add isnanl.
70666
70667 2007-03-26  Eric Blake  <ebb9@byu.net>
70668
70669         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
70670         regression in logic sense of previous patch.
70671
70672 2007-03-26  Bruno Haible  <bruno@clisp.org>
70673
70674         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
70675         unportable shell command "if ! ...".
70676         Reported by Ralf Wildenhues.
70677
70678 2007-03-25  Bruno Haible  <bruno@clisp.org>
70679
70680         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
70681         <sysexits.h> file, and only add EX_CONFIG.
70682         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
70683         absolute file name and whether it is sufficient. Substitute also
70684         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
70685         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
70686         ABSOLUTE_SYSEXITS_H into sysexits.h.
70687
70688 2007-03-25  Bruno Haible  <bruno@clisp.org>
70689
70690         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
70691         hints is NULL.
70692
70693 2007-03-25  Bruno Haible  <bruno@clisp.org>
70694
70695         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
70696         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
70697
70698 2007-03-25  Bruno Haible  <bruno@clisp.org>
70699
70700         * lib/vasnprintf.c: Include langinfo.h.
70701         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
70702         multithread-safe.
70703         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
70704         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
70705         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
70706         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
70707         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
70708         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
70709         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
70710         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
70711         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
70712         Reported by Simon Josefsson.
70713
70714 2007-03-25  Bruno Haible  <bruno@clisp.org>
70715
70716         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
70717         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
70718         * modules/vasnprintf (Depends-on): Add stdint.
70719
70720 2007-03-25  Bruno Haible  <bruno@clisp.org>
70721
70722         * modules/fpieee: New file.
70723         * m4/fpieee.m4: New file.
70724         * modules/isnan-nolibm (Depends-on): Add fpieee.
70725         * modules/isnanl-nolibm (Depends-on): Add fpieee.
70726         * modules/isnanl (Depends-on): Add fpieee.
70727
70728 2007-03-25  Bruno Haible  <bruno@clisp.org>
70729
70730         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
70731
70732 2007-03-25  Bruno Haible  <bruno@clisp.org>
70733
70734         Avoid test failures on IRIX 6.5.
70735         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
70736         (main): Use it.
70737         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
70738         macros.
70739         (main): Use them.
70740
70741 2007-03-25  Bruno Haible  <bruno@clisp.org>
70742
70743         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
70744         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
70745         exists but doesn't work.
70746         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
70747         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
70748         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
70749         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
70750         math.h.
70751
70752 2007-03-25  Bruno Haible  <bruno@clisp.org>
70753
70754         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
70755         returns inf. Needed on IRIX 6.5.
70756
70757 2007-03-25  Bruno Haible  <bruno@clisp.org>
70758
70759         * tests/test-frexpl.c: Include isnanl-nolibm.h.
70760         (main): Use isnanl instead of x != x idiom.
70761         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
70762
70763         * tests/test-frexp.c: Include isnan.h.
70764         (main): Use isnan instead of x != x idiom.
70765         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
70766
70767 2007-03-25  Bruno Haible  <bruno@clisp.org>
70768
70769         * tests/test-frexp.c (NaN): New function/macro.
70770         (main): Use it instead of 0.0 / 0.0.
70771         * tests/test-isnan.c (NaN): New function/macro.
70772         (main): Use it instead of 0.0 / 0.0.
70773         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
70774         (test_function): Use it instead of 0.0 / 0.0.
70775         * tests/test-vasprintf-posix.c (NaN): New function/macro.
70776         (test_function): Use it instead of 0.0 / 0.0.
70777         * tests/test-snprintf-posix.h (NaN): New function/macro.
70778         (test_function): Use it instead of 0.0 / 0.0.
70779         * tests/test-sprintf-posix.h (NaN): New function/macro.
70780         (test_function): Use it instead of 0.0 / 0.0.
70781         * tests/test-fprintf-posix.h (NaN): New function/macro.
70782         (test_function): Use it instead of 0.0 / 0.0.
70783         * tests/test-printf-posix.h (NaN): New function/macro.
70784         (test_function): Use it instead of 0.0 / 0.0.
70785
70786         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
70787
70788 2007-03-25  Bruno Haible  <bruno@clisp.org>
70789
70790         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
70791
70792 2007-03-25  Bruno Haible  <bruno@clisp.org>
70793
70794         * lib/regexec.c (merge_state_with_log): Make static.
70795
70796 2007-03-25  Bruno Haible  <bruno@clisp.org>
70797
70798         * lib/trigl.c (kernel_rem_pio2): Make static.
70799
70800 2007-03-25  Bruno Haible  <bruno@clisp.org>
70801
70802         * lib/sincosl.c (sincosl_table): Make static.
70803
70804 2007-03-25  Bruno Haible  <bruno@clisp.org>
70805
70806         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
70807         if the compiler does not support C99.
70808
70809 2007-03-25  Bruno Haible  <bruno@clisp.org>
70810
70811         * modules/time (Makefile.am): Ensure all rule action lines start with a
70812         tab.
70813
70814 2007-03-24  Bruno Haible  <bruno@clisp.org>
70815
70816         * modules/tsearch-tests: New file.
70817         * tests/test-tsearch.sh: New file.
70818         * tests/test-tsearch.c: New file, mostly copied from glibc.
70819
70820         * modules/search-tests: New file.
70821         * tests/test-search.c: New file.
70822
70823         * modules/search: New file.
70824         * lib/search_.h: New file, incorporating lib/tsearch.h.
70825         * m4/search_h.m4: New file.
70826         * lib/tsearch.h: Remove file.
70827         * lib/tsearch.c: Include search.h instead of tsearch.h.
70828         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
70829         HAVE_TSEARCH.
70830         * modules/tsearch (Files): Remove lib/tsearch.h.
70831         (Depends-on): Add search.
70832         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
70833         (Include): Change tsearch.h into search.h.
70834
70835 2007-03-24  Bruno Haible  <bruno@clisp.org>
70836
70837         * modules/fpucw: New file.
70838         * lib/fpucw.h: New file.
70839         * lib/frexp.c: Include fpucw.h.
70840         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
70841         (FUNC): Use them.
70842         * lib/printf-frexp.c: Include fpucw.h.
70843         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
70844         (FUNC): Use them.
70845         * lib/vasnprintf.c: Include fpucw.h.
70846         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
70847         'long double' calculations.
70848         * tests/test-frexpl.c: Include fpucw.h.
70849         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
70850         * tests/test-printf-frexpl.c: Include fpucw.h.
70851         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
70852         * modules/frexpl (Depends-on): Add fpucw.
70853         * modules/printf-frexpl (Depends-on): Likewise.
70854         * modules/fprintf-posix (Depends-on): Likewise.
70855         * modules/snprintf-posix (Depends-on): Likewise.
70856         * modules/sprintf-posix (Depends-on): Likewise.
70857         * modules/vasnprintf-posix (Depends-on): Likewise.
70858         * modules/vasprintf-posix (Depends-on): Likewise.
70859         * modules/vfprintf-posix (Depends-on): Likewise.
70860         * modules/vsnprintf-posix (Depends-on): Likewise.
70861         * modules/vsprintf-posix (Depends-on): Likewise.
70862         * modules/frexpl-tests (Depends-on): Likewise.
70863         * modules/printf-frexpl-tests (Depends-on): Likewise.
70864
70865 2007-03-24  Bruno Haible  <bruno@clisp.org>
70866
70867         * lib/float+.h: New file.
70868         * lib/isnan.c: Include float+.h.
70869         (SIZE): New macro.
70870         (FUNC): Compare only SIZE bytes of the value.
70871         * lib/vasnprintf.c: Include float+.h.
70872         (VASNPRINTF): When comparing against +0.0L or +0.0, compare only
70873         SIZEOF_LDBL or SIZEOF_DBL bytes.
70874         * modules/isnan-nolibm (Files): Add lib/float+.h.
70875         * modules/isnanl-nolibm (Files): Add lib/float+.h.
70876         * modules/isnanl (Files): Add lib/float+.h.
70877         * modules/vasnprintf (Files): Add lib/float+.h.
70878
70879 2007-03-24  Bruno Haible  <bruno@clisp.org>
70880
70881         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
70882         include isnanl-nolibm.h.
70883
70884 2007-03-24  Bruno Haible  <bruno@clisp.org>
70885
70886         * tests/test-read-file.c (main): Don't produce spurious output for
70887         expected situations. Make the test fail if it encountered unexpected
70888         results.
70889
70890 2007-03-24  Bruno Haible  <bruno@clisp.org>
70891
70892         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
70893         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
70894
70895 2007-03-24  Bruno Haible  <bruno@clisp.org>
70896
70897         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
70898
70899 2007-03-24  Bruno Haible  <bruno@clisp.org>
70900
70901         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
70902         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
70903
70904         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
70905         * modules/utf8-ucs4: Turn into a symbolic link to module
70906         unistr/u8-mbtouc.
70907
70908         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
70909         utf8-ucs4-unsafe.
70910         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
70911         unistr/u8-mbtouc-unsafe.
70912
70913         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
70914         * modules/utf16-ucs4: Turn into a symbolic link to module
70915         unistr/u16-mbtouc.
70916
70917         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
70918         utf16-ucs4-unsafe.
70919         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
70920         unistr/u16-mbtouc-unsafe.
70921
70922         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
70923         * modules/ucs4-utf8: Turn into a symbolic link to module
70924         unistr/u8-ubtomb.
70925
70926         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
70927         * modules/ucs4-utf16: Turn into a symbolic link to module
70928         unistr/u16-ubtomb.
70929
70930 2007-03-24  Bruno Haible  <bruno@clisp.org>
70931
70932         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
70933         Enable the function only if HAVE_INLINE.
70934         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
70935         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
70936         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
70937         Enable the function only if HAVE_INLINE.
70938         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
70939         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
70940         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
70941         Enable the function only if HAVE_INLINE.
70942         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
70943         Enable the function only if HAVE_INLINE.
70944         * modules/utf8-ucs4: Update.
70945         * modules/utf8-ucs4-unsafe: Update.
70946         * modules/utf16-ucs4: Update.
70947         * modules/utf16-ucs4-unsafe: Update.
70948         * modules/ucs4-utf8: Update.
70949         * modules/ucs4-utf16: Update.
70950
70951 2007-03-24  Bruno Haible  <bruno@clisp.org>
70952
70953         * lib/utf8-ucs4.h: Remove file.
70954         * lib/utf8-ucs4-unsafe.h: Remove file.
70955         * lib/utf16-ucs4.h: Remove file.
70956         * lib/utf16-ucs4-unsafe.h: Remove file.
70957         * lib/ucs4-utf8.h: Remove file.
70958         * lib/ucs4-utf16.h: Remove file.
70959         * lib/unistr.h: Include their previous contents.
70960         * m4/utf-ucs4.m4: Remove file.
70961         * m4/ucs4-utf.m4: Remove file.
70962         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
70963         (Depends-on): Add unistr/base.
70964         (configure.ac): Remove gl_UTF_UCS4.
70965         (Makefile.am): Update.
70966         (Include): Change to unistr.h.
70967         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
70968         (Depends-on): Add unistr/base.
70969         (configure.ac): Remove gl_UTF_UCS4.
70970         (Makefile.am): Update.
70971         (Include): Change to unistr.h.
70972         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
70973         (Depends-on): Add unistr/base.
70974         (configure.ac): Remove gl_UTF_UCS4.
70975         (Makefile.am): Update.
70976         (Include): Change to unistr.h.
70977         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
70978         (Depends-on): Add unistr/base.
70979         (configure.ac): Remove gl_UTF_UCS4.
70980         (Makefile.am): Update.
70981         (Include): Change to unistr.h.
70982         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
70983         (Depends-on): Add unistr/base.
70984         (configure.ac): Remove gl_UCS4_UTF.
70985         (Makefile.am): Update.
70986         (Include): Change to unistr.h.
70987         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
70988         (Depends-on): Add unistr/base.
70989         (configure.ac): Remove gl_UCS4_UTF.
70990         (Makefile.am): Update.
70991         (Include): Change to unistr.h.
70992         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
70993         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
70994         utf8-ucs4-unsafe.h.
70995         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
70996         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
70997         utf16-ucs4-unsafe.h.
70998         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
70999         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
71000         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
71001         * lib/unistr/u8-strchr.c: Likewise.
71002         * lib/unistr/u8-strrchr.c: Likewise.
71003         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
71004         * lib/unistr/u16-strchr.c: Likewise.
71005         * lib/unistr/u16-strrchr.c: Likewise.
71006         * lib/striconveh.c: Update.
71007         * lib/linebreak.c: Update.
71008
71009 2007-03-24  Bruno Haible  <bruno@clisp.org>
71010
71011         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
71012         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
71013
71014 2007-03-22  Bruno Haible  <bruno@clisp.org>
71015
71016         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
71017
71018 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
71019
71020         * MODULES.html.sh (File system functions): New module write-any-file.
71021         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
71022         * m4/write-any-file.m4: New files.
71023
71024 2007-03-23  Eric Blake  <ebb9@byu.net>
71025
71026         * gnulib-tool: Rearrange space-tab sequences, since some editors
71027         like to eat them.
71028
71029 2007-03-23  Eric Blake  <ebb9@byu.net>
71030
71031         * lib/version-etc.c (version_etc_va): Update license wording to
71032         be more concise.  Recommended by Richard Stallman.
71033
71034 2007-03-22  Bruno Haible  <bruno@clisp.org>
71035
71036         * lib/poll.c (MSG_PEEK): New fallback definition.
71037
71038 2007-03-22  Bruno Haible  <bruno@clisp.org>
71039
71040         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
71041         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
71042         (main): Update.
71043         Fixes a compilation error on BeOS.
71044
71045 2007-03-22  Bruno Haible  <bruno@clisp.org>
71046
71047         * modules/frexpl-tests: New file.
71048         * tests/test-frexpl.c: New file.
71049
71050         * modules/frexpl: New file.
71051         * m4/frexpl.m4: New file.
71052         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
71053         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
71054         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
71055         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
71056         (Depends-on): Add frexpl. Remove isnanl-nolibm.
71057         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
71058
71059 2007-03-22  Bruno Haible  <bruno@clisp.org>
71060
71061         * lib/frexpl.c: Share code with lib/frexp.c.
71062         * modules/mathl (Files): Add lib/frexp.c.
71063         (Depends-on): Add isnanl-nolibm.
71064
71065 2007-03-22  Bruno Haible  <bruno@clisp.org>
71066
71067         * modules/printf-frexp (Files): Add m4/frexp.m4.
71068         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
71069         only if the found frexp function actually works.
71070
71071 2007-03-22  Bruno Haible  <bruno@clisp.org>
71072
71073         * lib/frexp.c: Remove older implementation that uses divisions.
71074
71075 2007-03-21  Bruno Haible  <bruno@clisp.org>
71076
71077         * modules/frexp-tests: New file.
71078         * tests/test-frexp.c: New file.
71079
71080         * modules/frexp: New file.
71081         * lib/frexp.c: New file.
71082         * m4/frexp.m4: New file.
71083         * lib/math_.h (frexp): New declaration.
71084         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
71085         REPLACE_FREXP.
71086         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
71087
71088 2007-03-21  Bruno Haible  <bruno@clisp.org>
71089
71090         * modules/isnanl-tests: New file.
71091         * tests/test-isnanl.c: New file.
71092
71093         * modules/isnanl: New file.
71094         * lib/isnanl.h: New file.
71095         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
71096         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
71097         gl_FUNC_ISNANL_WORKS.
71098         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
71099         New macros.
71100
71101 2007-03-21  Bruno Haible  <bruno@clisp.org>
71102
71103         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
71104         lib/isnanl.h.
71105         (Include): Update.
71106         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
71107         * lib/vasnprintf.c: Update.
71108         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
71109         tests/test-isnanl.h, remove tests/test-isnanl.c.
71110         (Makefile.am): Update.
71111         * tests/test-isnanl-nolibm.c: New file.
71112         * tests/test-isnanl.h: New file.
71113         * tests/test-isnanl.c: Remove file.
71114
71115 2007-03-21  Jim Meyering  <jim@meyering.net>
71116
71117         When trying to open ".", treat ESTALE like EACCES.
71118         * lib/savewd.c (savewd_save): Resort to forking not just upon
71119         failure with EACCES, but also when errno is ESTALE.
71120
71121 2007-03-20  Bruno Haible  <bruno@clisp.org>
71122
71123         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
71124         Needed on AIX 5.1. Reported by Matthew Woehlke.
71125
71126 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
71127
71128         Suggestions by Bruno Haible:
71129         * lib/acl-internal.h: Include "gettext.h" rather than rolling
71130         our own.
71131         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
71132         * modules/acl (Depends-on): Add gettext.
71133
71134 2007-03-19  Bruno Haible  <bruno@clisp.org>
71135
71136         * modules/iconvme: Remove file.
71137         * lib/iconvme.h: Remove file.
71138         * lib/iconvme.c: Remove file.
71139         * m4/iconvme.m4: Remove file.
71140
71141 2007-03-19  Bruno Haible  <bruno@clisp.org>
71142
71143         * doc/relocatable-maint.texi: Break long shell script line.
71144         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
71145
71146 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
71147
71148         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
71149         handle file_has_acl.
71150         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
71151         * lib/acl.c: Move header inclusions and related macro defns into
71152         lib/acl-internal.h.
71153         (S_ISLNK): Remove defn, since that's now done for us.
71154         (file_has_acl): Move to lib/file-has-acl.c.
71155         Call acl_trivial if available.  This is the crucial part of the fix.
71156         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
71157         shared within the library.  Rewrite a bit, partly to make it compatible
71158         with the GNU coding style.
71159         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
71160         Remove unnecessary double-quotes.
71161         Don't test for acl_to_text; the build will catch that.
71162         Replace acl_entries if it doesn't exist and it is needed.
71163         Check for -lsec and acl_trivial (as used on Solaris 10).
71164         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
71165         lib/file-has-acl.c.
71166         (Depends-on): Add sys_stat, for S_ISLNK.
71167
71168 2007-03-19  Ben Pfaff  <blp@gnu.org>
71169
71170         * doc/gnulib.texi: Fix typos.
71171         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
71172
71173 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
71174
71175         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
71176         If size is zero here, buf must be zero.
71177
71178 2007-03-19  Simon Josefsson  <simon@josefsson.org>
71179
71180         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
71181         <bruno@clisp.org>.
71182
71183 2007-03-18  Bruno Haible  <bruno@clisp.org>
71184
71185         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
71186         Suggested by Eric Blake.
71187
71188 2007-03-18  Ben Pfaff  <blp@gnu.org>
71189
71190         * doc/relocatable.texi: Recommend using as prefix a directory
71191         that does not exist and will never be created.  Based on
71192         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
71193         and others.
71194
71195 2007-03-17  Bruno Haible  <bruno@clisp.org>
71196
71197         * lib/fchownat.c: Include lchown.h.
71198
71199 2007-03-17  Bruno Haible  <bruno@clisp.org>
71200
71201         Fix endless loop when the given allocated size was > INT_MAX.
71202         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
71203         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
71204         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
71205         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
71206         * lib/sprintf.c (sprintf): Likewise.
71207
71208 2007-03-17  Bruno Haible  <bruno@clisp.org>
71209
71210         * tests/test-argp-2.sh (func_compare): Output a context diff.
71211
71212 2007-03-17  Bruno Haible  <bruno@clisp.org>
71213
71214         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
71215         locale's decimal-point character.
71216
71217 2007-03-17  Bruno Haible  <bruno@clisp.org>
71218
71219         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
71220         before comparing it. Needed because on some platforms (e.g. x86) a
71221         'long double' occupies less bytes than sizeof (long double).
71222
71223 2007-03-17  Bruno Haible  <bruno@clisp.org>
71224
71225         * tests/test-crc.c (main): Make printf statements 64-bit clean.
71226         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
71227         * tests/test-getaddrinfo.c (simple): Likewise.
71228         * tests/test-read-file.c (main): Likewise.
71229
71230 2007-03-17  Bruno Haible  <bruno@clisp.org>
71231
71232         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
71233
71234 2007-03-17  Bruno Haible  <bruno@clisp.org>
71235
71236         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
71237         unused variable.
71238
71239 2007-03-17  Bruno Haible  <bruno@clisp.org>
71240
71241         * tests/test-c-strcasecmp.c: Include c-strcase.h.
71242         * tests/test-c-strncasecmp.c: Likewise.
71243
71244 2007-03-17  Bruno Haible  <bruno@clisp.org>
71245
71246         * modules/stdlib (Depends-on): Add unistd.
71247         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
71248         Needed for MacOS X 10.3.
71249
71250 2007-03-17  Bruno Haible  <bruno@clisp.org>
71251
71252         * lib/unistr/u-strdup.h: Include <stdlib.h>.
71253
71254 2007-03-17  Bruno Haible  <bruno@clisp.org>
71255
71256         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
71257
71258 2007-03-17  Bruno Haible  <bruno@clisp.org>
71259
71260         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
71261         to reflect files copied from gnulib (with or without modifications).
71262         Suggested by Jim Meyering.
71263
71264 2007-03-17  Eric Blake  <ebb9@byu.net>
71265
71266         * NEWS: Document stdlib change from 2007-02-18.
71267
71268 2007-03-17  Jim Meyering  <jim@meyering.net>
71269
71270         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
71271         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
71272         someone uses a name containing shell meta-characters.
71273         Reported by Alfred M. Szmidt.
71274
71275         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
71276
71277 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
71278
71279         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
71280         and copy gettext configuration files only if configure.ac contains
71281         a use of AM_GNU_GETTEXT_VERSION.
71282
71283 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
71284
71285         * build-aux/bootstrap (gnulib_name): New variable.
71286         (gnulib_tool_options): Use it.
71287
71288 2007-03-13  Simon Josefsson  <simon@josefsson.org>
71289
71290         * tests/test-des.c: Use new namespace.
71291
71292 2007-03-15  Bruno Haible  <bruno@clisp.org>
71293
71294         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
71295         Reported by James Youngman <jay@gnu.org>.
71296
71297 2007-03-15  Bruno Haible  <bruno@clisp.org>
71298
71299         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
71300         declared prototype. Needed with cc on OSF/1 5.1.
71301
71302 2007-03-15  Bruno Haible  <bruno@clisp.org>
71303
71304         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
71305         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
71306         (struct gl_list_implementation): Add dispose_fn argument to the
71307         'create_empty', 'create' methods.
71308         (struct gl_list_impl_base): Add field 'dispose_fn'.
71309         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
71310         argument.
71311         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
71312         dispose_fn argument.
71313         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
71314         dispose_fn on the dropped values.
71315         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
71316         dispose_fn argument.
71317         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
71318         dropped values.
71319         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
71320         (gl_tree_remove_node): Call dispose_fn on the dropped value.
71321         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
71322         (gl_tree_remove_node): Call dispose_fn on the dropped value.
71323         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
71324         argument.
71325         (gl_tree_list_free): Call dispose_fn on the dropped values.
71326         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
71327         the dropped values.
71328         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
71329         Add dispose_fn argument.
71330         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
71331         Call dispose_fn on the dropped values.
71332         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
71333         Add dispose_fn argument.
71334         (gl_sublist_create): Initialize the 'dispose_fn' field.
71335         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
71336         * tests/test-array_list.c (main): Update.
71337         * tests/test-carray_list.c (main): Update.
71338         * tests/test-avltree_list.c (main): Update.
71339         * tests/test-rbtree_list.c (main): Update.
71340         * tests/test-avltreehash_list.c (main): Update.
71341         * tests/test-rbtreehash_list.c (main): Update.
71342         * tests/test-linked_list.c (main): Update.
71343         * tests/test-linkedhash_list.c (main): Update.
71344         * tests/test-array_oset.c (main): Update.
71345
71346 2007-03-15  Bruno Haible  <bruno@clisp.org>
71347
71348         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
71349         (gl_oset_create_empty): Add dispose_fn argument.
71350         (struct gl_oset_implementation): Add dispose_fn argument to
71351         'create_empty' method.
71352         (struct gl_oset_impl_base): Add dispose_fn field.
71353         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
71354         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
71355         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
71356         values.
71357         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
71358         (gl_tree_oset_free): Call dispose_fn on the dropped values.
71359         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
71360         dropped value.
71361         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
71362         dropped value.
71363         * tests/test-array_oset.c (main): Update.
71364         * tests/test-avltree_oset.c (main): Update.
71365         * tests/test-rbtree_oset.c (main): Update.
71366         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
71367
71368 2007-03-13  Bruno Haible  <bruno@clisp.org>
71369
71370         * tests/test-stdbool.c (i): Update after last patch.
71371
71372 2007-03-12  Bruno Haible  <bruno@clisp.org>
71373
71374         * lib/quotearg.c: Include <wctype.h> early, before the definition of
71375         the iswprint macro. Needed on Solaris 2.5.1.
71376
71377 2007-03-12  Bruno Haible  <bruno@clisp.org>
71378
71379         * tests/test-printf-frexp.c (main): Declare x as volatile.
71380
71381 2007-03-12  Simon Josefsson  <simon@josefsson.org>
71382
71383         * doc/gnulib.texi (Build robot for gnulib): New section.
71384
71385 2007-03-12  Jim Meyering  <jim@meyering.net>
71386
71387         * build-aux/bootstrap: New file.
71388         * build-aux/bootstrap.conf: New file, from coreutils.
71389
71390 2007-03-11  Bruno Haible  <bruno@clisp.org>
71391
71392         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
71393
71394 2007-03-12  Simon Josefsson  <simon@josefsson.org>
71395
71396         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
71397         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
71398         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
71399
71400 2007-03-11  Bruno Haible  <bruno@clisp.org>
71401
71402         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
71403         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
71404
71405 2007-03-11  Bruno Haible  <bruno@clisp.org>
71406
71407         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
71408         formula. Needed for SunPRO C 5.0.
71409
71410 2007-03-11  Bruno Haible  <bruno@clisp.org>
71411
71412         * modules/long-options (Depends-on): Add getopt.
71413
71414 2007-03-11  Bruno Haible  <bruno@clisp.org>
71415
71416         * modules/modechange (Depends-on): Add stdbool.
71417
71418 2007-03-11  Bruno Haible  <bruno@clisp.org>
71419
71420         * modules/i-ring (Depends-on): Add stdbool.
71421
71422 2007-03-11  Bruno Haible  <bruno@clisp.org>
71423
71424         * modules/gc-des (Depends-on): Add stdbool.
71425
71426 2007-03-11  Bruno Haible  <bruno@clisp.org>
71427
71428         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
71429
71430 2007-03-11  Bruno Haible  <bruno@clisp.org>
71431
71432         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
71433
71434 2007-03-11  Bruno Haible  <bruno@clisp.org>
71435
71436         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
71437
71438 2007-03-11  Bruno Haible  <bruno@clisp.org>
71439
71440         * lib/vasnprintf.c (sprintf): Undefine.
71441
71442 2007-03-11  Bruno Haible  <bruno@clisp.org>
71443
71444         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
71445         initializers in SunPRO C and Compaq C compilers.
71446
71447 2007-03-11  Bruno Haible  <bruno@clisp.org>
71448
71449         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
71450         decrementing code ANSI C compliant.
71451
71452 2007-03-11  Bruno Haible  <bruno@clisp.org>
71453
71454         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
71455         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
71456
71457 2007-03-11  Bruno Haible  <bruno@clisp.org>
71458
71459         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
71460         <stdbool.h> substitute doesn't pass.
71461
71462 2007-03-11  Bruno Haible  <bruno@clisp.org>
71463
71464         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
71465
71466 2007-03-11  Bruno Haible  <bruno@clisp.org>
71467
71468         * gnulib-tool (func_create_megatestdir): Create also an autobuild
71469         script, for submission to autobuild.josefsson.org.
71470
71471 2007-03-10  Bruno Haible  <bruno@clisp.org>
71472
71473         * modules/canonicalize-lgpl-tests: New file.
71474         * tests/test-canonicalize-lgpl.sh: New file.
71475         * tests/test-canonicalize-lgpl.c: New file.
71476
71477         * modules/c-strcase-tests: New file.
71478         * tests/test-c-strcase.sh: New file.
71479         * tests/test-c-strcasecmp.c: New file.
71480         * tests/test-c-strncasecmp.c: New file.
71481
71482         * modules/atexit-tests: New file.
71483         * tests/test-atexit.sh: New file.
71484         * tests/test-atexit.c: New file.
71485
71486 2007-03-10  Bruno Haible  <bruno@clisp.org>
71487
71488         * tests/test-binary-io.sh: Use temporary filenames that are not so
71489         likely to clash with those of other tests (in a parallel make).
71490         * tests/test-binary-io.c: Likewise.
71491
71492 2007-03-10  Bruno Haible  <bruno@clisp.org>
71493
71494         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
71495         fallback; use #error instead.
71496         Suggested by Simon Josefsson.
71497
71498 2007-03-10  Bruno Haible  <bruno@clisp.org>
71499
71500         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
71501         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
71502         first and the last.
71503
71504 2007-03-10  Bruno Haible  <bruno@clisp.org>
71505
71506         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
71507
71508 2007-03-10  Bruno Haible  <bruno@clisp.org>
71509
71510         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
71511         "make distcheck".
71512         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
71513         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
71514         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
71515
71516 2007-03-10  Bruno Haible  <bruno@clisp.org>
71517
71518         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
71519         variable.
71520         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
71521         variable.
71522
71523 2007-03-09  Eric Blake  <ebb9@byu.net>
71524         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
71525
71526         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
71527         types are not being provided by gnulib.
71528         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
71529         types are supported.
71530
71531 2007-03-10  Bruno Haible  <bruno@clisp.org>
71532
71533         * lib/stdio_.h (__attribute__): New macro.
71534         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
71535         vsprintf): Specify __attribute__ __format__ for GCC.
71536         Suggested by Eric Blake.
71537
71538 2007-03-09  Bruno Haible  <bruno@clisp.org>
71539
71540         * modules/printf-posix-tests: New file.
71541         * tests/test-printf-posix.sh: New file.
71542         * tests/test-printf-posix.c: New file.
71543
71544         * modules/printf-posix: New file.
71545         * lib/printf.c: New file.
71546         * m4/printf-posix-rpl.m4: New file.
71547         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
71548         REPLACE_PRINTF.
71549         * lib/stdio_.h (printf): New declaration.
71550         (format, __format__, ____printf____, ____scanf____, ____strftime____,
71551         ____strfmon____): New macros.
71552         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
71553         REPLACE_PRINTF.
71554
71555 2007-03-09  Bruno Haible  <bruno@clisp.org>
71556
71557         * tests/test-vasnprintf-posix2.sh: New file.
71558         * tests/test-vasnprintf-posix2.c: New file.
71559         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
71560         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
71561         (Makefile.am): Activate test-vasnprintf-posix2.sh.
71562
71563         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
71564         a locale dependent decimal point, rather than always '.'.
71565
71566 2007-03-09  Eric Blake  <ebb9@byu.net>
71567
71568         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
71569         spite of platforms like Tandem/NSK that define it to -1.
71570
71571 2007-03-08  Bruno Haible  <bruno@clisp.org>
71572
71573         * modules/vprintf-posix-tests: New file.
71574         * tests/test-vprintf-posix.sh: New file.
71575         * tests/test-vprintf-posix.c: New file.
71576         * tests/test-printf-posix.h: New file.
71577
71578         * modules/vprintf-posix: New file.
71579         * lib/vprintf.c: New file.
71580         * m4/vprintf-posix.m4: New file.
71581         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
71582         REPLACE_VPRINTF.
71583         * lib/stdio_.h (vprintf): New declaration.
71584         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
71585         REPLACE_VPRINTF.
71586
71587 2007-03-08  Bruno Haible  <bruno@clisp.org>
71588
71589         * modules/fprintf-posix-tests: New file.
71590         * tests/test-fprintf-posix.sh: New file.
71591         * tests/test-fprintf-posix.c: New file.
71592
71593         * modules/fprintf-posix: New file.
71594         * lib/fprintf.c: New file.
71595         * m4/fprintf-posix.m4: New file.
71596         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
71597         REPLACE_FPRINTF.
71598         * lib/stdio_.h (fprintf): New declaration.
71599         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
71600         REPLACE_FPRINTF.
71601
71602 2007-03-08  Bruno Haible  <bruno@clisp.org>
71603
71604         * modules/vfprintf-posix-tests: New file.
71605         * tests/test-vfprintf-posix.sh: New file.
71606         * tests/test-vfprintf-posix.c: New file.
71607         * tests/test-fprintf-posix.h: New file.
71608         * tests/test-fprintf-posix.out: New file.
71609
71610         * modules/vfprintf-posix: New file.
71611         * lib/vfprintf.c: New file.
71612         * m4/vfprintf-posix.m4: New file.
71613         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
71614         REPLACE_VFPRINTF.
71615         * lib/stdio_.h (vfprintf): New declaration.
71616         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
71617         REPLACE_VFPRINTF.
71618
71619 2007-03-08  Bruno Haible  <bruno@clisp.org>
71620
71621         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
71622
71623 2007-03-08  Bruno Haible  <bruno@clisp.org>
71624
71625         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
71626         instead of 'expr' invocations.
71627         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
71628         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
71629         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
71630         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
71631         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
71632         Suggested by Paul Eggert.
71633
71634 2007-03-08  Bruno Haible  <bruno@clisp.org>
71635
71636         * modules/fseterr-tests: New file.
71637         * tests/test-fseterr.c: New file.
71638
71639         * modules/fseterr: New file.
71640         * lib/fseterr.h: New file.
71641         * lib/fseterr.c: New file.
71642
71643 2007-03-08  Bruno Haible  <bruno@clisp.org>
71644
71645         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
71646         * lib/getopt_.h: Likewise.
71647         * lib/mbswidth.h: Likewise.
71648         * lib/setenv.h: Likewise.
71649         * lib/vasnprintf.h: Likewise.
71650         * lib/vasprintf.h: Likewise.
71651         * lib/verror.h: Likewise.
71652         * lib/xsetenv.h: Likewise.
71653         * lib/xvasprintf.h: Likewise.
71654
71655 2007-03-08  Jim Meyering  <jim@meyering.net>
71656
71657         * users.txt: Add parted.
71658
71659         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
71660
71661 2007-03-07  Bruno Haible  <bruno@clisp.org>
71662
71663         * m4/printf.m4: Make the shell script snippets copy&pastable.
71664
71665 2007-03-02  Bruno Haible  <bruno@clisp.org>
71666
71667         * lib/netinet_in_.h: New file.
71668         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
71669         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
71670         * modules/netinet_in (Files): Add lib/netinet_in_.h.
71671         (Depends-on): Add absolute-header.
71672         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
71673         into netinet/in.h.
71674
71675 2007-03-03  Bruno Haible  <bruno@clisp.org>
71676
71677         * lib/sys_select_.h: New file.
71678         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
71679         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
71680         * modules/sys_select (Files): Add lib/sys_select_.h.
71681         (Depends-on): Add absolute-header.
71682         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
71683         into sys/select.h.
71684
71685 2007-03-02  Bruno Haible  <bruno@clisp.org>
71686
71687         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
71688         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
71689         values.
71690         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
71691         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
71692         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
71693         * modules/sys_socket (Depends-on): Add absolute-header.
71694         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
71695         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
71696         (Include): Remove requirement of inclusion of <sys/types.h>.
71697
71698 2007-03-02  Bruno Haible  <bruno@clisp.org>
71699
71700         * lib/byteswap_.h (bswap_32): Fix formula.
71701
71702 2007-03-06  Bruno Haible  <bruno@clisp.org>
71703
71704         * modules/sprintf-posix-tests: New file.
71705         * tests/test-sprintf-posix.c: New file.
71706
71707         * modules/sprintf-posix: New file.
71708         * lib/sprintf.c: New file.
71709         * m4/sprintf-posix.m4: New file.
71710         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
71711         REPLACE_SPRINTF.
71712         * lib/stdio_.h (sprintf): New declaration.
71713         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
71714         REPLACE_SPRINTF.
71715
71716 2007-03-06  Bruno Haible  <bruno@clisp.org>
71717
71718         * modules/vsprintf-posix-tests: New file.
71719         * tests/test-vsprintf-posix.c: New file.
71720         * tests/test-sprintf-posix.h: New file.
71721
71722         * modules/vsprintf-posix: New file.
71723         * lib/vsprintf.c: New file.
71724         * m4/vsprintf-posix.m4: New file.
71725         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
71726         REPLACE_VSPRINTF.
71727         * lib/stdio_.h (vsprintf): New declaration.
71728         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
71729         REPLACE_VSPRINTF.
71730
71731 2007-03-06  Bruno Haible  <bruno@clisp.org>
71732
71733         * modules/vsnprintf (Depend-on): Remove minmax.
71734
71735 2007-03-06  Bruno Haible  <bruno@clisp.org>
71736
71737         * modules/snprintf-posix-tests: New file.
71738         * tests/test-snprintf-posix.c: New file.
71739
71740         * modules/snprintf-posix: New file.
71741         * m4/snprintf-posix.m4: New file.
71742         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
71743         gl_FUNC_SNPRINTF.
71744         (gl_FUNC_SNPRINTF): Invoke it.
71745         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
71746         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
71747         is set.
71748         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
71749
71750 2007-03-06  Bruno Haible  <bruno@clisp.org>
71751
71752         * modules/vsnprintf-posix-tests: New file.
71753         * tests/test-vsnprintf-posix.c: New file.
71754         * tests/test-snprintf-posix.h: New file.
71755
71756         * modules/vsnprintf-posix: New file.
71757         * m4/vsnprintf-posix.m4: New file.
71758         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
71759         gl_FUNC_VSNPRINTF.
71760         (gl_FUNC_VSNPRINTF): Invoke it.
71761         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
71762         * lib/stdio_.h (vsnprintf): Define as a replacement if
71763         REPLACE_VSNPRINTF is set.
71764         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
71765
71766 2007-03-06  Bruno Haible  <bruno@clisp.org>
71767
71768         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
71769         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
71770
71771 2007-03-06  Bruno Haible  <bruno@clisp.org>
71772
71773         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
71774         (asinl): Declare also if HAVE_DECL_ASINL is set.
71775         (atanl): Declare also if HAVE_DECL_ATANL is set.
71776         (ceill): Declare also if HAVE_DECL_CEILL is set.
71777         (cosl): Declare also if HAVE_DECL_COSL is set.
71778         (expl): Declare also if HAVE_DECL_EXPL is set.
71779         (floorl): Declare also if HAVE_DECL_FLOORL is set.
71780         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
71781         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
71782         (logl): Declare also if HAVE_DECL_LOGL is set.
71783         (sinl): Declare also if HAVE_DECL_SINL is set.
71784         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
71785         (tanl): Declare also if HAVE_DECL_TANL is set.
71786         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
71787         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
71788         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
71789         declaration of frexpl, ldexpl.
71790         * modules/printf-frexpl (Depends-on): Add math.
71791         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
71792
71793 2007-03-05  Bruno Haible  <bruno@clisp.org>
71794
71795         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
71796         frexpl and ldexpl are declared.
71797         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
71798
71799 2007-03-05  Bruno Haible  <bruno@clisp.org>
71800
71801         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
71802         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
71803
71804 2007-03-05  Bruno Haible  <bruno@clisp.org>
71805
71806         * lib/stdio_.h: Include <stddef.h>.
71807
71808 2007-03-05  Bruno Haible  <bruno@clisp.org>
71809
71810         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
71811
71812 2007-03-05  Bruno Haible  <bruno@clisp.org>
71813
71814         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
71815         NetBSD 4, from Ralf Wildenhues.
71816
71817 2007-03-04  Bruno Haible  <bruno@clisp.org>
71818
71819         * lib/vasprintf.h: Update #if logic for the case when the functions
71820         exist but are overridden.
71821
71822 2007-03-04  Bruno Haible  <bruno@clisp.org>
71823
71824         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
71825         implementations: glibc-2.4 and MacOS X 10.3.
71826         * tests/test-vasnprintf-posix.c (test_function): Test also the case
71827         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
71828         * tests/test-vasprintf-posix.c (test_function): Likewise.
71829
71830 2007-03-04  Bruno Haible  <bruno@clisp.org>
71831
71832         * modules/vasprintf-posix-tests: New file.
71833         * tests/test-vasprintf-posix.c: New file.
71834
71835         * modules/vasprintf-posix: New file.
71836         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
71837         defined.
71838         * m4/vasprintf-posix.m4: New file.
71839         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
71840         gl_FUNC_VASPRINTF.
71841         (gl_FUNC_VASPRINTF): Invoke it.
71842         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
71843         here.
71844         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
71845
71846 2007-03-04  Bruno Haible  <bruno@clisp.org>
71847
71848         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
71849         REPLACE_GETTIMEOFDAY.
71850         * modules/sys_time (Makefile.am): Likewise.
71851         * m4/sys_time_h.m4: Likewise.
71852         * m4/gettimeofday.m4: Likewise.
71853
71854 2007-03-04  Bruno Haible  <bruno@clisp.org>
71855
71856         * modules/vasnprintf-posix-tests: New file.
71857         * tests/test-vasnprintf-posix.c: New file.
71858
71859         * modules/vasnprintf-posix: New file.
71860         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
71861         printf-frexpl.h.
71862         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
71863         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
71864         REPLACE_VASNPRINTF is defined.
71865         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
71866         gl_FUNC_VASNPRINTF.
71867         (gl_FUNC_VASNPRINTF): Invoke it.
71868         * m4/vasnprintf-posix.m4: New file.
71869         * m4/printf.m4: New file.
71870
71871 2007-03-04  Bruno Haible  <bruno@clisp.org>
71872
71873         Compile progreloc.c only if --enable-relocatable is specified.
71874         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
71875         if --enable-relocatable was specified.
71876         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
71877         lib_SOURCES.
71878
71879 2007-03-04  Jim Meyering  <jim@meyering.net>
71880
71881         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
71882         Use it consistently, rather than enumerating errno constants.
71883
71884 2007-03-04  Bruno Haible  <bruno@clisp.org>
71885
71886         * modules/xvasprintf-tests: New file.
71887         * tests/test-xvasprintf.c: New file.
71888
71889         * modules/vasprintf-tests: New file.
71890         * tests/test-vasprintf.c: New file.
71891
71892         * modules/vasnprintf-tests: New file.
71893         * tests/test-vasnprintf.c: New file.
71894
71895         * modules/vsnprintf-tests: New file.
71896         * tests/test-vsnprintf.c: New file.
71897
71898         * modules/snprintf-tests: New file.
71899         * tests/test-snprintf.c: New file.
71900
71901 2007-03-04  Bruno Haible  <bruno@clisp.org>
71902
71903         Compile relocatable.c only if --enable-relocatable is specified.
71904         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
71905         gl_RELOCATABLE_LIBRARY.
71906         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
71907         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
71908         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
71909         gl_RELOCATABLE_LIBRARY.
71910         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
71911         (Makefile.am): Remove lib_SOURCES.
71912         * modules/relocatable-lib-lgpl (configure.ac): Invoke
71913         gl_RELOCATABLE_LIBRARY.
71914         (Makefile.am): Remove lib_SOURCES.
71915         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
71916         always.
71917         * modules/relocatable-prog-wrapper (configure.ac): Invoke
71918         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
71919
71920 2007-03-04  Bruno Haible  <bruno@clisp.org>
71921
71922         * modules/argmatch-tests: New file.
71923         * tests/test-argmatch.c: New file.
71924
71925         * tests/test-allocsa.c (main): Halve the number of loop runs.
71926
71927         * modules/alloca-opt-tests: New file.
71928         * tests/test-alloca-opt.c: New file.
71929
71930 2007-03-04  Jim Meyering  <jim@meyering.net>
71931
71932         Work around difference between Linux ACLs and Solaris 10 ZFS.
71933         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
71934         for EINVAL.
71935
71936 2007-03-03  Bruno Haible  <bruno@clisp.org>
71937
71938         * modules/relocatable-prog (Depends-on): Add back progreloc's
71939         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
71940
71941 2007-03-03  Bruno Haible  <bruno@clisp.org>
71942
71943         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
71944         * modules/relocatable-lib: New file.
71945
71946 2007-03-03  Bruno Haible  <bruno@clisp.org>
71947
71948         * modules/relocatable-prog: Renamed from modules/relocatable.
71949         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
71950
71951 2007-03-03  Bruno Haible  <bruno@clisp.org>
71952
71953         * modules/relocatable-script (Files): Add doc/relocatable.texi,
71954         m4/relocatable-lib.m4.
71955         (Depends-on): Remove 'relocatable'.
71956         (configure.ac): Add gl_RELOCATABLE_NOP.
71957
71958 2007-03-03  Bruno Haible  <bruno@clisp.org>
71959
71960         * modules/relocatable-prog-wrapper: New file.
71961         * modules/relocatable (Depends-on): Add it. Remove all other
71962         dependencies except progname.
71963         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
71964
71965         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
71966         (gl_FUNC_STRERROR): Nop.
71967         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
71968
71969         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
71970         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
71971
71972         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
71973         (gl_FUNC_READLINK): Update.
71974
71975         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
71976
71977 2007-03-03  Bruno Haible  <bruno@clisp.org>
71978
71979         * lib/xreadlink.c: Include <unistd.h> unconditionally.
71980         * modules/xreadlink (Depends-on): Add unistd.
71981         * modules/xreadlink-with-size (Depends-on): Likewise.
71982
71983 2007-03-03  Bruno Haible  <bruno@clisp.org>
71984
71985         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
71986         extracted from gt_FUNC_SETENV.
71987         (gt_FUNC_SETENV): Remove macro.
71988         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
71989         remove gt_FUNC_SETENV.
71990
71991 2007-03-03  Bruno Haible  <bruno@clisp.org>
71992
71993         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
71994         ENABLE_RELOCATABLE here.
71995         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
71996
71997 2007-03-03  Bruno Haible  <bruno@clisp.org>
71998
71999         * modules/rbtreehash-list-tests (Depends-on): Add progname.
72000         * tests/test-rbtreehash_list.c: Include progname.h.
72001         (main): Call set_program_name.
72002
72003         * modules/rbtree-oset-tests (Depends-on): Add progname.
72004         * tests/test-rbtree_oset.c: Include progname.h.
72005         (main): Call set_program_name.
72006
72007         * modules/rbtree-list-tests (Depends-on): Add progname.
72008         * tests/test-rbtree_list.c: Include progname.h.
72009         (main): Call set_program_name.
72010
72011         * modules/linked-list-tests (Depends-on): Add progname.
72012         * tests/test-linked_list.c: Include progname.h.
72013         (main): Call set_program_name.
72014
72015 2007-03-03  Bruno Haible  <bruno@clisp.org>
72016
72017         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
72018         All uses of __restrict changed to _Restrict_.
72019         * lib/glob_.h (__restrict): Remove macro.
72020
72021 2007-03-02  Bruno Haible  <bruno@clisp.org>
72022
72023         * modules/gettext (configure.ac): Require gettext infrastructure
72024         from version 0.16.1.
72025
72026 2007-03-02  Bruno Haible  <bruno@clisp.org>
72027
72028         * modules/linkedhash-list-tests (Depends-on): Add progname.
72029         * tests/test-linkedhash_list.c: Include progname.h.
72030         (main): Call set_program_name.
72031
72032         * modules/carray-list-tests (Depends-on): Add progname.
72033         * tests/test-carray_list.c: Include progname.h.
72034         (main): Call set_program_name.
72035
72036         * modules/avltreehash-list-tests (Depends-on): Add progname.
72037         * tests/test-avltreehash_list.c: Include progname.h.
72038         (main): Call set_program_name.
72039
72040         * modules/avltree-oset-tests (Depends-on): Add progname.
72041         * tests/test-avltree_oset.c: Include progname.h.
72042         (main): Call set_program_name.
72043
72044         * modules/avltree-list-tests (Depends-on): Add progname.
72045         * tests/test-avltree_list.c: Include progname.h.
72046         (main): Call set_program_name.
72047
72048         * modules/array-oset-tests (Depends-on): Add progname.
72049         * tests/test-array_oset.c: Include progname.h.
72050         (main): Call set_program_name.
72051
72052         * modules/array-list-tests (Depends-on): Add progname.
72053         * tests/test-array_list.c: Include progname.h.
72054         (main): Call set_program_name.
72055
72056         * modules/argp-tests (Depends-on): Add progname.
72057         * tests/test-argp.c: Include argp.h first. Include progname.h.
72058         (main): Call set_program_name.
72059
72060 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
72061
72062         * doc/gnulib-tool.texi (Initial import): Reword description of
72063         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
72064         limited effect even if defined after the first system include.
72065
72066 2007-03-01  Bruno Haible  <bruno@clisp.org>
72067
72068         * build-aux/config.libpath: Update to libtool-1.5.22.
72069         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
72070
72071 2007-03-01  Bruno Haible  <bruno@clisp.org>
72072
72073         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
72074         foo_CFLAGS.
72075         Reported by Ralf Wildenhues.
72076
72077 2007-03-01  Bruno Haible  <bruno@clisp.org>
72078
72079         * build-aux/install-reloc: Remove object files left over by some
72080         compilers.
72081         Reported by Ralf Wildenhues.
72082
72083 2007-03-01  Bruno Haible  <bruno@clisp.org>
72084
72085         * build-aux/install-reloc: Break long lines.
72086
72087 2007-03-01  Bruno Haible  <bruno@clisp.org>
72088
72089         * doc/relocatable.texi: Document that it may not work on OpenBSD.
72090         Reported by Ralf Wildenhues.
72091
72092 2007-03-01  Bruno Haible  <bruno@clisp.org>
72093
72094         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
72095         include ordering constraints.
72096
72097 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
72098
72099         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
72100         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
72101         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
72102         as another example.
72103         * lib/time_.h: Fix misspelling.
72104         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
72105         Require gl_HEADER_TIME_H_DEFAULTS.
72106         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
72107         * m4/time_r.m4 (gl_TIME_R): Likewise.
72108         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
72109
72110 2007-03-01  Bruno Haible  <bruno@clisp.org>
72111
72112         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
72113         * m4/utimens.m4 (gl_UTIMENS): Likewise.
72114
72115 2007-03-01  Jim Meyering  <jim@meyering.net>
72116
72117         * modules/xreadlink (Maintainer): Add my name.
72118         * modules/xreadlink-with-size (Depends-on): Alphabetize.
72119
72120 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
72121             Bruno Haible  <bruno@clisp.org>
72122
72123         * build-aux/install-reloc: Compile also c-ctype.c.
72124         * build-aux/relocatable.sh.in: New file.
72125         * doc/relocatable.texi: New file.
72126         * doc/relocatable-maint.texi: New file.
72127         * doc/gnulib.texi: Include relocatable-maint.texi.
72128         * lib/progreloc.c: Include unistd.h unconditionally.
72129         * lib/relocwrapper.c: Include unistd.h unconditionally.
72130         Include c-ctype.h.
72131         (add_dotbin): Use c_tolower.
72132         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
72133         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
72134         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
72135         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
72136         to m4/relocatable-lib.m4.
72137         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
72138         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
72139         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
72140         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
72141         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
72142         * modules/relocatable: New file.
72143         * modules/relocatable-lib: New file.
72144         * modules/relocatable-script: New file.
72145
72146 2007-02-28  Bruno Haible  <bruno@clisp.org>
72147
72148         Import --enable-relocatable infrastructure.
72149         * build-aux/config.libpath: New file, from GNU gettext.
72150         * build-aux/install-reloc: New file, from GNU gettext.
72151         * build-aux/reloc-ldflags: New file, from GNU gettext.
72152         * lib/relocatable.h: New file, from GNU gettext.
72153         * lib/relocatable.c: New file, from GNU gettext.
72154         * lib/relocwrapper.c: New file, from GNU gettext.
72155         * m4/relocatable.m4: New file, from GNU gettext.
72156
72157 2007-02-28  Bruno Haible  <bruno@clisp.org>
72158
72159         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
72160
72161         * modules/xreadlink: New file, from GNU gettext with modifications.
72162         * lib/xreadlink.c: New file, from GNU gettext.
72163         * lib/xreadlink.h: Add comments.
72164         (xreadlink): New declaration.
72165
72166         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
72167         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
72168         lib/xreadlink-with-size.c.
72169         (configure.ac): Remove gl_XREADLINK invocation.
72170         (Makefile.am): Augment lib_SOURCES.
72171         * m4/xreadlink.m4: Remove file.
72172         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
72173         (xreadlink_with_size): Renamed from xreadink.
72174         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
72175         * modules/canonicalize (Depends-on): Replace xreadlink with
72176         xreadlink-with-size.
72177         * lib/canonicalize.c (canonicalize_filename_mode): Update.
72178
72179 2007-02-25  Jim Meyering  <jim@meyering.net>
72180
72181         * build-aux/announce-gen: When complaining about excess arguments,
72182         list them.
72183
72184 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
72185
72186         * README: Document signed integer overflow situation more
72187         accurately.
72188
72189 2007-02-25  Bruno Haible  <bruno@clisp.org>
72190
72191         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
72192         'a' or 'A' conversion.
72193
72194 2007-02-25  Bruno Haible  <bruno@clisp.org>
72195
72196         * modules/filename: Renamed from modules/pathname.
72197         (Files): Replace lib/pathname.h with lib/filename.h. Replace
72198         lib/concatpath.c with lib/concat-filename.c.
72199         (Makefile.am): Update.
72200         (Include): Replace pathname.h with filename.h.
72201         * lib/filename.h: Renamed from lib/pathname.h.
72202         (concatenated_filename): Renamed from concatenated_pathname.
72203         * lib/concat-filename.c: Renamed from lib/concatpath.c.
72204         (concatenated_filename): Renamed from concatenated_pathname.
72205         * lib/findprog.c: Include filename.h instead of pathname.h.
72206         (find_in_path): Update.
72207         * lib/javacomp.c: Include filename.h instead of pathname.h.
72208         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
72209         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
72210         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
72211         is_oldgcj_14_13_usable, is_javac_usable): Update.
72212         * lib/javaexec.c: Include filename.h instead of pathname.h.
72213         (execute_java_class): Update.
72214         * modules/findprog: Update.
72215         * modules/javacomp: Update.
72216         * modules/javaexec: Update.
72217         * MODULES.html.sh (File system functions): Add 'filename', remove
72218         'pathname'.
72219
72220 2007-02-25  Bruno Haible  <bruno@clisp.org>
72221
72222         * modules/printf-frexpl-tests: New file.
72223         * tests/test-printf-frexpl.c: New file.
72224
72225         * modules/printf-frexpl: New file.
72226         * lib/printf-frexpl.h: New file.
72227         * lib/printf-frexpl.c: New file.
72228         * m4/printf-frexpl.m4: New file.
72229
72230 2007-02-25  Bruno Haible  <bruno@clisp.org>
72231
72232         * modules/printf-frexp-tests: New file.
72233         * tests/test-printf-frexp.c: New file.
72234
72235         * modules/printf-frexp: New file.
72236         * lib/printf-frexp.h: New file.
72237         * lib/printf-frexp.c: New file.
72238         * m4/printf-frexp.m4: New file.
72239
72240 2007-02-25  Bruno Haible  <bruno@clisp.org>
72241
72242         Assume automake >= 1.10 for the tests.
72243         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
72244         * modules/arctwo-tests: Likewise.
72245         * modules/argp-tests: Likewise.
72246         * modules/avltree-list-tests: Likewise.
72247         * modules/avltree-oset-tests: Likewise.
72248         * modules/avltreehash-list-tests: Likewise.
72249         * modules/carray-list-tests: Likewise.
72250         * modules/crc-tests: Likewise.
72251         * modules/des-tests: Likewise.
72252         * modules/gc-arcfour-tests: Likewise.
72253         * modules/gc-arctwo-tests: Likewise.
72254         * modules/gc-des-tests: Likewise.
72255         * modules/gc-hmac-md5-tests: Likewise.
72256         * modules/gc-hmac-sha1-tests: Likewise.
72257         * modules/gc-md2-tests: Likewise.
72258         * modules/gc-md4-tests: Likewise.
72259         * modules/gc-md5-tests: Likewise.
72260         * modules/gc-pbkdf2-sha1-tests: Likewise.
72261         * modules/gc-rijndael-tests: Likewise.
72262         * modules/gc-sha1-tests: Likewise.
72263         * modules/gc-tests: Likewise.
72264         * modules/getaddrinfo-tests: Likewise.
72265         * modules/hmac-md5-tests: Likewise.
72266         * modules/hmac-sha1-tests: Likewise.
72267         * modules/linked-list-tests: Likewise.
72268         * modules/linkedhash-list-tests: Likewise.
72269         * modules/lock-tests: Likewise.
72270         * modules/md2-tests: Likewise.
72271         * modules/md4-tests: Likewise.
72272         * modules/md5-tests: Likewise.
72273         * modules/rbtree-list-tests: Likewise.
72274         * modules/rbtree-oset-tests: Likewise.
72275         * modules/rbtreehash-list-tests: Likewise.
72276         * modules/read-file-tests: Likewise.
72277         * modules/rijndael-tests: Likewise.
72278         * modules/stdint-tests: Likewise.
72279         * modules/tls-tests: Likewise.
72280
72281 2007-02-24  Bruno Haible  <bruno@clisp.org>
72282
72283         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
72284         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
72285         function; instead check whether isnan with a double argument links.
72286         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
72287         function; instead check whether isnan with a 'long double' argument
72288         links.
72289         Reported by Eric Blake <ebb9@byu.net>.
72290
72291 2007-02-24  Bruno Haible  <bruno@clisp.org>
72292
72293         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
72294         defined.
72295         * lib/isnanl.c: Remove all code. Just include isnan.c.
72296         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
72297
72298 2007-02-25  Jim Meyering  <jim@meyering.net>
72299
72300         Avoid conflicting types for 'unsetenv' on FreeBSD.
72301         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
72302         conflicting with FreeBSD's (5.0 and 6.1) function declaration
72303         in stdlib.h.
72304
72305 2007-02-24  Bruno Haible  <bruno@clisp.org>
72306
72307         * modules/isnanl-nolibm-tests: New file.
72308         * tests/test-isnanl.c: New file.
72309
72310         * modules/isnanl-nolibm: New file.
72311         * lib/isnanl.h: New file.
72312         * lib/isnanl.c: New file.
72313         * m4/isnanl.m4: New file.
72314
72315 2007-02-24  Bruno Haible  <bruno@clisp.org>
72316
72317         * modules/isnan-nolibm-tests: New file.
72318         * tests/test-isnan.c: New file.
72319
72320         * modules/isnan-nolibm: New file.
72321         * lib/isnan.h: New file.
72322         * lib/isnan.c: New file.
72323         * m4/isnan.m4: New file.
72324
72325 2007-02-24  Bruno Haible  <bruno@clisp.org>
72326
72327         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
72328         assume that an exponent fits in 20 bits.
72329
72330 2007-02-24  Jim Meyering  <jim@meyering.net>
72331
72332         * m4/regex.m4: Update the description of the configure-time option,
72333         --without-included-regex, to state accurately what the defaults are,
72334         and perhaps to give people an idea why using this option is risky.
72335
72336 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
72337
72338         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
72339         loops on small arguments.  This attempts to avoid the problem
72340         Bruno Haible reported for AIX 4.3.2 in
72341         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
72342
72343 2007-02-23  Bruno Haible  <bruno@clisp.org>
72344
72345         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
72346         Needed for help2man.
72347
72348 2007-02-23  Karl Berry  <karl@gnu.org>
72349
72350         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
72351         exists, foo.h should be cvs-ignored, not committed.
72352
72353 2007-02-23  Eric Blake  <ebb9@byu.net>
72354
72355         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
72356         * lib/stat-time.h (includes): Likewise.
72357         * lib/utimecmp.c (includes): Likewise.
72358         * lib/utimens.h (includes): Likewise.
72359         * lib/getdate.y (includes): Also include "timespec.h" for use
72360         internal to the module.
72361         * modules/utimens (Depends-on): Revert yesterday's patch.
72362         * modules/nanosleep (Depends-on): Add missing dependency.
72363
72364 2007-02-22  Bruno Haible  <bruno@clisp.org>
72365
72366         * lib/glob.c: Don't include getlogin_r.h.
72367
72368 2007-02-22  Jim Meyering  <jim@meyering.net>
72369
72370         * modules/utimens (Depends-on): Add timespec, required for
72371         utimens.h's inclusion of timespec.h.
72372
72373 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
72374
72375         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
72376         long unreadable paths in GNU/Linux.  Problem reported by Andreas
72377         Schwab in
72378         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
72379         I'll try to think of a better way to fix the Solaris problem.
72380
72381         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
72382         like glibc; on Solaris 10, it fails with errno == EINVAL.
72383         POSIX says the behavior is unspecified if the first argument is NULL,
72384         so play it safe and never pass NULL to the system getcwd.
72385
72386 2007-02-21  Jim Meyering  <jim@meyering.net>
72387
72388         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
72389         of gettimeofday.  It would conflict with the one now always
72390         provided via sys_time_.h.  Reported by Matthew Woehlke, as
72391         an IRIX 6.5 build failure.
72392
72393 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
72394
72395         Minor fixups to port to Solaris 10 with Sun C 5.8.
72396         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
72397         * modules/getcwd (Depends-on): Add dirfd.
72398         * lib/putenv.c (putenv): #undef it.
72399         (rpl_putenv): New decl.
72400         (malloc, free): Include <stdlib.h> rather than prototyping separately.
72401
72402 2007-02-20  Bruno Haible  <bruno@clisp.org>
72403
72404         * modules/stdio-tests: New file.
72405         * tests/test-stdio.c: New file.
72406
72407         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
72408         (Depends-on): Add stdio.
72409         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
72410         (Include): Use <stdio.h> instead of vsnprintf.h.
72411         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
72412         HAVE_DECL_VSNPRINTF.
72413         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
72414
72415         * modules/snprintf (Files): Remove lib/snprintf.h.
72416         (Depends-on): Add stdio.
72417         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
72418         (Include): Use <stdio.h> instead of snprintf.h.
72419         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
72420         HAVE_DECL_SNPRINTF.
72421         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
72422         * lib/getaddrinfo.c: Likewise.
72423
72424         * modules/stdio: New file.
72425         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
72426         * lib/snprintf.h: Remove file.
72427         * lib/vsnprintf.h: Remove file.
72428         * lib/.cppi-disable: Remove snprintf.h.
72429         * m4/stdio_h.m4: New file.
72430         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
72431
72432 2007-02-20  Jim Meyering  <jim@meyering.net>
72433
72434         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
72435         used by e.g., mingw.  From Bruno Haible.
72436
72437 2007-02-19  Bruno Haible  <bruno@clisp.org>
72438
72439         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
72440         warnings.
72441         Reported by Ben Pfaff <blp@cs.stanford.edu>.
72442
72443 2007-02-19  Bruno Haible  <bruno@clisp.org>
72444
72445         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
72446         from mingw users.
72447
72448 2007-02-19  Bruno Haible  <bruno@clisp.org>
72449
72450         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
72451         warnings.
72452         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
72453
72454 2007-02-19  Jim Meyering  <jim@meyering.net>
72455
72456         Don't use FD after a successful "fdopendir (fd)".
72457         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
72458         Reset it by calling dirfd on the just-obtained DIR*.
72459
72460         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
72461         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
72462
72463 2007-02-18  Bruno Haible  <bruno@clisp.org>
72464
72465         * lib/readlink.c: Include <unistd.h>.
72466         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
72467         HAVE_READLINK.
72468         * modules/readlink (Depends-on): Add unistd.
72469         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72470         (Include): Add <unistd.h>.
72471
72472         * lib/getlogin_r.h: Remove file.
72473         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
72474         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
72475         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
72476         HAVE_DECL_GETLOGIN_R.
72477         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
72478         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72479         (Include): Use <unistd.h> instead of getlogin_r.h.
72480
72481         * lib/getcwd.h: Remove file.
72482         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
72483         * lib/xgetcwd.c: Likewise.
72484         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
72485         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
72486         * modules/getcwd (Files): Remove lib/getcwd.h.
72487         (Depends-on): Add unistd.
72488         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72489         (Include): Use <unistd.h> instad of getcwd.h.
72490
72491         * lib/ftruncate.c: Include <unistd.h> first.
72492         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
72493         Set HAVE_FTRUNCATE.
72494         * modules/ftruncate (Depends-on): Add unistd.
72495         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72496
72497         * lib/fchdir.c: Include <unistd.h> first.
72498         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
72499         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
72500         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
72501         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72502         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
72503
72504         * lib/dup2.c: Include <unistd.h> first.
72505         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
72506         HAVE_DUP2.
72507         * modules/dup2 (Depends-on): Add unistd.
72508         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72509
72510         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
72511         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
72512         REPLACE_CHOWN. Don't define chown as a macro here.
72513         * modules/chown (Depends-on): Add unistd.
72514         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72515
72516         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
72517         Add definition for GL_LINK_WARNING.
72518         (chown, dup2): New declarations.
72519         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
72520         link warning.
72521         (ftruncate): New declaration.
72522         (getcwd): New declaration, taken from old getcwd.h.
72523         (getlogin_r): New declaration, taken from old getlogin_r.h.
72524         (readlink): New declaration.
72525         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
72526         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
72527         (gl_PREREQ_UNISTD): Remove macro.
72528         (gl_UNISTD_MODULE_INDICATOR): New macro.
72529         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
72530         many new variables. Don't set UNISTD_H.
72531         * modules/unistd (Description): Change.
72532         (Depends-on): Add link-warning.
72533         (configure.ac): Update.
72534         (Makefile.am): Create unistd.h always. Substitute many new variables
72535         into it.
72536
72537 2007-02-18  Bruno Haible  <bruno@clisp.org>
72538
72539         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
72540         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
72541         HAVE_GETSUBOPT.
72542         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
72543         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
72544         * lib/getsubopt.h: Remove file.
72545         * modules/getsubopt (Files): Remove lib/getsubopt.h.
72546         (Depends-on): Add stdlib.
72547         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
72548         (Includes): Use <stdlib.h> instead of getsubopt.h.
72549         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
72550         Set HAVE_GETSUBOPT.
72551         * lib/getsubopt.c: Don't include getsubopt.h.
72552
72553 2007-02-18  Bruno Haible  <bruno@clisp.org>
72554
72555         * modules/fchdir (Depends-on): Add dup2.
72556
72557 2007-02-18  Bruno Haible  <bruno@clisp.org>
72558
72559         * lib/stdlib_.h: Handle glibc's special invocation convention
72560         specially.
72561
72562 2007-02-18  Bruno Haible  <bruno@clisp.org>
72563
72564         * modules/stdlib-tests: New file.
72565         * tests/test-stdlib.c: New file.
72566
72567         * modules/mkstemp (Files): Remove lib/mkstemp.h.
72568         (Depends-on): Add stdlib.
72569         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
72570         (Includes): Use <stdlib.h> instead of mkstemp.h.
72571         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
72572         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
72573         * lib/mkstemp.c: Don't include mkstemp.h.
72574         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
72575         * lib/stdlib--.h: Don't include mkstemp.h.
72576
72577         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
72578         (Depends-on): Add stdlib.
72579         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
72580         (Includes): Use <stdlib.h> instead of mkdtemp.h.
72581         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
72582         HAVE_MKDTEMP.
72583         * lib/mkdtemp.c: Don't include mkdtemp.h.
72584         * lib/clean-temp.c: Don't include mkdtemp.h.
72585
72586         * modules/exit (Files): Remove lib/exit.h.
72587         (Depends-on): Add stdlib.
72588         (Makefile.am): Remove lib_SOURCES.
72589         (Include): Use <stdlib.h> instead of exit.h.
72590         * lib/argmatch.c: Don't include exit.h.
72591         * lib/execute.c: Likewise.
72592         * lib/pagealign_alloc.c: Likewise.
72593         * lib/pipe.c: Likewise.
72594         * lib/wait-process.c: Likewise.
72595         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
72596         * lib/exitfail.c: Likewise.
72597         * lib/savewd.c: Likewise.
72598         * lib/xsetenv.c: Likewise.
72599
72600         * modules/stdlib: New file.
72601         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
72602         and extra comments about mkstemp().
72603         * lib/exit.h: Remove file.
72604         * lib/mkdtemp.h: Remove file.
72605         * lib/mkstemp.h: Remove file.
72606         * m4/stdlib_h.m4: New file.
72607         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
72608
72609 2007-02-18  Bruno Haible  <bruno@clisp.org>
72610
72611         * modules/math-tests: New file.
72612         * tests/test-math.c: New file.
72613
72614         * modules/math: New file.
72615         * modules/mathl (Files): Remove lib/mathl.h.
72616         (Depends-on): Add math.
72617         (Makefile.am): Don't mention mathl.h.
72618         (Include): Use <math.h> instead of mathl.h.
72619         * lib/math_.h: New file.
72620         * lib/mathl.h: Remove file.
72621         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
72622         mathl.h.
72623         * lib/asinl.c: Likewise.
72624         * lib/atanl.c: Likewise.
72625         * lib/ceill.c: Likewise.
72626         * lib/cosl.c: Likewise.
72627         * lib/expl.c: Likewise.
72628         * lib/floorl.c: Likewise.
72629         * lib/frexpl.c: Likewise.
72630         * lib/ldexpl.c: Likewise.
72631         * lib/logl.c: Likewise.
72632         * lib/sincosl.c: Likewise.
72633         * lib/sinl.c: Likewise.
72634         * lib/sqrtl.c: Likewise.
72635         * lib/tanl.c: Likewise.
72636         * lib/trigl.c: Likewise.
72637         * m4/math_h.m4: New file.
72638         * MODULES.html.sh (Mathematics): Add math.
72639
72640 2007-02-17  Bruno Haible  <bruno@clisp.org>
72641
72642         * modules/wctype-tests: New file.
72643         * tests/test-wctype.c: New file.
72644
72645         * modules/wchar-tests: New file.
72646         * tests/test-wchar.c: New file.
72647
72648         * modules/unistd-tests: New file.
72649         * tests/test-unistd.c: New file.
72650
72651         * modules/time-tests: New file.
72652         * tests/test-time.c: New file.
72653
72654         * modules/sysexits-tests: New file.
72655         * tests/test-sysexits.c: New file.
72656
72657         * modules/sys_time-tests: New file.
72658         * tests/test-sys_time.c: New file.
72659
72660         * modules/sys_stat-tests: New file.
72661         * tests/test-sys_stat.c: New file.
72662
72663         * modules/sys_socket-tests: New file.
72664         * tests/test-sys_socket.c: New file.
72665
72666         * modules/sys_select-tests: New file.
72667         * tests/test-sys_select.c: New file.
72668
72669         * modules/string-tests: New file.
72670         * tests/test-string.c: New file.
72671
72672         * modules/stdbool-tests: New file.
72673         * tests/test-stdbool.c: New file.
72674
72675         * modules/netinet_in-tests: New file.
72676         * tests/test-netinet_in.c: New file.
72677
72678         * modules/inttypes-tests: New file.
72679         * tests/test-inttypes.c: New file.
72680
72681         * modules/fcntl-tests: New file.
72682         * tests/test-fcntl.c: New file.
72683
72684         * modules/byteswap-tests: New file.
72685         * tests/test-byteswap.c: New file.
72686
72687         * modules/arpa_inet-tests: New file.
72688         * tests/test-arpa_inet.c: New file.
72689
72690 2007-02-17  Bruno Haible  <bruno@clisp.org>
72691
72692         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
72693         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
72694         if the corresponding module is not enabled. Emit link warnings if
72695         the function is used nevertheless.
72696         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
72697         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
72698         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
72699         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
72700         * modules/inttypes (Depends-on): Add link-warning.
72701         (Makefile.am): Copy the contents of build-aux/link-warning.h into
72702         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
72703         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
72704         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
72705         * modules/imaxdiv (configure.ac): Likewise.
72706         * modules/strtoimax (configure.ac): Likewise.
72707         * modules/strtoumax (configure.ac): Likewise.
72708
72709 2007-02-17  Bruno Haible  <bruno@clisp.org>
72710
72711         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
72712         gl_STRING_MODULE_INDICATOR_DEFAULTS.
72713         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
72714         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
72715
72716 2007-02-17  Bruno Haible  <bruno@clisp.org>
72717
72718         * modules/link-warning: New file.
72719         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
72720         * lib/string_.h (GL_LINK_WARNING): Remove definition.
72721         * modules/string (Depends-on): Add link-warning.
72722         (Makefile.am): Copy the contents of build-aux/link-warning.h into
72723         string.h.
72724         * MODULES.html.sh (Support for building libraries and executables): Add
72725         link-warning.
72726
72727 2007-02-17  Bruno Haible  <bruno@clisp.org>
72728
72729         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
72730         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
72731         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
72732         long lines.
72733
72734 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
72735             Bruno Haible  <bruno@clisp.org>
72736
72737         * modules/tmpfile: New file.
72738         * lib/tmpfile.c: New file.
72739         * m4/tmpfile.m4: New file.
72740         * MODULES.html.sh (func_all_modules): New section "Input/output".
72741
72742 2007-02-15  Bruno Haible  <bruno@clisp.org>
72743
72744         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
72745         (supports_delete_on_close): New function.
72746         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
72747
72748 2007-02-14  Bruno Haible  <bruno@clisp.org>
72749
72750         * modules/mbspcasecmp-tests: New file.
72751         * tests/test-mbspcasecmp.sh: New file.
72752         * tests/test-mbspcasecmp.c: New file.
72753
72754         New module mbspcasecmp.
72755         * modules/mbspcasecmp: New file.
72756         * lib/mbspcasecmp.c: New file.
72757         * lib/string_.h (strncasecmp): Change warning message.
72758         (mbspcasecmp): New declaration.
72759         * m4/mbspcasecmp.m4: New file.
72760         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
72761         GNULIB_MBSPCASECMP.
72762         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
72763         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
72764
72765 2007-02-14  Bruno Haible  <bruno@clisp.org>
72766
72767         * modules/mbsncasecmp-tests: New file.
72768         * tests/test-mbsncasecmp.sh: New file.
72769         * tests/test-mbsncasecmp.c: New file.
72770
72771         New module mbsncasecmp.
72772         * modules/mbsncasecmp: New file.
72773         * lib/mbsncasecmp.c: New file.
72774         * lib/string_.h (mbsncasecmp): New declaration.
72775         * m4/mbsncasecmp.m4: New file.
72776         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
72777         GNULIB_MBSNCASECMP.
72778         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
72779         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
72780
72781 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
72782
72783         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
72784         Verify that it doesn't overlap with our flags.
72785         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
72786         do not have the desired effect in multibyte locales; instead, use
72787         mbscasecmp.
72788         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
72789         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
72790         we don't require GNU fnmatch ourselves (if our users require it, they
72791         should do so explicitly).
72792
72793         Fix regex code so it doesn't rely on strcasecmp.
72794         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
72795         Otherwise, include gnulib's langinfo.h.
72796         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
72797         undesirable behavior in non-C locales.  Instead, rely on localecharset.
72798         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
72799         * modules/regex (FILES): Remove m4/codeset.m4.
72800         (Depends-on): Add localcharset.  Remove strcase.
72801
72802 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72803
72804         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
72805         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
72806
72807 2007-02-13  Bruno Haible  <bruno@clisp.org>
72808
72809         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
72810         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72811
72812 2007-02-12  Bruno Haible  <bruno@clisp.org>
72813
72814         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
72815         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
72816         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
72817         time warning rather than a link error.
72818
72819 2007-02-12  Bruno Haible  <bruno@clisp.org>
72820
72821         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
72822         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
72823         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72824
72825 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
72826
72827         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
72828         args, not 2.
72829
72830 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
72831
72832         New module 'time', so that apps can include <time.h> as per
72833         POSIX and GNU instead of separate include files like time_r.h
72834         and timegm.h.  This implementation tries out a simpler approach
72835         for replacing decls in standard include files (as compared to
72836         the string module), somewhat as an experiment.
72837
72838         * config/srclist.txt: Comment out mktime.c for now.
72839         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
72840         since it doesn't apply any more.  Use generic wording instead.
72841         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
72842         'time'.
72843         * lib/time_.h, m4/time_h.m4, modules/time: New files.
72844         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
72845         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
72846         Don't include <sys/types.h>; no longer needed since we assume C89.
72847         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
72848         * lib/strftime.c: Likewise.
72849         * lib/time_r.c: Likewise.
72850         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
72851         * lib/nanosleep.c: Include <time.h> first, to check interface.
72852         * lib/strptime.c: Likewise.
72853         * lib/time_r.c: Likewise.
72854         * lib/timegm.c: Likewise.
72855         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
72856         needed.
72857         * lib/timegm.c: Don't include timegm.h; no longer needed.
72858         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
72859         time.h now handles any problems in that area.
72860         (struct timespec, nanosleep): Remove; time.h now arranges for these.
72861         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
72862         that time.h defines struct timespec.
72863         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
72864         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
72865         handles that.
72866         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
72867         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
72868         needed.  Set REPLACE_LOCALTIME.
72869         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
72870         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
72871         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
72872         nanosleep; time_h.m4 now does that.  Don't require
72873         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
72874         module handles this now.
72875         * modules/getdate (Depends-on): Remove timespec.  Add time.
72876         * modules/nanosleep (Depends-on): Likewise.
72877         * modules/stat-time (Depends-on): Likewise.
72878         * modules/nanosleep (Include): Include time.h, not timespec.h.
72879         * modules/strptime (Files): Remove lib/strptime.h.
72880         (Depends-on): Add extensions, time.
72881         (Include): Include time.h, not strptime.h.
72882         * modules/time_r (Files): Remove lib/time_r.h.
72883         (Depends-on): Add time.
72884         (Include): Include time.h, not time_r.h.
72885         * modules/timegm: Likewise.
72886         * modules/timespec (Description): Now does timespec-related decls
72887         of our own, instead of struct timespec itself.
72888         (Depends-on): Add time; remove extensions.
72889         (Maintainer): Add self.
72890         * modules/utimecmp (Depends-on): Add time; remove timespec.
72891         * modules/utimens (Depends-on): Likewise.
72892         * modules/xnanosleep (Depends-on): Likewise.
72893
72894 2007-02-11  Bruno Haible  <bruno@clisp.org>
72895
72896         * lib/c-strstr.c: Include allocsa.h.
72897         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
72898         * lib/c-strcasestr.c: Include allocsa.h.
72899         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
72900         * lib/strcasestr.c: Include allocsa.h.
72901         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
72902         * lib/mbsstr.c: Include allocsa.h.
72903         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
72904         allocsa/freesa instead of malloc/free.
72905         * lib/mbscasestr.c: Include allocsa.h.
72906         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
72907         allocsa/freesa instead of malloc/free.
72908         * modules/c-strstr (Depends-on): Add allocsa.
72909         * modules/c-strcasestr (Depends-on): Likewise.
72910         * modules/strcasestr (Depends-on): Likewise.
72911         * modules/mbsstr (Depends-on): Likewise.
72912         * modules/mbscasestr (Depends-on): Likewise.
72913
72914 2007-02-11  Bruno Haible  <bruno@clisp.org>
72915
72916         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
72917
72918         * modules/mbsspn-tests: New file.
72919         * tests/test-mbsspn.sh: New file.
72920         * tests/test-mbsspn.c: New file.
72921
72922 2007-02-11  Bruno Haible  <bruno@clisp.org>
72923
72924         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
72925
72926         * modules/mbspbrk-tests: New file.
72927         * tests/test-mbspbrk.sh: New file.
72928         * tests/test-mbspbrk.c: New file.
72929
72930 2007-02-11  Bruno Haible  <bruno@clisp.org>
72931
72932         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
72933         unneeded cast.
72934
72935         * modules/mbscspn-tests: New file.
72936         * tests/test-mbscspn.sh: New file.
72937         * tests/test-mbscspn.c: New file.
72938
72939 2007-02-11  Bruno Haible  <bruno@clisp.org>
72940
72941         * modules/mbscasecmp-tests: New file.
72942         * tests/test-mbscasecmp.sh: New file.
72943         * tests/test-mbscasecmp.c: New file.
72944
72945 2007-02-11  Bruno Haible  <bruno@clisp.org>
72946
72947         Ensure O(n) worst-case complexity of mbscasestr.
72948         * lib/mbscasestr.c: Include stdbool.h.
72949         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
72950         functions.
72951         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
72952         the bookkeeping indicates that it's worth it.
72953         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
72954
72955         * modules/mbscasestr-tests: New file.
72956         * tests/test-mbscasestr1.c: New file.
72957         * tests/test-mbscasestr2.sh: New file.
72958         * tests/test-mbscasestr2.c: New file.
72959         * tests/test-mbscasestr3.sh: New file.
72960         * tests/test-mbscasestr3.c: New file.
72961         * tests/test-mbscasestr4.sh: New file.
72962         * tests/test-mbscasestr4.c: New file.
72963         * m4/locale-tr.m4: New file.
72964
72965 2007-02-11  Bruno Haible  <bruno@clisp.org>
72966
72967         Ensure O(n) worst-case complexity of mbsstr.
72968         * lib/mbsstr.c: Include stdbool.h.
72969         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
72970         functions.
72971         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
72972         bookkeeping indicates that it's worth it.
72973         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
72974
72975         * modules/mbsstr-tests: New file.
72976         * tests/test-mbsstr1.c: New file.
72977         * tests/test-mbsstr2.sh: New file.
72978         * tests/test-mbsstr2.c: New file.
72979         * tests/test-mbsstr3.sh: New file.
72980         * tests/test-mbsstr3.c: New file.
72981         * m4/locale-fr.m4: New file.
72982
72983 2007-02-11  Bruno Haible  <bruno@clisp.org>
72984
72985         * lib/mbsrchr.c (mbsrchr): Fix bug.
72986
72987         * modules/mbsrchr-tests: New file.
72988         * tests/test-mbsrchr.sh: New file.
72989         * tests/test-mbsrchr.c: New file.
72990
72991 2007-02-11  Bruno Haible  <bruno@clisp.org>
72992
72993         * lib/mbschr.c (mbschr): Fix bug.
72994
72995         * modules/mbschr-tests: New file.
72996         * tests/test-mbschr.sh: New file.
72997         * tests/test-mbschr.c: New file.
72998         * m4/locale-zh.m4: New file.
72999
73000 2007-02-11  Bruno Haible  <bruno@clisp.org>
73001
73002         Support for copying multibyte string iterators.
73003         * lib/mbiter.h: Include <string.h>.
73004         (mbiter_multi_copy): New function.
73005         (mbi_copy): New macro.
73006         * lib/mbuiter.h: Include <string.h>.
73007         (mbuiter_multi_copy): New function.
73008         (mbui_copy): New macro.
73009
73010 2007-02-11  Bruno Haible  <bruno@clisp.org>
73011
73012         New module mbslen.
73013         * modules/mbslen: New file.
73014         * lib/mbslen.c: New file.
73015         * lib/string_.h (mbslen): New declaration.
73016         * m4/mbslen.m4: New file.
73017         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73018         GNULIB_MBSLEN.
73019         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
73020         * MODULES.html.sh (Internationalization functions): Add mbslen.
73021
73022 2007-02-11  Bruno Haible  <bruno@clisp.org>
73023
73024         Ensure O(n) worst-case complexity of strcasestr substitute.
73025         * lib/strcasestr.c: Include stdbool.h.
73026         (knuth_morris_pratt): New function.
73027         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
73028         bookkeeping indicates that it's worth it.
73029         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
73030
73031         * modules/strcasestr-tests: New file.
73032         * tests/test-strcasestr.c: New file.
73033
73034 2007-02-11  Bruno Haible  <bruno@clisp.org>
73035
73036         Ensure O(n) worst-case complexity of c_strcasestr.
73037         * lib/c-strcasestr.c: Include stdbool.h, string.h.
73038         (knuth_morris_pratt): New function.
73039         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
73040         the bookkeeping indicates that it's worth it.
73041         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
73042
73043         * modules/c-strcasestr-tests: New file.
73044         * tests/test-c-strcasestr.c: New file.
73045
73046 2007-02-11  Bruno Haible  <bruno@clisp.org>
73047
73048         Ensure O(n) worst-case complexity of c_strstr.
73049         * lib/c-strstr.c: Include stdbool.h, string.h.
73050         (knuth_morris_pratt): New function.
73051         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
73052         bookkeeping indicates that it's worth it.
73053         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
73054
73055         * lib/c-strstr.c: Complete rewrite for maintainability.
73056
73057         * modules/c-strstr-tests: New file.
73058         * tests/test-c-strstr.c: New file.
73059
73060 2007-02-11  Bruno Haible  <bruno@clisp.org>
73061
73062         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
73063         5.2.1 and earlier, whereby \055 was treated just like the range
73064         delimiter '-'.
73065         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
73066
73067 2007-02-08  Bruno Haible  <bruno@clisp.org>
73068
73069         * modules/regex (Depends-on): Add stdbool.
73070         Reported by Dalibor Topic <robilad@kaffe.org>.
73071
73072 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
73073
73074         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
73075         Prefer returning from main to exiting from it.
73076         Remove unnecessary parens after sizeof.
73077
73078 2007-02-05  Bruno Haible  <bruno@clisp.org>
73079
73080         New module mbssep.
73081         * modules/mbssep: New file.
73082         * lib/mbssep.c: New file.
73083         * lib/string_.h (strsep): Add a conditional link warning.
73084         (mbssep): New declaration.
73085         * m4/mbssep.m4: New file.
73086         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73087         GNULIB_MBSSEP.
73088         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
73089         * MODULES.html.sh (Internationalization functions): Add mbssep.
73090
73091 2007-02-05  Bruno Haible  <bruno@clisp.org>
73092
73093         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
73094         Optimize search in case of 1 delimiter.
73095
73096 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
73097
73098         * lib/acl.h: Include sys/types.h before sys/acl.h.
73099
73100 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
73101
73102         Merge upstream fix for glibc bugzilla #3957:
73103
73104         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
73105
73106         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
73107         bit for RE_HAT_LISTS_NOT_NEWLINE.
73108         (build_charclass_op): Remove bogus comment.
73109
73110 2007-02-05  Simon Josefsson  <simon@josefsson.org>
73111
73112         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
73113
73114 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
73115
73116         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
73117         * lib/memmem.c [!defined _LIBC]: Include config.h.
73118
73119 2007-02-04  Bruno Haible  <bruno@clisp.org>
73120
73121         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
73122         warning message.
73123
73124 2007-02-04  Bruno Haible  <bruno@clisp.org>
73125
73126         New module mbstok_r.
73127         * modules/mbstok_r: New file.
73128         * lib/mbstok_r.c: New file.
73129         * lib/string_.h (strtok_r): Change argument names to match the
73130         comments. Add a conditional link warning.
73131         (mbstok_r): New declaration.
73132         * m4/mbstok_r.m4: New file.
73133         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73134         GNULIB_MBSTOK_R.
73135         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
73136         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
73137
73138 2007-02-04  Bruno Haible  <bruno@clisp.org>
73139
73140         New module mbsspn.
73141         * modules/mbsspn: New file.
73142         * lib/mbsspn.c: New file.
73143         * lib/string_.h (strspn): Add a conditional link warning.
73144         (mbsspn): New declaration.
73145         * m4/mbsspn.m4: New file.
73146         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73147         GNULIB_MBSSPN.
73148         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
73149         * MODULES.html.sh (Internationalization functions): Add mbsspn.
73150
73151 2007-02-04  Bruno Haible  <bruno@clisp.org>
73152
73153         New module mbspbrk.
73154         * modules/mbspbrk: New file.
73155         * lib/mbspbrk.c: New file.
73156         * lib/string_.h (strpbrk): Add a conditional link warning.
73157         (mbspbrk): New declaration.
73158         * m4/mbspbrk.m4: New file.
73159         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73160         GNULIB_MBSPBRK.
73161         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
73162         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
73163
73164 2007-02-04  Bruno Haible  <bruno@clisp.org>
73165
73166         New module mbscspn.
73167         * modules/mbscspn: New file.
73168         * lib/mbscspn.c: New file.
73169         * lib/string_.h (strcspn): Add a conditional link warning.
73170         (mbscspn): New declaration.
73171         * m4/mbscspn.m4: New file.
73172         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73173         GNULIB_MBSCSPN.
73174         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
73175         * MODULES.html.sh (Internationalization functions): Add mbscspn.
73176
73177 2007-02-04  Bruno Haible  <bruno@clisp.org>
73178
73179         New module mbscasestr, reduced goal of strcasestr.
73180         * modules/mbscasestr: New file.
73181         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
73182         (mbscasestr): Renamed from strcasestr.
73183         * lib/strcasestr.c: Don't include mbuiter.h.
73184         (strcasestr): Remove support for multibyte locales.
73185         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
73186         Change the conditional link warning.
73187         (mbscasestr): New declaration.
73188         * m4/mbscasestr.m4: New file.
73189         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
73190         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
73191         REPLACE_STRCASESTR.
73192         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
73193         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
73194         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
73195         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
73196         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
73197         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
73198         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
73199         (Depends-on): Remove mbuiter.
73200         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
73201
73202 2007-02-04  Bruno Haible  <bruno@clisp.org>
73203
73204         Simplify handling of strncasecmp.
73205         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
73206         the conditional link warning.
73207         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
73208         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
73209         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
73210         * modules/strcase (configure.ac): Don't invoke
73211         gl_STRING_MODULE_INDICATOR.
73212         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
73213
73214 2007-02-04  Bruno Haible  <bruno@clisp.org>
73215
73216         New module mbscasecmp, reduced goal of strcasecmp.
73217         * modules/mbscasecmp: New file.
73218         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
73219         (mbscasecmp): Renamed from strcasecmp.
73220         * lib/strcasecmp.c: Don't include mbuiter.h.
73221         (strcasecmp): Remove support for multibyte locales.
73222         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
73223         Change the conditional link warning.
73224         (mbscasecmp): New declaration.
73225         * m4/mbscasecmp.m4: New file.
73226         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
73227         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
73228         REPLACE_STRCASECMP.
73229         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
73230         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73231         GNULIB_MBSCASECMP.
73232         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
73233         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
73234         * modules/strcase (Files): Remove m4/mbrtowc.m4.
73235         (Depends-on): Remove mbuiter.
73236         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
73237
73238 2007-02-04  Bruno Haible  <bruno@clisp.org>
73239
73240         New module mbsstr. Remove module strstr.
73241         * modules/mbsstr: New file.
73242         * modules/strstr: Remove file.
73243         * lib/mbsstr.c: Renamed from lib/strstr.c.
73244         (mbsstr): Renamed from strstr.
73245         * lib/string_.h (strstr): Remove declaration. Change the conditional
73246         link warning.
73247         (mbsstr): New declaration.
73248         * m4/mbsstr.m4: New file.
73249         * m4/strstr.m4: Remove file.
73250         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
73251         REPLACE_STRSTR.
73252         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
73253         Don't initialize GNULIB_STRSTR.
73254         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
73255         substitute GNULIB_STRSTR and REPLACE_STRSTR.
73256         * MODULES.html.sh (Internationalization functions): Add mbsstr.
73257         (Support for systems lacking ANSI C 89): Remove strstr.
73258
73259 2007-02-04  Bruno Haible  <bruno@clisp.org>
73260
73261         New module mbsrchr.
73262         * modules/mbsrchr: New file.
73263         * lib/mbsrchr.c: New file.
73264         * lib/string_.h (strrchr): Add a conditional link warning.
73265         (mbsrchr): New declaration.
73266         * m4/mbsrchr.m4: New file.
73267         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73268         GNULIB_MBSRCHR.
73269         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
73270         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
73271
73272 2007-02-04  Bruno Haible  <bruno@clisp.org>
73273
73274         New module mbschr.
73275         * modules/mbschr: New file.
73276         * lib/mbschr.c: New file.
73277         * lib/string_.h (strchr): Add a conditional link warning.
73278         (mbschr): New declaration.
73279         * m4/mbschr.m4: New file.
73280         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73281         GNULIB_MBSCHR.
73282         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
73283         * MODULES.html.sh (Internationalization functions): Add mbschr.
73284
73285 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
73286
73287         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
73288
73289         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
73290
73291 2007-02-04  Bruno Haible  <bruno@clisp.org>
73292
73293         New module description section 'configure.ac-early'.
73294         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
73295         (func_get_autoconf_early_snippet): New function.
73296         (func_import, func_create_testdir): Use it. Remove special cases for
73297         modules 'extensions' and 'lock'.
73298         * modules/extensions (configure.ac-early): Require
73299         gl_USE_SYSTEM_EXTENSIONS.
73300         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
73301
73302 2007-02-04  Bruno Haible  <bruno@clisp.org>
73303
73304         Make use of gcj-4.3's -fsource and -ftarget option.
73305         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
73306         and if so try the options -fsource and -ftarget.
73307         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
73308         source_version, ftarget_option, target_version arguments.
73309         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
73310         (is_envjavac_oldgcj_14_14_usable): Renamed from
73311         is_envjavac_gcj_14_14_usable.
73312         (is_envjavac_oldgcj_14_13_usable): Renamed from
73313         is_envjavac_gcj_14_13_usable.
73314         (is_gcj_present): Update.
73315         (is_gcj_43, is_gcj43_usable): New functions.
73316         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
73317         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
73318         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
73319         try the options -fsource and -ftarget.
73320
73321 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
73322
73323         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
73324         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
73325         larger value.
73326
73327 2007-02-03  Jim Meyering  <jim@meyering.net>
73328
73329         Give tools a better chance to allocate space for very large buffers.
73330         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
73331
73332         Make pwd and readlink work also when run with an unreadable parent dir
73333         on systems with openat support.
73334         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
73335         provided getcwd function, even when we have openat support.
73336         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
73337
73338 2007-02-02  Bruno Haible  <bruno@clisp.org>
73339
73340         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
73341         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
73342         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
73343         portability problems if one of these functions is only used on specific
73344         platforms.
73345         Reported by Paul Eggert.
73346
73347 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
73348
73349         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
73350         is causing more trouble than it's curing.
73351         * lib/regex_internal.h (__mempcpy): Remove.
73352         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
73353         (and make the code a tad smaller to boot).
73354         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
73355
73356 2007-02-02  Jim Meyering  <jim@meyering.net>
73357
73358         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
73359         section, not in the Makefile.am: one.
73360
73361 2007-02-02  Eric Blake  <ebb9@byu.net>
73362
73363         * lib/strchrnul.c: Always include config.h first.
73364
73365         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
73366         gnulib strstr is not necessary here.
73367
73368 2007-02-02  Simon Josefsson  <simon@josefsson.org>
73369
73370         * m4/socklen.m4: Fix typo.
73371
73372 2007-02-02  Eric Blake  <ebb9@byu.net>
73373
73374         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
73375         * modules/netinet_in (Makefile.am): Likewise.
73376
73377 2007-02-01  Bruno Haible  <bruno@clisp.org>
73378
73379         * lib/string_.h (GL_LINK_WARNING): New macro.
73380         (strcasecmp, strstr, strcasestr): If provided by the system,
73381         conditionally define as a macro that leads to a warning instead of to
73382         an error.
73383         (strncasecmp): Conditionally define as a macro that leads to a warning.
73384
73385 2007-02-01  Karl Berry  <karl@gnu.org>
73386
73387         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
73388
73389 2007-02-01  Bruno Haible  <bruno@clisp.org>
73390
73391         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
73392         renamings.
73393
73394 2007-02-01  Eric Blake  <ebb9@byu.net>
73395
73396         * modules/regex (Depends-on): Revert dependence on mempcpy.
73397         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
73398         module's definition of mempcpy.
73399         Reported by Paul Eggert.
73400
73401 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
73402
73403         * lib/string_.h: If the gnulib module XYZ is not present, undefine
73404         the symbol XYZ before redefining it.  This fixes a problem with
73405         programs that don't use XYZ, when compiled on systems that define
73406         XYZ to something else.
73407
73408 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
73409
73410         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
73411         occurs when "mkdir -m foo" creates a setgid directory that is (1)
73412         writeable to group or other and (2) is intended to have a special
73413         mode bit that is set or cleared.  In such a case, the directory
73414         should be neither group- nor other-writeable until the special
73415         mode bits are right.
73416
73417 2007-01-31  Eric Blake  <ebb9@byu.net>
73418
73419         * modules/mountlist (Depends-on): Add strstr.
73420
73421         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
73422         bug.
73423         * modules/string (Makefile.am): Remove redundant replacement.
73424         * modules/regex (Depends-on): Add mempcpy.
73425
73426 2007-01-31  Bruno Haible  <bruno@clisp.org>
73427
73428         New module description field 'Link'.
73429         * gnulib-tool (func_usage): Document --extract-link-directive.
73430         (sed_extract_prog): Recognize 'Link' directive.
73431         (func_get_link_directive): New function.
73432         (func_import): Show summary of link directives.
73433         Handle --extract-link-directive option.
73434         * modules/acl (Link): New section.
73435         * modules/clock-time (Link): New section.
73436         * modules/euidaccess (Link): New section.
73437         * modules/gettext (Link): New section.
73438         * modules/iconv (Link): New section.
73439         * modules/lock (Link): New section.
73440         * modules/nanosleep (Link): New section.
73441         * modules/readline (Link): New section.
73442
73443 2007-01-27  Bruno Haible  <bruno@clisp.org>
73444
73445         Enforce the use of gnulib modules for unportable <string.h> functions.
73446         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
73447         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
73448         (gl_HEADER_STRING_H_BODY): Require it.
73449         * lib/string_.h: If the gnulib module XYZ is not present, redefine
73450         the symbol XYZ to one that gives a link error.
73451         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
73452         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
73453         * modules/mempcpy (configure.ac): Likewise.
73454         * modules/memrchr (configure.ac): Likewise.
73455         * modules/stpcpy (configure.ac): Likewise.
73456         * modules/stpncpy (configure.ac): Likewise.
73457         * modules/strcase (configure.ac): Likewise.
73458         * modules/strcasestr (configure.ac): Likewise.
73459         * modules/strchrnul (configure.ac): Likewise.
73460         * modules/strdup (configure.ac): Likewise.
73461         * modules/strndup (configure.ac): Likewise.
73462         * modules/strnlen (configure.ac): Likewise.
73463         * modules/strpbrk (configure.ac): Likewise.
73464         * modules/strsep (configure.ac): Likewise.
73465         * modules/strstr (configure.ac): Likewise.
73466         * modules/strtok_r (configure.ac): Likewise.
73467
73468 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
73469
73470         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
73471
73472 2007-01-30  Jim Meyering  <jim@meyering.net>
73473
73474         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
73475
73476 2007-01-29  Bruno Haible  <bruno@clisp.org>
73477
73478         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
73479         * lib/execute.c: Likewise.
73480         * lib/pipe.c: Likewise.
73481         * lib/printf-args.h: Likewise.
73482         * lib/printf-args.c: Likewise.
73483         * lib/printf-parse.c: Likewise.
73484         * lib/vasnprintf.c: Likewise.
73485
73486 2007-01-29  Eric Blake  <ebb9@byu.net>
73487
73488         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
73489         declaration.
73490
73491 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
73492
73493         * lib/strptime.h (strptime): Use 'restrict' for args where
73494         POSIX requires this.
73495         * lib/strptime.c (strptime): Likewise.
73496         Change license notice from LGPL to GPL, since gnulib-tool will
73497         change this as needed.
73498         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
73499         defined.
73500         Include "strptime.h" first, to check interface.
73501         Do not #undef _LIBC and _NL_CURRENT.
73502         Do not include <stdlib.h>; no longer needed.
73503         Include "time_r.h" and declare ptime_locale_status
73504         only if _LIBC is not defined.
73505         (__P): Remove unused macro.
73506         (match_string): Bring back glibc version, but use it only if _LIBC
73507         is defined.
73508         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
73509         Remove unnecessary assertion and abort() call.
73510         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
73511         * m4/strptime.m4: Fix serial number comment.
73512         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
73513         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
73514         (Depends-on): Add time_r.
73515
73516 2007-01-29  Bruno Haible  <bruno@clisp.org>
73517
73518         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
73519         strptime.
73520         * modules/strptime (Depends-on): Add stdbool.
73521         * lib/strptime.h: Include <time.h> always. Add comments.
73522
73523 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
73524
73525         * modules/strptime: New file.
73526         * lib/strptime.h: New file.
73527         * lib/strptime.c: New file.
73528         * m4/strptime.m4: New file.
73529
73530 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
73531
73532         * MODULES.html.sh: New module mpsort.
73533         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
73534
73535         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
73536         a circularity problem with HP-UX ia64 reported by Bob Proulx in
73537         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
73538         All uses changed.
73539         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
73540         All uses changed.
73541         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
73542         to _Restrict_.
73543         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
73544         the parameter matches the prototype.
73545
73546 2007-01-28  Jim Meyering  <jim@meyering.net>
73547
73548         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
73549         sys/time.h here, reverting that part of the previous patch:
73550         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
73551
73552 2007-01-28  Bruno Haible  <bruno@clisp.org>
73553
73554         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
73555         value of $(SYS_TIME_H).
73556         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
73557         remove it conditionally, too. [added by Jim Meyering]
73558         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
73559         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
73560         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
73561         GETTIMEOFDAY_REPLACEMENT to 1.
73562
73563 2007-01-28  Bruno Haible  <bruno@clisp.org>
73564
73565         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
73566         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
73567         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
73568         Set UNISTD_H instead of UNISTD_H2.
73569         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
73570
73571 2007-01-28  Bruno Haible  <bruno@clisp.org>
73572
73573         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
73574         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
73575
73576 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73577
73578         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
73579         (func_create_testdir): Ensure C locale for `grep' and `tr'
73580         character ranges.
73581         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
73582         ACLOCAL_AMFLAGS parsing state machine.
73583
73584 2007-01-27  Bruno Haible  <bruno@clisp.org>
73585
73586         * modules/unistr/base: Update.
73587
73588 2007-01-27  Bruno Haible  <bruno@clisp.org>
73589
73590         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
73591         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
73592         * modules/unistr/u32-mbtouc-unsafe: Renamed from
73593         modules/unistr/u32-mbtouc.
73594         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
73595         * lib/unistr.h: Update.
73596         * lib/linebreak.c: Update.
73597         * modules/unistr/u32-mbtouc: Renamed from
73598         modules/unistr/u32-mbtouc-safe.
73599         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
73600         * lib/unistr.h: Update.
73601         * lib/unistr/u32-to-u8.c: Update.
73602         * lib/unistr/u32-to-u16.c: Update.
73603
73604 2007-01-27  Bruno Haible  <bruno@clisp.org>
73605
73606         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
73607         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
73608         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
73609         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
73610         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
73611         * modules/unistr/u16-mbtouc-unsafe: Renamed from
73612         modules/unistr/u16-mbtouc.
73613         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
73614         * lib/unistr.h: Update.
73615         * lib/linebreak.c: Update.
73616         * modules/linebreak: Update.
73617         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
73618         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
73619         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
73620         * modules/unistr/u16-mbtouc: Renamed from
73621         modules/unistr/u16-mbtouc-safe.
73622         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
73623         * lib/unistr.h: Update.
73624         * lib/unistr/u16-to-u8.c: Update.
73625         * modules/unistr/u16-to-u8: Update.
73626         * lib/unistr/u16-to-u32.c: Update.
73627         * modules/unistr/u16-to-u32: Update.
73628
73629 2007-01-27  Bruno Haible  <bruno@clisp.org>
73630
73631         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
73632         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
73633         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
73634         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
73635         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
73636         * modules/unistr/u8-mbtouc-unsafe: Renamed from
73637         modules/unistr/u8-mbtouc.
73638         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
73639         * lib/unistr.h: Update.
73640         * lib/striconveh.c: Update.
73641         * modules/striconveh: Update.
73642         * lib/linebreak.c: Update.
73643         * modules/linebreak: Update.
73644         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
73645         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
73646         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
73647         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
73648         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
73649         * lib/unistr.h: Update.
73650         * lib/striconveh.c: Update.
73651         * modules/striconveh: Update.
73652         * lib/unistr/u8-to-u16.c: Update.
73653         * modules/unistr/u8-to-u16: Update.
73654         * lib/unistr/u8-to-u32.c: Update.
73655         * modules/unistr/u8-to-u32: Update.
73656
73657 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73658
73659         Sync from Libtool.
73660         * lib/argz.c: Do not include strings.h nor memory.h, include
73661         string.h unconditionally.  Patch by Simon Josefsson.
73662
73663 2007-01-27  Bruno Haible  <bruno@clisp.org>
73664
73665         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
73666         from gl_HEADER_STRING_H_BODY.
73667         (gl_HEADER_STRING_H_BODY): Require it.
73668         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
73669         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
73670         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
73671         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
73672         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
73673         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
73674         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
73675         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
73676         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
73677         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
73678         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
73679         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
73680         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
73681         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
73682         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
73683
73684 2007-01-27  Bruno Haible  <bruno@clisp.org>
73685
73686         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
73687         check_PROGRAMS into noinst_PROGRAMS.
73688         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
73689         check_PROGRAMS in this case.
73690         (func_import): Set for_test to false.
73691         (func_create_testdir): Set for_test to true.
73692
73693 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
73694             Bruno Haible  <bruno@clisp.org>
73695
73696         * modules/strcasestr (Files): Remove lib/strcasestr.h.
73697         (Depends-on): Add string.
73698         (Includes): Use <string.h> instead of strcasestr.h.
73699         * modules/string (Makefile.am): Also substitute the value of
73700         REPLACE_STRCASESTR.
73701         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
73702         assume strcasestr is declared in <string.h> not <strings.h>. Also
73703         set REPLACE_STRCASESTR.
73704         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
73705         REPLACE_STRCASESTR.
73706         * lib/strcasestr.h: Remove file.
73707         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
73708         * lib/string_.h (strcasestr): New declaration.
73709
73710 2007-01-27  Bruno Haible  <bruno@clisp.org>
73711
73712         * lib/string_.h: Use 'extern'.
73713
73714 2007-01-27  Jim Meyering  <jim@meyering.net>
73715
73716         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
73717         of set-but-not-used local, "q".
73718
73719         * lib/mempcpy.c: Include <config.h> before <string.h>.
73720         This fixes a compilation error on HP-UX, due to the system's
73721         "restrict"-using mempcpy prototype.
73722
73723 2007-01-26  Bruno Haible  <bruno@clisp.org>
73724
73725         Small optimization.
73726         * lib/javacomp.c: Include c-strstr.h.
73727          (is_envjavac_gcj): Use c_strstr instead of strstr.
73728         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
73729
73730 2007-01-26  Bruno Haible  <bruno@clisp.org>
73731
73732         * MODULES.html.sh (Unicode string functions): Add the new modules.
73733
73734         * modules/uniconv/u32-strconv-to-locale: New file.
73735         * lib/uniconv/u32-strconv-to-locale.c: New file.
73736
73737         * modules/uniconv/u16-strconv-to-locale: New file.
73738         * lib/uniconv/u16-strconv-to-locale.c: New file.
73739
73740         * modules/uniconv/u8-strconv-to-locale: New file.
73741         * lib/uniconv/u8-strconv-to-locale.c: New file.
73742
73743         * modules/uniconv/u32-strconv-from-locale: New file.
73744         * lib/uniconv/u32-strconv-from-locale.c: New file.
73745
73746         * modules/uniconv/u16-strconv-from-locale: New file.
73747         * lib/uniconv/u16-strconv-from-locale.c: New file.
73748
73749         * modules/uniconv/u8-strconv-from-locale: New file.
73750         * lib/uniconv/u8-strconv-from-locale.c: New file.
73751
73752         * modules/uniconv/u32-strconv-to-enc: New file.
73753         * lib/uniconv/u32-strconv-to-enc.c: New file.
73754         * modules/uniconv/u32-strconv-to-enc-tests: New file.
73755         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
73756
73757         * modules/uniconv/u16-strconv-to-enc: New file.
73758         * lib/uniconv/u16-strconv-to-enc.c: New file.
73759         * lib/uniconv/u-strconv-to-enc.h: New file.
73760         * modules/uniconv/u16-strconv-to-enc-tests: New file.
73761         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
73762
73763         * modules/uniconv/u8-strconv-to-enc: New file.
73764         * lib/uniconv/u8-strconv-to-enc.c: New file.
73765         * modules/uniconv/u8-strconv-to-enc-tests: New file.
73766         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
73767
73768         * modules/uniconv/u32-strconv-from-enc: New file.
73769         * lib/uniconv/u32-strconv-from-enc.c: New file.
73770         * modules/uniconv/u32-strconv-from-enc-tests: New file.
73771         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
73772
73773         * modules/uniconv/u16-strconv-from-enc: New file.
73774         * lib/uniconv/u16-strconv-from-enc.c: New file.
73775         * modules/uniconv/u16-strconv-from-enc-tests: New file.
73776         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
73777
73778         * modules/uniconv/u8-strconv-from-enc: New file.
73779         * lib/uniconv/u8-strconv-from-enc.c: New file.
73780         * lib/uniconv/u-strconv-from-enc.h: New file.
73781         * modules/uniconv/u8-strconv-from-enc-tests: New file.
73782         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
73783
73784         * modules/uniconv/u32-conv-from-enc: New file.
73785         * lib/uniconv/u32-conv-from-enc.c: New file.
73786         * modules/uniconv/u32-conv-from-enc-tests: New file.
73787         * tests/uniconv/test-u32-conv-from-enc.c: New file.
73788
73789         * modules/uniconv/u16-conv-from-enc: New file.
73790         * lib/uniconv/u16-conv-from-enc.c: New file.
73791         * lib/uniconv/u-conv-from-enc.h: New file.
73792         * modules/uniconv/u16-conv-from-enc-tests: New file.
73793         * tests/uniconv/test-u16-conv-from-enc.c: New file.
73794
73795         * modules/uniconv/u8-conv-from-enc: New file.
73796         * lib/uniconv/u8-conv-from-enc.c: New file.
73797         * modules/uniconv/u8-conv-from-enc-tests: New file.
73798         * tests/uniconv/test-u8-conv-from-enc.c: New file.
73799
73800         * modules/uniconv/base: New file.
73801         * lib/uniconv.h: New file.
73802
73803 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
73804
73805         * doc/gnulib-tool.texi (Initial import): Update to match current
73806         behavior with strdup module.
73807         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
73808         * lib/memmem.h: Remove; all uses removed.  This is now done
73809         by <string.h>.
73810         * lib/mempcpy.h: Likewise.
73811         * lib/memrchr.h: Likewise.
73812         * lib/stpcpy.h: Likewise.
73813         * lib/stpncpy.h: Likewise.
73814         * lib/strcase.h: Likewise.
73815         * lib/strchrnul.h: Likewise.
73816         * lib/strdup.h: Likewise.
73817         * lib/strndup.h: Likewise.
73818         * lib/strnlen.h: Likewise.
73819         * lib/strpbrk.h: Likewise.
73820         * lib/strsep.h: Likewise.
73821         * lib/strstr.h: Likewise.
73822         * lib/strtok_r.h: Likewise.
73823         * lib/string_.h: New file.
73824         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
73825         Rely on <string.h> instead.
73826         * lib/canon-host.c: Likewise.
73827         * lib/chdir-long.c: Likewise.
73828         * lib/concatpath.c: Likewise.
73829         * lib/exclude.c: Likewise.
73830         * lib/fchdir.c: Likewise.
73831         * lib/getaddrinfo.c: Likewise.
73832         * lib/getcwd.c: Likewise.
73833         * lib/getsubopt.c: Likewise.
73834         * lib/glob.c: Likewise.
73835         * lib/hard-locale.c: Likewise.
73836         * lib/iconvme.c: Likewise.
73837         * lib/javacomp.c: Likewise.
73838         * lib/mempcpy.c: Likewise.
73839         * lib/memrchr.c: Likewise.
73840         * lib/regex_internal.h: Likewise.
73841         * lib/stpncpy.c: Likewise.
73842         * lib/strcasecmp.c: Likewise.
73843         * lib/strchrnul.c: Likewise.
73844         * lib/strdup.c: Likewise.
73845         * lib/striconv.c: Likewise.
73846         * lib/striconveh.c: Likewise.
73847         * lib/striconveha.c: Likewise.
73848         * lib/strncasecmp.c: Likewise.
73849         * lib/strndup.c: Likewise.
73850         * lib/strnlen.c: Likewise.
73851         * lib/strsep.c: Likewise.
73852         * lib/strstr.c: Likewise.
73853         * lib/strtok_r.c: Likewise.
73854         * lib/userspec.c: Likewise.
73855         * lib/w32spawn.h: Likewise.
73856         * lib/xstrndup.c: Likewise.
73857         * lib/mountlist.c (strstr): Remove decl.
73858         * m4/string_h.m4: New file.
73859         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
73860         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
73861         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
73862         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
73863         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
73864         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
73865         Set REPLACE_STRCASECMP if necessary.
73866         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
73867         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
73868         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
73869         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
73870         HAVE_DECL_STRDUP if necessary.
73871         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
73872         since gl_FUNC_STRNDUP does that now.
73873         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
73874         Check for decl here...
73875         (gl_PREREQ_STRNLEN): ... not here.
73876         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
73877         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
73878         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
73879         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
73880         necessary.
73881         * modules/string: New file.
73882         * modules/memmem (Files): Remove special-purpose include file.
73883         (Depends-on): Add string.
73884         (Include): Include <string.h>, not the removed file.
73885         * modules/mempcpy: Likewise.
73886         * modules/memrchr: Likewise.
73887         * modules/stpcpy: Likewise.
73888         * modules/stpncpy: Likewise.
73889         * modules/strcase: Likewise.
73890         * modules/strchrnul: Likewise.
73891         * modules/strdup: Likewise.
73892         * modules/strndup: Likewise.
73893         * modules/strnlen: Likewise.
73894         * modules/strpbrk: Likewise.
73895         * modules/strsep: Likewise.
73896         * modules/strstr: Likewise.
73897         * modules/strtok_r: Likewise.
73898         * tests/test-dirname.c: Don't include "strdup.h", since
73899         <string.h> now suffices.
73900         * tests/test-memmem.c: Don't include "memmem.h", since
73901         <string.h> now suffices.
73902
73903 2007-01-25  Bruno Haible  <bruno@clisp.org>
73904
73905         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
73906         *resultp is 0.
73907
73908         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
73909         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
73910         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
73911         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
73912
73913         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
73914         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
73915         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
73916         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
73917         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
73918         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
73919
73920 2007-01-24  Bruno Haible  <bruno@clisp.org>
73921
73922         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
73923         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
73924         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
73925         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
73926         gl_FUNC_FTS_CORE.
73927         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
73928         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
73929         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
73930         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
73931         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
73932         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
73933         gl_FUNC_FCHOWNAT.
73934         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
73935         gl_FUNC_STRFTIME.
73936         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
73937         Reported by Ralf Wildenhues.
73938
73939 2007-01-24  Bruno Haible  <bruno@clisp.org>
73940
73941         Drop AC_REQUIRE calls that are redundant with the module dependencies.
73942         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
73943         gl_GETADDRINFO.
73944         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
73945         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
73946         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
73947
73948 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
73949
73950         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
73951         Don't use 'exit'; just return from 'main'.
73952         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
73953
73954         * lib/fnmatch_.h: Readjust white space and comments to match
73955         glibc, to avoid spurious diffs.
73956
73957 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
73958
73959         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
73960         2004-12-01 change by Jakub Jelinek, since this code won't compile
73961         if !LIBC.  Problem reported by Bob Proulx.
73962
73963 2007-01-23  Bruno Haible  <bruno@clisp.org>
73964
73965         * lib/striconveh.c: Include c-strcaseeq.h.
73966         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
73967         * modules/striconveh (Depends-on): Add c-strcaseeq.
73968
73969 2007-01-23  Bruno Haible  <bruno@clisp.org>
73970
73971         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
73972
73973         * modules/c-strcaseeq: New file.
73974         * lib/c-strcaseeq.h: New file.
73975
73976         * modules/streq: New file.
73977         * lib/streq.h: New file.
73978
73979 2007-01-23  Bruno Haible  <bruno@clisp.org>
73980
73981         * modules/striconveha-tests: New file.
73982         * tests/test-striconveha.c: New file.
73983
73984         * lib/striconveha.h: Include <stdbool.h>.
73985         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
73986         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
73987         (mem_iconveha_notranslit): Renamed from mem_iconveha.
73988         (mem_iconveha): New function.
73989         (str_iconveha_notranslit): Renamed from str_iconveha.
73990         (str_iconveha): New function.
73991         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
73992         c-strcase.
73993
73994 2007-01-23  Bruno Haible  <bruno@clisp.org>
73995
73996         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
73997         encodings without forgiving before trying any encoding with handler.
73998         (str_iconveha): Try all encodings without forgiving before trying any
73999         encoding with handler.
74000
74001 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
74002
74003         Import the following changes from libc.
74004
74005         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
74006
74007         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
74008
74009         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
74010
74011         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
74012         normal_bracket label.
74013
74014         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
74015
74016         [BZ #361]
74017         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
74018         to normal_bracket after fetching the next character.
74019
74020 2007-01-22  Bruno Haible  <bruno@clisp.org>
74021
74022         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
74023         argument.
74024         * lib/striconveh.c (iconv_carefully_1): New function.
74025         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
74026         argument.
74027         (str_cd_iconveh): Update.
74028         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
74029         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
74030         * tests/test-striconveh.c (MAGIC): New macro.
74031         (new_offsets): New function.
74032         (main): Test call with and without offsets.
74033
74034 2007-01-22  Bruno Haible  <bruno@clisp.org>
74035
74036         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
74037         * modules/sys_select (Makefile.am): Likewise.
74038         * modules/sys_socket (Makefile.am): Likewise.
74039         * modules/sys_time (Makefile.am): Likewise.
74040
74041 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
74042
74043         * modules/gettimeofday (License): Change from GPL to LGPL, since
74044         gettimeofday is a library function.
74045
74046 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74047
74048         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
74049
74050 2007-01-21  Bruno Haible  <bruno@clisp.org>
74051
74052         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
74053
74054 2007-01-21  Bruno Haible  <bruno@clisp.org>
74055
74056         * modules/striconveha: New file.
74057         * lib/striconveha.h: New file.
74058         * lib/striconveha.c: New file.
74059         * MODULES.html.sh (Internationalization functions): Add striconveha.
74060         * lib/striconv.c (str_iconv): Optimize the case of an empty input
74061         string.
74062         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
74063
74064 2007-01-21  Bruno Haible  <bruno@clisp.org>
74065
74066         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
74067         * lib/striconveh.c (str_iconveh): Likewise.
74068
74069 2007-01-21  Bruno Haible  <bruno@clisp.org>
74070
74071         * lib/striconveh.h (mem_iconveh): New declaration.
74072         * lib/striconveh.c (mem_iconveh): New function.
74073         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
74074
74075 2007-01-21  Bruno Haible  <bruno@clisp.org>
74076
74077         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
74078
74079         * lib/striconveh.h (mem_cd_iconveh): Change specification.
74080         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
74081         original result buffer.
74082         (str_cd_iconveh): Update.
74083         * tests/test-striconveh.c (main): Update.
74084
74085         * lib/striconv.h (mem_cd_iconv): Change specification.
74086         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
74087         result buffer.
74088         (str_cd_iconv): Update.
74089         * tests/test-striconv.c (main): Update.
74090
74091 2007-01-21  Bruno Haible  <bruno@clisp.org>
74092
74093         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
74094
74095 2007-01-20  Jim Meyering  <jim@meyering.net>
74096
74097         * lib/userspec.c (parse_with_separator): If a user or group string
74098         starts with "+", skip the corresponding name-to-ID look-up, since
74099         such a look-up must fail: user and group names may not include "+".
74100
74101 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
74102
74103         * lib/poll.c: Include sys/time.h and time.h unconditionally,
74104         since we now assume the sys_time module.
74105         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
74106         check for sys/time.h; no longer needed.
74107         * modules/poll (Depends-on): Depend on sys_time.
74108
74109 2007-01-18  Bruno Haible  <bruno@clisp.org>
74110
74111         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
74112         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
74113
74114         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
74115         gettimeofday.
74116
74117         * tests/test-gettimeofday.c: Include <time.h>.
74118         (dummy): Remove variable.
74119
74120         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
74121         gl_HEADER_SYS_TIME_H.
74122         (gl_HEADER_SYS_TIME_H): New macro.
74123
74124         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
74125         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74126         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
74127         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
74128         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74129         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
74130         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
74131         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74132         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
74133         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
74134         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74135
74136         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
74137         last change; it caused a compilation error when cross-compiling to
74138         Cygwin.
74139
74140 2007-01-18  Jim Meyering  <jim@meyering.net>
74141
74142         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
74143         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
74144         than the race-prone "test -d sys || mkdir sys".
74145         (configure.ac): Use AC_PROG_MKDIR_P.
74146         * modules/sys_select: Likewise.
74147         * modules/sys_socket: Likewise.
74148         * modules/sys_time: Likewise.
74149
74150 2007-01-18  Eric Blake  <ebb9@byu.net>
74151
74152         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
74153         replace gettimeofday.
74154         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
74155         name, to avoid infinite recursion.
74156
74157 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
74158
74159         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
74160         module sys_time.
74161         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
74162         assume timespec.h defines struct timeval.
74163         * lib/settime.c: Likewise.
74164         * lib/utimens.c: Likewise.
74165         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
74166         since we now assume the gettimeofday module.
74167         * lib/tempname.c (__gen_tempname): Likewise.
74168         * lib/gettimeofday.h: Remove.
74169         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
74170         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
74171         Include <time.h>, for 'time()'.
74172         (localtime_buffer_addr): Also use this workaround if
74173         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
74174         to simplify the uses.  All uses changed.
74175         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
74176         that #undef is inside {}, and 'const' follows type name consistently.
74177         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
74178         (gettimeofday): Do not use the maximum possible value for
74179         tv->tv_usec, since that might break usages other than ls.c.
74180         Instead, we'll leave ls.c alone.  This undoes today's patch
74181         by Bruno.  Add a compile-time warning for 1s-clock resolution;
74182         we've never observed the problem but might as well keep the
74183         canary.
74184         * lib/nanosleep.c: Include timespec.h first, for interface check.
74185         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
74186         now assume the sys_time module.
74187         * lib/tempname.c: Likewise.
74188         * lib/timespec.h: Likewise.
74189         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
74190         needed.
74191         * lib/strftime.c: Likewise.
74192         * lib/timespec.h: Likewise.
74193         * lib/posixtm.c: Include posixtm.h first, for interface check.
74194         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
74195         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
74196         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
74197         * lib/sys_time_.h: New file.
74198         * lib/timespec.h (struct timespec): Use long int, not long.
74199         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
74200         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
74201         Remove obsolescent call to AC_HEADER_TIME.
74202         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
74203         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
74204         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
74205         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
74206         Likewise.
74207         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
74208         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
74209         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
74210         into the sys_time module.  Check for gettimeofday just once.
74211         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
74212         for gettimeofday signature to just check the signature.  Merely
74213         compile it, since linking doesn't test signature.  Improve test for
74214         whether gettimeofday.o is actually needed.
74215         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
74216         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
74217         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
74218         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74219         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
74220         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
74221         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
74222         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
74223         than worrying about sys/time.h.
74224         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
74225         Don't bother worrying about TIME_WITH_SYS_TIME.
74226         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
74227         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
74228         * m4/sys_time_h.m4: New file.
74229         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
74230         Don't include sys/time.h.  Return from main rather than exiting.
74231         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
74232         all uses changed.
74233         * modules/gethrxtime (Depends-on): Add sys_time.
74234         * modules/gettime (Depends-on): Likewise.
74235         * modules/gettimeofday (Depends-on): Likewise.
74236         * modules/nanosleep (Depends-on): Likewise.
74237         * modules/settime (Depends-on): Likewise.
74238         * modules/tempname (Depends-on): Likewise.
74239         * modules/utimens (Depends-on): Likewise.
74240         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
74241         (Include): Change back to <sys/time.h>.
74242         (Maintainer): Add self.
74243         * modules/sys_time: New file.
74244         * modules/tempname (Depends-on): Add gettimeofday.
74245         * tests/test-gettimeofday.c: Include <sys/time.h>
74246         rather than gettimeofday.h.
74247
74248 2007-01-17  Bruno Haible  <bruno@clisp.org>
74249
74250         * gnulib-tool (func_get_license): Revert last patch. Instead, let
74251         the license default to GPL.
74252         (func_create_testdir): Don't complain if a module is LGPL and its
74253         tests module depends on GPLed modules.
74254
74255 2007-01-17  Bruno Haible  <bruno@clisp.org>
74256
74257         * lib/gettimeofday.c (gettimeofday): Add code for the case
74258         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
74259         maximum possible value for tv->tv_usec, rather than the minimum one.
74260
74261 2005-10-08  Martin Lambers  <marlam@marlam.de>
74262 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
74263 2007-01-16  Bruno Haible  <bruno@clisp.org>
74264
74265         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
74266         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
74267         gl_FUNC_GETTIMEOFDAY.
74268         (Include): Add gettimeofday.h.
74269         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
74270         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
74271         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
74272         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
74273         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
74274         * lib/gettimeofday.h: New file.
74275         * lib/gettimeofday.c: Include <sys/timeb.h>.
74276         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
74277         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74278         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
74279         fall back on time().
74280
74281         * tests/test-gettimeofday.c: New file.
74282         * modules/gettimeofday-tests: New file.
74283
74284 2007-01-16  Eric Blake  <ebb9@byu.net>
74285
74286         * modules/fnmatch (Depends-on): Depend on wchar.
74287         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
74288         * m4/fnmatch.m4: Likewise.
74289         * modules/mbchar (Makefile.am): Assume <wchar.h>.
74290         * m4/mbchar.m4: Likewise.
74291         * modules/mbswidth (Depends-on): Depend on wchar.
74292         * lib/mbswidth.c: Assume <wchar.h>.
74293         * m4/mbswidth.m4: Likewise.
74294         * modules/quotearg (Depends-on): Depend on wchar.
74295         * lib/quotearg.c: Assume <wchar.h>.
74296         * m4/quotearg.m4: Likewise.
74297         * modules/regex (Depends-on): Depend on wchar.
74298         * lib/regex_internal.h: Assume <wchar.h>.
74299         * m4/regex.m4: Likewise.
74300         * modules/stdint (Depends-on): Depend on wchar.
74301         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
74302         * m4/stdint.m4: Likewise.
74303         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
74304         * modules/strftime (Depends-on): Depend on wchar.
74305         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
74306         * modules/strtol (Depends-on): Depend on wchar.
74307         * lib/strtol.c: Assume <wchar.h>.
74308         * modules/wcwidth (Depends-on): Depend on wchar.
74309         * lib/wcwidth.h: Assume <wchar.h>.
74310         * m4/wcwidth.m4: Likewise.
74311
74312 2007-01-16  Bruno Haible  <bruno@clisp.org>
74313
74314         * modules/csharpexec-script: New, created from...
74315         * modules/csharpexec: ... this.
74316
74317 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
74318
74319         * modules/javaexec-script: New, created from...
74320         * modules/javaexec: ... this.
74321
74322 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74323
74324         * modules/poll (Dependencies): Add sys_select.
74325
74326 2007-01-15  Jim Meyering  <jim@meyering.net>
74327
74328         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
74329         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
74330         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
74331         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
74332
74333 2007-01-15  Bruno Haible  <bruno@clisp.org>
74334
74335         * modules/striconveh: New file.
74336         * lib/striconveh.h: New file.
74337         * lib/striconveh.c: New file.
74338         * MODULES.html.sh (Internationalization functions): Add striconveh.
74339
74340         * modules/striconveh-tests: New file.
74341         * tests/test-striconveh.c: New file.
74342
74343 2007-01-15  Bruno Haible  <bruno@clisp.org>
74344
74345         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
74346         not from GNU libiconv or GNU libc.
74347
74348 2007-01-15  Bruno Haible  <bruno@clisp.org>
74349
74350         * doc/gnulib-intro.texi (Copyright): Explain the different license
74351         terms for module descriptions, autoconf macros, tests, documentation.
74352
74353 2007-01-14  Bruno Haible  <bruno@clisp.org>
74354
74355         * modules/striconv-tests: New file.
74356         * tests/test-striconv.c: New file.
74357
74358 2007-01-14  Bruno Haible  <bruno@clisp.org>
74359
74360         * modules/iconv-tests: New file.
74361         * tests/test-iconv.c: New file.
74362
74363 2007-01-14  Bruno Haible  <bruno@clisp.org>
74364
74365         * gnulib-tool (func_get_license): For test modules, use the license of
74366         the main module.
74367
74368 2007-01-14  Bruno Haible  <bruno@clisp.org>
74369
74370         * modules/iconv (Include): Clarify that <iconv.h> can only be included
74371         if iconv is found to exist.
74372
74373 2007-01-14  Bruno Haible  <bruno@clisp.org>
74374
74375         * modules/c-ctype-tests: New file.
74376         * tests/test-c-ctype.c: New file.
74377
74378 2007-01-14  Bruno Haible  <bruno@clisp.org>
74379
74380         * modules/binary-io-tests: New file.
74381         * tests/test-binary-io.sh: New file.
74382         * tests/test-binary-io.c: New file.
74383
74384 2007-01-14  Bruno Haible  <bruno@clisp.org>
74385
74386         * modules/array-oset-tests: New file.
74387         * tests/test-array_oset.c: New file.
74388
74389 2007-01-14  Bruno Haible  <bruno@clisp.org>
74390
74391         * modules/array-list-tests: New file.
74392         * tests/test-array_list.c: New file.
74393
74394 2007-01-14  Bruno Haible  <bruno@clisp.org>
74395
74396         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
74397         and make.
74398         Reported by Simon Josefsson in
74399         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
74400
74401 2007-01-14  Bruno Haible  <bruno@clisp.org>
74402
74403         * modules/allocsa-tests: New file.
74404         * tests/test-allocsa.c: New file.
74405
74406 2007-01-14  Bruno Haible  <bruno@clisp.org>
74407
74408         * modules/fchdir (Depends-on): Add absolute-header.
74409         * modules/unistd (Depends-on): Likewise.
74410
74411 2006-12-30  Bruno Haible  <bruno@clisp.org>
74412
74413         * modules/fchdir: New file.
74414         * modules/unistd (Files): Add lib/unistd_.h.
74415         (Makefile.am): Generate unistd.h from unistd_.h.
74416         * lib/fchdir.c: New file.
74417         * lib/dirent_.h: New file.
74418         * lib/unistd_.h: New file.
74419         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
74420         * m4/fchdir.m4: New file.
74421         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
74422         (gl_HEADER_UNISTD): Invoke it.
74423         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
74424         function.
74425         * lib/backupfile.c (opendir, closedir): Undefine.
74426         * lib/chown.c (open, close): Undefine.
74427         * lib/clean-temp.c (open, close): Undefine.
74428         * lib/copy-file.c (open, close): Undefine.
74429         * lib/execute.c (open, close): Undefine.
74430         * lib/fsusage.c (open, close): Undefine.
74431         * lib/gc-gnulib.c (open, close): Undefine.
74432         * lib/getcwd.c (opendir, closedir): Undefine.
74433         * lib/glob.c (opendir, closedir): Undefine.
74434         * lib/javacomp.c (open, close): Undefine.
74435         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
74436         * lib/openat-proc.c (open, close): Undefine.
74437         * lib/pagealign_alloc.c (open, close): Undefine.
74438         * lib/pipe.c (open, close): Undefine.
74439         * lib/progreloc.c (open, close): Undefine.
74440         * lib/savedir.c (opendir, closedir): Undefine.
74441         * lib/utime.c (open, close): Undefine.
74442         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
74443
74444 2007-01-10  Bruno Haible  <bruno@clisp.org>
74445
74446         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
74447
74448 2007-01-12  Eric Blake  <ebb9@byu.net>
74449
74450         Provide a robust <wchar.h>.  Further simplifications are now
74451         possible in other modules, but not included here.
74452         * modules/wchar: New module.
74453         * m4/wchar.m4: New file.
74454         * lib/wchar_.h: Likewise.
74455         * modules/mbchar (Depends-on): Depend on wchar, as the first use
74456         of the new module.
74457         * MODULES.html.sh (Extended multibyte and wide character utilities):
74458         New section.
74459
74460 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
74461
74462         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
74463         to a reasonable default for memory allocation.
74464         (xreadlink): Don't allocate a huge buffer, to work around a buggy
74465         file system that reports garbage st_size values for symlinks.
74466         Problem reported by Liyang Hu.
74467
74468 2007-01-11  Simon Josefsson  <simon@josefsson.org>
74469
74470         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
74471         Emacs .#* auto-save files).
74472
74473 2007-01-11  Bruno Haible  <bruno@clisp.org>
74474
74475         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
74476         directory.
74477
74478 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
74479
74480         Use @...@ consistently in lib/wctype_.h.
74481         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
74482         on it being set to 1 or 0.
74483         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
74484         go back to AC_SUBSTing it.
74485         * modules/wctype (Makefile.am): Undo previous change.
74486
74487 2007-01-10  Eric Blake  <ebb9@byu.net>
74488
74489         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
74490         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
74491         * modules/wctype (Makefile.am): Likewise.
74492         Reported by Chris McGuire.
74493
74494 2007-01-10  Jim Meyering  <jim@meyering.net>
74495
74496         fts.c: a small readability/maintainability improvement
74497         * lib/fts.c (fts_read): Make this code slightly more readable and
74498         maintainable by hoisting the "sp->fts_cur = p" assignments to
74499         immediately follow the statements that set P.  Derived from
74500         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
74501
74502 2007-01-10  Eric Blake  <ebb9@byu.net>
74503
74504         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
74505         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
74506         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
74507         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
74508         Reported by Chris McGuire.
74509
74510 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74511
74512         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
74513         in sed script.
74514
74515 2007-01-09  Bruno Haible  <bruno@clisp.org>
74516
74517         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
74518         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
74519         variables.
74520         (func_module): Use them.
74521
74522 2007-01-09  Bruno Haible  <bruno@clisp.org>
74523
74524         * modules/unistr/base: New file.
74525         * lib/unistr.h: New file.
74526
74527         * modules/unistr/u8-to-u16: New file.
74528         * lib/unistr/u8-to-u16.c: New file.
74529
74530         * modules/unistr/u8-to-u32: New file.
74531         * lib/unistr/u8-to-u32.c: New file.
74532
74533         * modules/unistr/u16-to-u8: New file.
74534         * lib/unistr/u16-to-u8.c: New file.
74535
74536         * modules/unistr/u16-to-u32: New file.
74537         * lib/unistr/u16-to-u32.c: New file.
74538
74539         * modules/unistr/u32-to-u8: New file.
74540         * lib/unistr/u32-to-u8.c: New file.
74541
74542         * modules/unistr/u32-to-u16: New file.
74543         * lib/unistr/u32-to-u16.c: New file.
74544
74545         * modules/unistr/u8-check: New file.
74546         * modules/unistr/u16-check: New file.
74547         * modules/unistr/u32-check: New file.
74548         * lib/unistr/u8-check.c: New file.
74549         * lib/unistr/u16-check.c: New file.
74550         * lib/unistr/u32-check.c: New file.
74551
74552         * modules/unistr/u8-chr: New file.
74553         * modules/unistr/u16-chr: New file.
74554         * modules/unistr/u32-chr: New file.
74555         * lib/unistr/u8-chr.c: New file.
74556         * lib/unistr/u16-chr.c: New file.
74557         * lib/unistr/u32-chr.c: New file.
74558
74559         * modules/unistr/u8-cmp: New file.
74560         * modules/unistr/u16-cmp: New file.
74561         * modules/unistr/u32-cmp: New file.
74562         * lib/unistr/u8-cmp.c: New file.
74563         * lib/unistr/u16-cmp.c: New file.
74564         * lib/unistr/u32-cmp.c: New file.
74565
74566         * modules/unistr/u8-cpy: New file.
74567         * modules/unistr/u16-cpy: New file.
74568         * modules/unistr/u32-cpy: New file.
74569         * lib/unistr/u8-cpy.c: New file.
74570         * lib/unistr/u16-cpy.c: New file.
74571         * lib/unistr/u32-cpy.c: New file.
74572         * lib/unistr/u-cpy.h: New file.
74573
74574         * modules/unistr/u8-cpy-alloc: New file.
74575         * modules/unistr/u16-cpy-alloc: New file.
74576         * modules/unistr/u32-cpy-alloc: New file.
74577         * lib/unistr/u8-cpy-alloc.c: New file.
74578         * lib/unistr/u16-cpy-alloc.c: New file.
74579         * lib/unistr/u32-cpy-alloc.c: New file.
74580         * lib/unistr/u-cpy-alloc.h: New file.
74581
74582         * modules/unistr/u8-endswith: New file.
74583         * modules/unistr/u16-endswith: New file.
74584         * modules/unistr/u32-endswith: New file.
74585         * lib/unistr/u8-endswith.c: New file.
74586         * lib/unistr/u16-endswith.c: New file.
74587         * lib/unistr/u32-endswith.c: New file.
74588         * lib/unistr/u-endswith.h: New file.
74589
74590         * modules/unistr/u8-mblen: New file.
74591         * modules/unistr/u16-mblen: New file.
74592         * modules/unistr/u32-mblen: New file.
74593         * lib/unistr/u8-mblen.c: New file.
74594         * lib/unistr/u16-mblen.c: New file.
74595         * lib/unistr/u32-mblen.c: New file.
74596
74597         * modules/unistr/u8-mbtouc: New file.
74598         * modules/unistr/u16-mbtouc: New file.
74599         * modules/unistr/u32-mbtouc: New file.
74600         * lib/unistr/u8-mbtouc.c: New file.
74601         * lib/unistr/u16-mbtouc.c: New file.
74602         * lib/unistr/u32-mbtouc.c: New file.
74603
74604         * modules/unistr/u8-mbtouc-safe: New file.
74605         * modules/unistr/u16-mbtouc-safe: New file.
74606         * modules/unistr/u32-mbtouc-safe: New file.
74607         * lib/unistr/u8-mbtouc-safe.c: New file.
74608         * lib/unistr/u16-mbtouc-safe.c: New file.
74609         * lib/unistr/u32-mbtouc-safe.c: New file.
74610
74611         * modules/unistr/u8-move: New file.
74612         * modules/unistr/u16-move: New file.
74613         * modules/unistr/u32-move: New file.
74614         * lib/unistr/u8-move.c: New file.
74615         * lib/unistr/u16-move.c: New file.
74616         * lib/unistr/u32-move.c: New file.
74617         * lib/unistr/u-move.h: New file.
74618
74619         * modules/unistr/u8-next: New file.
74620         * modules/unistr/u16-next: New file.
74621         * modules/unistr/u32-next: New file.
74622         * lib/unistr/u8-next.c: New file.
74623         * lib/unistr/u16-next.c: New file.
74624         * lib/unistr/u32-next.c: New file.
74625
74626         * modules/unistr/u8-prev: New file.
74627         * modules/unistr/u16-prev: New file.
74628         * modules/unistr/u32-prev: New file.
74629         * lib/unistr/u8-prev.c: New file.
74630         * lib/unistr/u16-prev.c: New file.
74631         * lib/unistr/u32-prev.c: New file.
74632
74633         * modules/unistr/u8-set: New file.
74634         * modules/unistr/u16-set: New file.
74635         * modules/unistr/u32-set: New file.
74636         * lib/unistr/u8-set.c: New file.
74637         * lib/unistr/u16-set.c: New file.
74638         * lib/unistr/u32-set.c: New file.
74639         * lib/unistr/u-set.h: New file.
74640
74641         * modules/unistr/u8-startswith: New file.
74642         * modules/unistr/u16-startswith: New file.
74643         * modules/unistr/u32-startswith: New file.
74644         * lib/unistr/u8-startswith.c: New file.
74645         * lib/unistr/u16-startswith.c: New file.
74646         * lib/unistr/u32-startswith.c: New file.
74647         * lib/unistr/u-startswith.h: New file.
74648
74649         * modules/unistr/u8-stpcpy: New file.
74650         * modules/unistr/u16-stpcpy: New file.
74651         * modules/unistr/u32-stpcpy: New file.
74652         * lib/unistr/u8-stpcpy.c: New file.
74653         * lib/unistr/u16-stpcpy.c: New file.
74654         * lib/unistr/u32-stpcpy.c: New file.
74655         * lib/unistr/u-stpcpy.h: New file.
74656
74657         * modules/unistr/u8-stpncpy: New file.
74658         * modules/unistr/u16-stpncpy: New file.
74659         * modules/unistr/u32-stpncpy: New file.
74660         * lib/unistr/u8-stpncpy.c: New file.
74661         * lib/unistr/u16-stpncpy.c: New file.
74662         * lib/unistr/u32-stpncpy.c: New file.
74663         * lib/unistr/u-stpncpy.h: New file.
74664
74665         * modules/unistr/u8-strcat: New file.
74666         * modules/unistr/u16-strcat: New file.
74667         * modules/unistr/u32-strcat: New file.
74668         * lib/unistr/u8-strcat.c: New file.
74669         * lib/unistr/u16-strcat.c: New file.
74670         * lib/unistr/u32-strcat.c: New file.
74671         * lib/unistr/u-strcat.h: New file.
74672
74673         * modules/unistr/u8-strchr: New file.
74674         * modules/unistr/u16-strchr: New file.
74675         * modules/unistr/u32-strchr: New file.
74676         * lib/unistr/u8-strchr.c: New file.
74677         * lib/unistr/u16-strchr.c: New file.
74678         * lib/unistr/u32-strchr.c: New file.
74679
74680         * modules/unistr/u8-strcmp: New file.
74681         * modules/unistr/u16-strcmp: New file.
74682         * modules/unistr/u32-strcmp: New file.
74683         * lib/unistr/u8-strcmp.c: New file.
74684         * lib/unistr/u16-strcmp.c: New file.
74685         * lib/unistr/u32-strcmp.c: New file.
74686
74687         * modules/unistr/u8-strcpy: New file.
74688         * modules/unistr/u16-strcpy: New file.
74689         * modules/unistr/u32-strcpy: New file.
74690         * lib/unistr/u8-strcpy.c: New file.
74691         * lib/unistr/u16-strcpy.c: New file.
74692         * lib/unistr/u32-strcpy.c: New file.
74693         * lib/unistr/u-strcpy.h: New file.
74694
74695         * modules/unistr/u8-strcspn: New file.
74696         * modules/unistr/u16-strcspn: New file.
74697         * modules/unistr/u32-strcspn: New file.
74698         * lib/unistr/u8-strcspn.c: New file.
74699         * lib/unistr/u16-strcspn.c: New file.
74700         * lib/unistr/u32-strcspn.c: New file.
74701         * lib/unistr/u-strcspn.h: New file.
74702
74703         * modules/unistr/u8-strdup: New file.
74704         * modules/unistr/u16-strdup: New file.
74705         * modules/unistr/u32-strdup: New file.
74706         * lib/unistr/u8-strdup.c: New file.
74707         * lib/unistr/u16-strdup.c: New file.
74708         * lib/unistr/u32-strdup.c: New file.
74709         * lib/unistr/u-strdup.h: New file.
74710
74711         * modules/unistr/u8-strlen: New file.
74712         * modules/unistr/u16-strlen: New file.
74713         * modules/unistr/u32-strlen: New file.
74714         * lib/unistr/u8-strlen.c: New file.
74715         * lib/unistr/u16-strlen.c: New file.
74716         * lib/unistr/u32-strlen.c: New file.
74717         * lib/unistr/u-strlen.h: New file.
74718
74719         * modules/unistr/u8-strmblen: New file.
74720         * modules/unistr/u16-strmblen: New file.
74721         * modules/unistr/u32-strmblen: New file.
74722         * lib/unistr/u8-strmblen.c: New file.
74723         * lib/unistr/u16-strmblen.c: New file.
74724         * lib/unistr/u32-strmblen.c: New file.
74725
74726         * modules/unistr/u8-strmbtouc: New file.
74727         * modules/unistr/u16-strmbtouc: New file.
74728         * modules/unistr/u32-strmbtouc: New file.
74729         * lib/unistr/u8-strmbtouc.c: New file.
74730         * lib/unistr/u16-strmbtouc.c: New file.
74731         * lib/unistr/u32-strmbtouc.c: New file.
74732
74733         * modules/unistr/u8-strncat: New file.
74734         * modules/unistr/u16-strncat: New file.
74735         * modules/unistr/u32-strncat: New file.
74736         * lib/unistr/u8-strncat.c: New file.
74737         * lib/unistr/u16-strncat.c: New file.
74738         * lib/unistr/u32-strncat.c: New file.
74739         * lib/unistr/u-strncat.h: New file.
74740
74741         * modules/unistr/u8-strncmp: New file.
74742         * modules/unistr/u16-strncmp: New file.
74743         * modules/unistr/u32-strncmp: New file.
74744         * lib/unistr/u8-strncmp.c: New file.
74745         * lib/unistr/u16-strncmp.c: New file.
74746         * lib/unistr/u32-strncmp.c: New file.
74747
74748         * modules/unistr/u8-strncpy: New file.
74749         * modules/unistr/u16-strncpy: New file.
74750         * modules/unistr/u32-strncpy: New file.
74751         * lib/unistr/u8-strncpy.c: New file.
74752         * lib/unistr/u16-strncpy.c: New file.
74753         * lib/unistr/u32-strncpy.c: New file.
74754         * lib/unistr/u-strncpy.h: New file.
74755
74756         * modules/unistr/u8-strnlen: New file.
74757         * modules/unistr/u16-strnlen: New file.
74758         * modules/unistr/u32-strnlen: New file.
74759         * lib/unistr/u8-strnlen.c: New file.
74760         * lib/unistr/u16-strnlen.c: New file.
74761         * lib/unistr/u32-strnlen.c: New file.
74762         * lib/unistr/u-strnlen.h: New file.
74763
74764         * modules/unistr/u8-strpbrk: New file.
74765         * modules/unistr/u16-strpbrk: New file.
74766         * modules/unistr/u32-strpbrk: New file.
74767         * lib/unistr/u8-strpbrk.c: New file.
74768         * lib/unistr/u16-strpbrk.c: New file.
74769         * lib/unistr/u32-strpbrk.c: New file.
74770         * lib/unistr/u-strpbrk.h: New file.
74771
74772         * modules/unistr/u8-strrchr: New file.
74773         * modules/unistr/u16-strrchr: New file.
74774         * modules/unistr/u32-strrchr: New file.
74775         * lib/unistr/u8-strrchr.c: New file.
74776         * lib/unistr/u16-strrchr.c: New file.
74777         * lib/unistr/u32-strrchr.c: New file.
74778
74779         * modules/unistr/u8-strspn: New file.
74780         * modules/unistr/u16-strspn: New file.
74781         * modules/unistr/u32-strspn: New file.
74782         * lib/unistr/u8-strspn.c: New file.
74783         * lib/unistr/u16-strspn.c: New file.
74784         * lib/unistr/u32-strspn.c: New file.
74785         * lib/unistr/u-strspn.h: New file.
74786
74787         * modules/unistr/u8-strstr: New file.
74788         * modules/unistr/u16-strstr: New file.
74789         * modules/unistr/u32-strstr: New file.
74790         * lib/unistr/u8-strstr.c: New file.
74791         * lib/unistr/u16-strstr.c: New file.
74792         * lib/unistr/u32-strstr.c: New file.
74793         * lib/unistr/u-strstr.h: New file.
74794
74795         * modules/unistr/u8-strtok: New file.
74796         * modules/unistr/u16-strtok: New file.
74797         * modules/unistr/u32-strtok: New file.
74798         * lib/unistr/u8-strtok.c: New file.
74799         * lib/unistr/u16-strtok.c: New file.
74800         * lib/unistr/u32-strtok.c: New file.
74801         * lib/unistr/u-strtok.h: New file.
74802
74803         * modules/unistr/u8-uctomb: New file.
74804         * modules/unistr/u16-uctomb: New file.
74805         * modules/unistr/u32-uctomb: New file.
74806         * lib/unistr/u8-uctomb.c: New file.
74807         * lib/unistr/u16-uctomb.c: New file.
74808         * lib/unistr/u32-uctomb.c: New file.
74809
74810         * MODULES.html.sh (Unicode string functions): Add the new modules.
74811
74812 2007-01-08  Bruno Haible  <bruno@clisp.org>
74813
74814         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
74815         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
74816         subdirectories.
74817
74818 2007-01-08  Karl Berry  <karl@gnu.org>
74819
74820         * doc/error.texi: mention that main() fns must set program_name
74821         when progname is used.
74822
74823 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
74824
74825         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
74826         WCTYPE_H is empty, for the benefit of builds from non-distclean
74827         directories.  Problem reported by Eric Blake in
74828         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
74829
74830 2007-01-08  Bruno Haible  <bruno@clisp.org>
74831
74832         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
74833         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
74834         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
74835         PROVIDE_CANONICALIZE_FILENAME_MODE.
74836         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
74837
74838 2007-01-08  Bruno Haible  <bruno@clisp.org>
74839
74840         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
74841         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
74842         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
74843         * lib/fts.c: Likewise.
74844         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
74845
74846 2006-12-25  Bruno Haible  <bruno@clisp.org>
74847
74848         * modules/utf8-ucs4-safe: New file.
74849         * lib/utf8-ucs4-safe.h: New file.
74850         * lib/unistr/utf8-ucs4-safe.c: New file.
74851
74852         * modules/utf16-ucs4-safe: New file.
74853         * lib/utf16-ucs4-safe.h: New file.
74854         * lib/unistr/utf16-ucs4-safe.c: New file.
74855
74856         * MODULES.html.sh (Unicode string functions): Add the new modules.
74857
74858 2007-01-08  Bruno Haible  <bruno@clisp.org>
74859
74860         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
74861         (Depends-on): Add unitypes.
74862         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
74863         (u8_mbtouc_aux): Move out to separate file.
74864         (u8_mbtouc): Use ucs4_t, uint8_t types.
74865         * lib/unistr/utf8-ucs4.c: New file.
74866
74867         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
74868         (Depends-on): Add unitypes.
74869         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
74870         (u16_mbtouc_aux): Move out to separate file.
74871         (u16_mbtouc): Use ucs4_t, uint16_t types.
74872         * lib/unistr/utf16-ucs4.c: New file.
74873
74874         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
74875         (Depends-on): Add unitypes.
74876         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
74877         (u8_uctomb_aux): Move out to separate file.
74878         (u8_uctomb): Use ucs4_t, uint8_t types.
74879         * lib/unistr/ucs4-utf8.c: New file.
74880
74881         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
74882         (Depends-on): Add unitypes.
74883         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
74884         (u16_uctomb_aux): Move out to separate file.
74885         (u16_uctomb): Use ucs4_t, uint16_t types.
74886         * lib/unistr/ucs4-utf16.c: New file.
74887
74888 2006-12-25  Bruno Haible  <bruno@clisp.org>
74889
74890         * modules/unitypes: New file.
74891         * lib/unitypes.h: New file.
74892         * MODULES.html.sh (func_all_modules): New section "Unicode string
74893         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
74894         this section. Add unitypes.
74895
74896 2007-01-08  Bruno Haible  <bruno@clisp.org>
74897
74898         Avoid variable names that conflict with those from libtool.
74899         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
74900         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
74901         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
74902         library_names_spec to acl_library_names_spec, hardcode_* to
74903         acl_hardcode_*.
74904         Reported by Ralf Wildenhues.
74905
74906 2007-01-08  Bruno Haible  <bruno@clisp.org>
74907
74908         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
74909         definition.
74910         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
74911         definition.
74912         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
74913         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
74914         definition.
74915         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
74916         definition.
74917         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
74918         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
74919         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
74920         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
74921         definition.
74922         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
74923         definition.
74924         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
74925         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
74926         GC_USE_<algorithm>.
74927         * lib/gc-libgcrypt.c: Likewise.
74928         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
74929         * modules/gc-arctwo (configure.ac): Likewise.
74930         * modules/gc-des (configure.ac): Likewise.
74931         * modules/gc-hmac-md5 (configure.ac): Likewise.
74932         * modules/gc-hmac-sha1 (configure.ac): Likewise.
74933         * modules/gc-md2 (configure.ac): Likewise.
74934         * modules/gc-md4 (configure.ac): Likewise.
74935         * modules/gc-md5 (configure.ac): Likewise.
74936         * modules/gc-random (configure.ac): Likewise.
74937         * modules/gc-rijndael (configure.ac): Likewise.
74938         * modules/gc-sha1 (configure.ac): Likewise.
74939
74940 2007-01-08  Bruno Haible  <bruno@clisp.org>
74941
74942         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
74943         macro definition.
74944         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
74945         definition.
74946         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
74947         definition.
74948         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
74949         * modules/fcntl-safer (configure.ac): Likewise.
74950         * modules/fopen-safer (configure.ac): Likewise.
74951         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
74952         GNULIB_FWRITEERROR macro definition.
74953
74954 2007-01-08  Bruno Haible  <bruno@clisp.org>
74955
74956         * m4/gnulib-common.m4: New file.
74957         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
74958         (func_get_filelist): Add m4/gnulib-common.m4.
74959
74960 2007-01-08  Bruno Haible  <bruno@clisp.org>
74961
74962         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
74963         command.
74964
74965 2007-01-08  Jim Meyering  <jim@meyering.net>
74966
74967         Use a more robust test for a "can't happen" condition.
74968         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
74969         narrowed the st_size value.  Presuming the "can't happen" condition
74970         is true, that narrowing could conceivably convert an invalid st_size
74971         value into a valid one.  Instead, use a change based on Matthew
74972         Woehlke's original patch.
74973
74974         Slight readability improvement: use an assert-like macro
74975         in place of literal "abort ()" uses.
74976         * lib/fts.c (fts_assert): Define.
74977         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
74978         Use this macro instead of a bare 'abort'.
74979
74980 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
74981
74982         Don't worry about using IRIX 5.3's wctype.h broken definitions;
74983         simply work around them.
74984         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
74985         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
74986         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
74987         declaring.
74988         Don't bother to define as macros, since the standard doesn't require it.
74989         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
74990         longer worry about IRIX 5.3.
74991         (HAVE_WCTYPE_CTMP_BUG): Remove.
74992
74993 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
74994
74995         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
74996         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
74997         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
74998         Problems reported by Georg Schwarz for IRIX 5.3.
74999
75000         * gnulib-tool (autoconf_minversion): Take the maximum version number
75001         found, not the minimum.  Problem reported by James Youngman.
75002
75003 2007-01-03  Karl Berry  <karl@gnu.org>
75004
75005         * doc/error.texi: new file, explaining interaction with progname.
75006         * doc/gnulib.texi: include it.  Update copyright.
75007
75008 2007-01-03  Simon Josefsson  <simon@josefsson.org>
75009
75010         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
75011         AC_CANONICAL_HOST, to improve autobuild outputs.
75012
75013 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
75014             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
75015
75016         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
75017         sockets, server sockets, and other file descriptors.  Count errors
75018         to compute the return value.  Reorder the code a bit to be easier
75019         to follow.  Don't set event bits that were not requested (except
75020         POLLERR and POLLHUP).
75021
75022 2007-01-01  Bruno Haible  <bruno@clisp.org>
75023
75024         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
75025
75026 2007-01-03  Jim Meyering  <jim@meyering.net>
75027
75028         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
75029
75030 2007-01-02  Bruno Haible  <bruno@clisp.org>
75031
75032         * modules/settime (Include): Require timespec.h.
75033         * modules/nanosleep (Include): Likewise.
75034
75035 2007-01-01  Bruno Haible  <bruno@clisp.org>
75036
75037         * gnulib-tool (func_emit_copyright_notice): Bump year.
75038         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
75039
75040 2007-01-01  Bruno Haible  <bruno@clisp.org>
75041
75042         Improve support for OpenBSD.
75043         * build-aux/config.rpath (libname_spec): Export.
75044         (library_names_spec): New variable. Export.
75045         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
75046         library_names_spec from the config.rpath output. Locate shared library
75047         through the name pattern in library_names_spec.
75048
75049 2007-01-01  Eric Blake  <ebb9@byu.net>
75050
75051         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
75052
75053 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
75054
75055         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
75056         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
75057         assume the C locale, and avoid an "eval" that could cause trouble.
75058         Problem with SORT reported by Bob Proulx.
75059
75060         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
75061         Define.  Trivial patch from Henning Nielsen Lund, originally
75062         sent to bug-grep@gnu.org today.
75063
75064 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
75065
75066         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
75067         struct stat.  Problem reported by Henning Nielsen Lund.
75068         * lib/acl.c: Include acl.h first, to check interface.  Don't
75069         bother to include sys/types.h and sys/stat.h again.
75070
75071 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
75072
75073         Import the following change from libc; problem reported by
75074         Sven Verdoolaege.
75075
75076         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
75077
75078         [BZ #1373]
75079         * lib/argp.h: Remove __NTH for __argp_usage inline function.
75080
75081 2006-12-28  Jim Meyering  <jim@meyering.net>
75082
75083         * build-aux/announce-gen: Do not assume that the package
75084         builds any of tar.gz, tar.bz2, and .xdelta files.
75085         Suggestion from Simon Josefsson.
75086
75087 2006-12-28  Simon Josefsson  <simon@josefsson.org>
75088
75089         * modules/announce-gen: New file.
75090
75091 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
75092
75093         * lib/mbchar.h: Just include <wctype.h>; the wctype module
75094         handles its gotchas now.
75095         * lib/mbswidth.c: Likewise.
75096         * lib/wcwidth.h: Likewise.
75097         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
75098         and iswcntrl; the wctype module does this stuff now.
75099         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
75100         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
75101         * modules/mbchar (Depends-on): Add wctype.
75102         * modules/mbswidth (Depends-on): Likewise.
75103         * modules/wcwidth (Depends-on): Likewise.
75104
75105 2006-12-27  Eric Blake  <ebb9@byu.net>
75106
75107         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
75108         module uses more than what <wctype.h> is required to provide.
75109
75110 2006-12-26  Eric Blake  <ebb9@byu.net>
75111
75112         * gnulib-tool (sed_extract_prog): Avoid space-tab.
75113
75114 2006-12-26  Eric Blake  <ebb9@byu.net>
75115
75116         * modules/absolute-header: New module.
75117         * modules/fcntl (Depends-on): Depend on it.
75118         * modules/inttypes (Depends-on): Likewise.
75119         * modules/stdint (Depends-on): Likewise.
75120         * modules/sys_stat (Depends-on): Likewise.
75121         * modules/wctype (Depends-on): Likewise.
75122         * MODULES.html.sh (Support for building libraries and
75123         executables): Document it.
75124
75125 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
75126
75127         * gnulib-tool (SED): Remove, undoing previous change.
75128         The problem was that it broke coreutils on Solaris, because
75129         "sed --posix" leaked into a makefile.
75130         (sed): New alias, if 'alias' and GNU sed.
75131
75132 2006-12-24  Jim Meyering  <jim@meyering.net>
75133
75134         Work around an fchownat bug in glibc-2.4:
75135         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
75136         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
75137         in spite of the -P option.
75138         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
75139         New macros.
75140         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
75141         * modules/openat (Files): Add lib/fchownat.c.
75142         * lib/openat.c (fchownat): Don't define here.  Move to...
75143         * lib/fchownat.c: ...this new file.
75144
75145 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
75146
75147         Fix bug reported by Bruno Haible in
75148         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
75149         where quotearg.c didn't compile on Mac OS X 10.2 because it
75150         lacks <wchar.h> and wint_t.
75151         * lib/wctype_.h (__wctype_wint_t): New type.
75152         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
75153         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
75154         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
75155         Arg is now of type __wctype_wint_t, not wint_t.
75156         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
75157         substitute HAVE_WINT_T.
75158         * modules/wctype (Files): Add m4/wint_t.m4.
75159         (wctype.h): Substitute HAVE_WINT_T.
75160
75161 2006-12-23  Bruno Haible  <bruno@clisp.org>
75162
75163         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
75164
75165 2006-12-23  Bruno Haible  <bruno@clisp.org>
75166
75167         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
75168         S_ISLNK.
75169         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
75170         mingw.
75171
75172 2006-12-22  Bruno Haible  <bruno@clisp.org>
75173
75174         * lib/copy-file.c: Include acl.h.
75175         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
75176         Close the file descriptors only after being done with copy_acl.
75177         * modules/copy-file (Depends-on): Add acl.
75178
75179 2006-12-22  Bruno Haible  <bruno@clisp.org>
75180
75181         * gnulib-tool (SED): New variable.
75182         Use $SED instead of sed everywhere.
75183
75184 2006-12-22  Bruno Haible  <bruno@clisp.org>
75185
75186         * modules/no-c++: New file.
75187         * m4/no-c++.m4: New file.
75188         * MODULES.html.sh (Support for building libraries and executables):
75189         Add no-c++.
75190
75191 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
75192
75193         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
75194         Include <limits.h>, and use its INT_MAX to rewrite the
75195         j loop so that it does not overflow 'int'.  Problem reported by
75196         Ralf Wildenhues in
75197         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
75198         Play it safe by shifting left by 1 rather than multiplying by 2,
75199         as GCC is less likely to optimize this away when the value
75200         is signed (when it assumes overflow leads to undefined behavior).
75201         Also, don't assume time_t uses two's complement.
75202
75203 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
75204
75205         * MODULES.html.sh: New module wctype.
75206         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
75207         * lib/fnmatch.c: Don't bother to include <wchar.h> before
75208         <wctype.h>, since the new wctype module should fix this.
75209         * lib/quotearg.c: Include <wctype.h> unconditionally, since
75210         the wctype module should arrange for it.
75211         * lib/regex_internal.h: Likewise.
75212         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
75213         since the wctype module should handle this now.
75214         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
75215         * modules/fnmatch (Depends-on): Add wctype.
75216         * modules/quotearg (Depends-on): Likewise.
75217         * modules/regex (Depends-on): Likewise.
75218
75219 2006-12-19  Bruno Haible  <bruno@clisp.org>
75220
75221         * lib/strdup.h [C++]: Wrap definitions in extern "C".
75222         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
75223
75224 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75225
75226         * modules/savewd (Depends-on): Fix dependency on fcntl.
75227
75228 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
75229
75230         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
75231         conforms to C99, rather than relying on the user's environment
75232         setting of STDINT_H.
75233
75234 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
75235         and Eric Blake  <ebb9@byu.net>
75236
75237         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
75238         This is more consistent with the other defines here.
75239         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
75240         Port to z/OS.  Problem reported by Paul Gilmartin.
75241         Change local vars to use gl_ prefix rather than ac_.
75242         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
75243         with other defines.
75244         * modules/double-slash-root: New module.
75245         * modules/dirname (Files): Remove m4/double-slash-root.m4.
75246         (Depends-on): Add double-slash-root.
75247         * MODULES.html.sh (File system functions): Mention new module.
75248
75249 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
75250
75251         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
75252         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
75253         This is for the benefit of gzip, which doesn't do i18n.
75254
75255 2006-12-12  Jim Meyering  <jim@meyering.net>
75256
75257         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
75258         Reported by Andreas Schwab <schwab@suse.de>.
75259
75260 2006-12-12  Bruno Haible  <bruno@clisp.org>
75261
75262         Merge these changes.
75263         2006-09-05  Bruno Haible  <bruno@clisp.org>
75264         * lib/iconvme.c (iconv_string): No need to save and restore errno when
75265         iconv_alloc succeeded.
75266         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
75267         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
75268         test for " && dest " at the end - dest is always != NULL there. Call
75269         iconv with 4xNULL arguments initially, to reset the state. Call iconv
75270         with 2xNULL arguments, also to flush the state storage. Handle the
75271         IRIX iconv behaviour. Realloc the final result, to throw away unused
75272         memory.
75273
75274 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
75275
75276         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
75277         and fchmodat unconditionally, since glibc 2.4 has them.
75278         Problem reported by Arkadiusz Miskiewicz.
75279
75280 2006-12-10  Bruno Haible  <bruno@clisp.org>
75281
75282         * gnulib-tool (func_import): Show the include files only for those
75283         modules that are copied and specified.
75284         Reported by Karl Berry.
75285
75286 2006-12-08  Jim Meyering  <jim@meyering.net>
75287
75288         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
75289         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
75290
75291         * build-aux/announce-gen: Add two new options, both optional:
75292         --bootstrap-tools=TOOL_LIST
75293               a comma-separated list of tools, e.g.,
75294               autoconf,automake,bison,gnulib
75295         --gnulib-snapshot-date=DATE
75296               if gnulib is in the bootstrap tool list,
75297               then report this as the snapshot date.
75298               If not specified, use the current date/time.
75299               If you specify a date here, be sure it's UTC.
75300
75301 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75302
75303         * tests/test-argp-2.sh: Fix test to match actual output.
75304         (func_compare): Fix sed script to be portable.
75305
75306 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
75307
75308         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
75309         workaround for this case.  It is not autoconfigured now; offhand
75310         it's hard to see how to autoconfigure it.
75311
75312 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
75313
75314         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
75315         a directory that is about to be chowned.  Such a directory's
75316         initial file permissions should permit the owner only and this
75317         should not be changed until after the chown, since the group and
75318         other bits would be incorrect if they granted permission before
75319         the chown.
75320
75321         Fix porting problem for iswctype reported by Georg Schwarz in:
75322         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
75323         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
75324         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
75325         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
75326         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
75327
75328 2006-12-03  Jim Meyering  <jim@meyering.net>
75329
75330         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
75331         p->fts_statp may not yet be defined.
75332         (fts_read): Instead, set it in the caller, once p->fts_statp is
75333         sure to be defined, and corresponds to a top-level directory.
75334         This bug made du -x fail.  Here's the coreutils test case:
75335         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
75336         Reported by Mike Frysinger.
75337
75338 2006-12-01  Jim Meyering  <jim@meyering.net>
75339
75340         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
75341         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
75342         Reported by Simon Josefsson.
75343
75344 2006-11-30  Jim Meyering  <jim@meyering.net>
75345
75346         * m4/warning.m4: Use the all-permissive copyright notice
75347         recommended by RMS (rather than LGPL).
75348         * m4/vararrays.m4: Likewise.
75349         * m4/flexmember.m4: Likewise.
75350
75351 2006-11-29  Bruno Haible  <bruno@clisp.org>
75352
75353         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
75354         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
75355         using +=.
75356         Reported by Simon Josefsson <simon@josefsson.org>.
75357
75358 2006-11-28  James Youngman <jay@gnu.org>
75359
75360         * README: Advise users that they might find the bug-gnulib@gnu.org
75361         and autotools-announce@gnu.org mailing lists useful.
75362
75363 2006-11-28  Bruno Haible  <bruno@clisp.org>
75364
75365         * m4/ptrdiff_max.m4: Remove file.
75366
75367 2006-11-21  Bruno Haible  <bruno@clisp.org>
75368
75369         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
75370         _AC_COMPUTE_INT.
75371         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
75372         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
75373         _AC_COMPUTE_INT.
75374         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
75375         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
75376         _AC_COMPUTE_INT.
75377         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
75378
75379 2006-11-28  Jim Meyering  <jim@meyering.net>
75380
75381         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
75382         warning from "gcc -Wshadow" about shadowing the builtin.
75383
75384 2006-11-27  Bruno Haible  <bruno@clisp.org>
75385
75386         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
75387         _AC_COMPUTE_INT.
75388         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
75389
75390 2006-11-27  Bruno Haible  <bruno@clisp.org>
75391             Paul Eggert  <eggert@cs.ucla.edu>
75392
75393         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
75394
75395 2006-11-26  Bruno Haible  <bruno@clisp.org>
75396
75397         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
75398         noinst_LTLIBRARIES.
75399
75400 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
75401             Bruno Haible  <bruno@clisp.org>
75402
75403         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
75404         if compiling with "gcc -ansi".
75405
75406 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
75407
75408         Fix some incompatibilities with gcc -ansi -pedantic.
75409         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
75410         if compiling pedantically with GCC, unless it's C99 or later.
75411         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
75412         it mishandles gcc -ansi -pedantic as well.
75413         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
75414         if gcc -pedantic.
75415         * lib/regexec.c (check_node_accept_bytes): Don't use auto
75416         initializers for struct if -pedantic, unless it's C99 or later.
75417
75418 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
75419
75420         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
75421         Don't close an fd more than once. Identical atimes indicate
75422         success, not failure.
75423
75424 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
75425
75426         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
75427
75428 2006-11-23  Jim Meyering  <jim@meyering.net>
75429
75430         * build-aux/announce-gen: New file.  From coreutils.
75431
75432 2006-11-22  Jim Meyering  <jim@meyering.net>
75433
75434         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
75435         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
75436         (fts_read): Use a temporary to narrow the overused st_size member
75437         before using it in a switch statement.  Reported by Matthew Woehlke.
75438
75439         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
75440         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
75441
75442 2006-11-20  Bruno Haible  <bruno@clisp.org>
75443
75444         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
75445         changequote instead of pairs of brackets.
75446         Reported by Andreas Schwab <schwab@suse.de>.
75447
75448 2006-11-21  Jim Meyering  <jim@meyering.net>
75449
75450         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
75451         so as to remain compatible with older compilers.
75452         Patch from Michael Deutschmann.
75453
75454 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
75455
75456         * MODULES.html.sh (File system functions): Add openat.
75457
75458         * lib/openat.h (rpl_fstatat): New macro, if
75459         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
75460         (fstatat): Define to rpl_fstatat under the same conditions,
75461         unless COMPILING_FSTATAT.
75462         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
75463         seems to have the bug.
75464         * lib/fstatat.c: New file.
75465         * modules/openat (Files): Add it.
75466
75467 2006-11-20  Bruno Haible  <bruno@clisp.org>
75468
75469         * Makefile: New file.
75470
75471 2006-11-20  Jim Meyering  <jim@meyering.net>
75472
75473         The beginnings of syntax-related checks for gnulib.
75474         * lib/Makefile: New file.
75475         * lib/t-idcache: New script.  Ensure that the two halves of
75476         idcache.c stay in sync.
75477
75478         * lib/idcache.c: Adjust comments in user- and group- portions to
75479         be more accurate, and to be consistent with one another.
75480
75481 2006-11-20  Jim Meyering  <jim@meyering.net>
75482
75483         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
75484         continue using the flexible array member (thus, this module performs
75485         half as many malloc calls), with the addition that...
75486         (getgroup, getuser): Consistently record a non-match via an empty
75487         "name" string, and map an empty string match to a NULL return value.
75488         * modules/idcache (Depends-on): Re-add flexmember.
75489
75490         * lib/idcache.c (getuser): Remove all uses of the register keyword.
75491         (getuidbyname, getgroup, getgidbyname): Likewise.
75492
75493         Use cleaner syntax: NULL rather than 0.
75494         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
75495
75496 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
75497
75498         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
75499         It mishandled the case where the group was missing.
75500         Problem reported by Greg Schafer.
75501         * modules/idcache: Likewise.
75502
75503 2006-11-18  Jim Meyering  <jim@meyering.net>
75504
75505         * check-module (%exempt_header): Add exception for some
75506         conditionally-included headers.
75507
75508         * modules/i-ring (Depends-on): Add verify.
75509         (License): Change to LGPL.
75510
75511 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
75512
75513         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
75514         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
75515         and inttostr.h.  Use snprintf rather than uinttostr, so that
75516         LGPLed code doesn't depend on GPLed.
75517
75518 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
75519
75520         * modules/inline (License): Change from GPL to LGPL.
75521
75522 2006-11-17  Jim Meyering  <jim@meyering.net>
75523
75524         * modules/d-type (License): Switch to LGPL.
75525
75526 2006-11-15  Bruno Haible  <bruno@clisp.org>
75527
75528         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
75529
75530 2006-11-15  Eric Blake  <ebb9@byu.net>
75531
75532         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
75533         the module dependency.
75534
75535 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75536             Bruno Haible  <bruno@clisp.org>
75537
75538         * gnulib-tool (func_create_testdir): Add license consistency check.
75539
75540 2006-11-15  Eric Blake  <ebb9@byu.net>
75541
75542         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
75543         random "(cached)" in configure output.
75544
75545 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75546
75547         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
75548         test for conforming inttypes.h is both announced and cached.
75549
75550         * MODULES.html.sh (seen_modules, seen_files): New variables.
75551         (func_module): Rewrite to use a few less gnulib-tool and sed
75552         invocations.  Avoid a couple of quadratic algorithms for ...
75553         (missed_modules, missed_files): ... these, with ...
75554         (func_append, func_tmpdir): ... these new functions, from
75555         gnulib-tool.  Analogously, install traps for cleanup.
75556
75557         * tests/test-gc.c (main): Remove unused variables.
75558         * tests/test-read-file.c: Include stdlib.h, for 'free'.
75559
75560 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
75561
75562         * modules/inttostr (License): Change to LGPL.
75563
75564 2006-11-14  Eric Blake  <ebb9@byu.net>
75565
75566         * modules/tempname (License): Change to LGPL.
75567
75568 2006-11-14  Eric Blake  <ebb9@byu.net>
75569
75570         * doc/functions.texi (Function Portability): *printf functions on
75571         Cygwin now understand all POSIX size specifiers.
75572
75573 2006-11-14  Bruno Haible  <bruno@clisp.org>
75574
75575         * modules/c-ctype (License): Change to LGPL.
75576
75577 2006-11-12  Bruno Haible  <bruno@clisp.org>
75578
75579         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
75580         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
75581         for GNOME libraries, for which the include files are installed in
75582         subdirectories of $prefix/include.
75583
75584 2006-11-12  Bruno Haible  <bruno@clisp.org>
75585
75586         * m4/lib-link.m4: Require at least autoconf-2.54.
75587         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
75588         name to underscores for the --with option.
75589
75590 2006-11-13  Bruno Haible  <bruno@clisp.org>
75591
75592         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
75593         the tests directory.
75594         Reported by Ralf Wildenhues.
75595
75596 2006-11-13  Bruno Haible  <bruno@clisp.org>
75597
75598         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
75599         (func_emit_initmacro_end): Undo the override here.
75600         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
75601         Works around the famous automake error in coreutils.
75602
75603 2006-11-13  Eric Blake  <ebb9@byu.net>
75604
75605         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
75606         element, not its node.
75607
75608 2006-11-12  Bruno Haible  <bruno@clisp.org>
75609
75610         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
75611         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
75612
75613 2006-11-12  Bruno Haible  <bruno@clisp.org>
75614
75615         * gnulib-tool: New option --local-symlink.
75616         (func_usage): Document it.
75617         (lsymbolic): New variable.
75618         (func_import, func_create_testdir): If --symlink was not specified,
75619         test whether --local-symlink was specified and the file comes from
75620         the local_gnulib_dir.
75621
75622 2006-11-12  Bruno Haible  <bruno@clisp.org>
75623
75624         * gnulib-tool (func_ln): New function.
75625         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
75626
75627 2006-11-12  Bruno Haible  <bruno@clisp.org>
75628
75629         Finish support for source files in subdirectories.
75630         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
75631         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
75632         AUTOMAKE_OPTIONS.
75633         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
75634
75635 2006-11-12  Bruno Haible  <bruno@clisp.org>
75636
75637         * gnulib-tool (func_get_automake_snippet): Synthesize also an
75638         EXTRA_lib_SOURCES augmentation.
75639         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
75640
75641 2006-11-12  Jim Meyering  <jim@meyering.net>
75642
75643         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
75644         file descriptors.  This also averts a failure on systems with
75645         native openat support when a traversed directory lacks "x" access.
75646         * lib/fts_.h: Include "i-ring.h"
75647         (struct FTS) [fts_fd_ring]: New member.
75648         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
75649         (FCHDIR): Add parentheses.
75650         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
75651         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
75652         When descending, rather than simply closing the previous
75653         fts_cwd_fd value, push that file descriptor onto the ring.
75654         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
75655         (fts_open): Initialize the new fd_ring member.
75656         (fts_close): Clear the ring.
75657         (fts_safe_changedir): When possible, use our new fd_ring to skip
75658         the diropen and fstat and dev/ino comparison that would normally
75659         accompany a virtual `chdir ("..")'.
75660
75661         * modules/fts (Depends-on): Add i-ring.
75662         * modules/i-ring: New module.
75663         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
75664         * m4/i-ring.m4: New file.
75665
75666 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75667
75668         * gnulib-tool (func_create_testdir): Fix replacement of
75669         `build-aux' in configure.ac.  Run autotools in gltests
75670         subdirectory.
75671         (func_create_testdir, func_create_megatestdir, test): There is
75672         no need for '--force' in most autotool invocations in a new
75673         tree.  Actually fail the whole test if any of the tools, or the
75674         configure or make stages fail.
75675
75676         Sync from Automake.
75677         * build-aux/gnupload: Revert last change.  Add pointer to upload
75678         instructions of the GNU Maintenance Instructions.
75679         Suggestion by Karl Berry.
75680
75681 2006-11-10  Jim Meyering  <jim@meyering.net>
75682
75683         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
75684
75685 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
75686
75687         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
75688         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
75689         (bind_textdomain_codeset) [! ENABLE_NLS]:
75690         Evaluate all the arguments.  That way, callers get compatible behavior
75691         if the arguments have side effects.  Also, it avoids some GCC
75692         diagnostics in some cases; Joel E. Denny reported problems when Bison
75693         was configured with --enable-gcc-warnigs.
75694
75695 2006-11-10  Jim Meyering  <jim@meyering.net>
75696
75697         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
75698         relevant options in CFLAGS (like -O, -fno-inline) are taken into
75699         account.
75700
75701 2006-11-10  Jim Meyering  <jim@meyering.net>
75702
75703         * modules/inline: New file/module.
75704         * modules/xalloc (Files): Remove m4/inline.m4.
75705         (Depends-on): Add inline, instead.
75706         * modules/oset: Likewise.
75707         * modules/list: Likewise.
75708
75709 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
75710
75711         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
75712         Problem reported by Matthew Woehlke.
75713
75714 2006-11-09  Bruno Haible  <bruno@clisp.org>
75715
75716         * lib/tempname.c (gen_tempname): Remove variant that invokes
75717         __gen_tempname.
75718         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
75719         __gen_tempname.
75720
75721 2006-11-08  Bruno Haible  <bruno@clisp.org>
75722
75723         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
75724         to 'yes' instead of 'cross-compiling'.
75725
75726 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
75727
75728         * lib/quotearg.h (quotearg_free): New decl.
75729         * lib/quotearg.c (quotearg_free): New function.
75730         (slot0, nslots, slotvec0, slotvec):
75731         Now file-scope so that quotearg_free can get at them.
75732
75733 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75734
75735         Sync from Automake.
75736         * build-aux/gnupload: Add missing 'gnu' to example URL.
75737         Report by Karl Berry.
75738
75739 2006-11-08  Bruno Haible  <bruno@clisp.org>
75740
75741         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
75742         Suggested by Paul Eggert.
75743
75744 2006-11-08  Jim Meyering  <jim@meyering.net>
75745
75746         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
75747         It's already included if !_LIBC.
75748         (fts_safe_changedir): Add a comment.
75749
75750 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
75751
75752         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
75753         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
75754         Matthew Woehlke.
75755
75756         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
75757         definitions up, to avoid colliding with change below.
75758         (static_inline) [HAVE_INLINE]: New macro.
75759         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
75760         Provide extern decls when !HAVE_INLINE.  Do not define unless
75761         static_inline is defined, either by us or by xmalloc.c.  Use
75762         static_inline rather than static inline.
75763         (XCALLOC): Optimize sizeof(T) = 1 case.
75764         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
75765
75766 2006-11-07  Bruno Haible  <bruno@clisp.org>
75767
75768         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
75769         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
75770         AC_C_INLINE.
75771         * modules/xalloc (Files): Add m4/inline.m4.
75772
75773 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75774
75775         * README: Fix typo.
75776         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
75777         (Miscellanous Notes): ...from this.
75778
75779 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
75780
75781         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
75782         Mention that offsetof should be used instead of sizeof.
75783         From Bruno Haible.
75784
75785 2006-11-07  Bruno Haible  <bruno@clisp.org>
75786
75787         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
75788
75789 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
75790
75791         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
75792         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
75793         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
75794         (gl_tree_add_before, gl_tree_add_after):
75795         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
75796         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
75797         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
75798         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
75799         (gl_linked_add_after, gl_linked_add_at): Likewise.
75800         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
75801         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
75802         (gl_tree_add_before, gl_tree_add_after): Likewise.
75803         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
75804         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
75805         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
75806
75807 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75808
75809         * lib/gl_oset.h: Use C comment style, not C++ comment style.
75810
75811 2006-11-06  Bruno Haible  <bruno@clisp.org>
75812
75813         * m4/inline.m4: New file.
75814         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
75815         * modules/list (Files): Add m4/inline.m4.
75816         * modules/oset (Files): Likewise.
75817
75818 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
75819
75820         * lib/idcache.c: Include <stddef.h>, for offsetof.
75821         (struct userid.name): Change from char * to a flexible array member.
75822         All uses changed.
75823         * modules/idcache (Depends-on): Add flexmember.
75824
75825         * MODULES.html.sh (Core language properties): New module flexmember.
75826         * modules/flexmember, m4/flexmember.m4: New files.
75827
75828         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
75829         inline functions that are identical with the old xnmalloc_inline,
75830         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
75831         that we can avoid some unnecessary integer multiplications and
75832         divisions in the common case where the element size is known at
75833         compile time.
75834         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
75835         needed.
75836         (xnboundedmalloc): Remove.
75837         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
75838         arguments, for consistency with rest of this header.
75839         (xcharalloc): Rewrite using XNMALLOC.
75840         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
75841         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
75842         versions have been moved to lib/xalloc.h and renamed to be the
75843         non-*_inline versions.
75844         (xmalloc, xrealloc): Implement without reference to the xnmalloc
75845         and xnrealloc functions, since those functions are now inline and
75846         now call us.
75847         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
75848         renaming described above.
75849         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
75850         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
75851         captures the dependency in AC_C_INLINE.
75852
75853         New module canonicalize-lgpl, proposed by Charles Wilson in
75854         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
75855         with a few small changes afterwards.
75856         * MODULES.html.sh (File system functions): New module
75857         canonicalize-lgpl.
75858         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
75859         and canonicalize_file_name.
75860         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
75861         * modules/canonicalize-lgpl: New files.
75862
75863 2006-11-05  Bruno Haible  <bruno@clisp.org>
75864
75865         * gnulib-tool (func_import, func_create_testdir): Create directories
75866         also for files in subdirectories of lib/.
75867
75868 2006-11-05  Bruno Haible  <bruno@clisp.org>
75869
75870         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
75871         ANSI C compliant.
75872
75873 2006-11-03  Bruno Haible  <bruno@clisp.org>
75874
75875         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
75876         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
75877         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
75878         (xnboundedmalloc): New inline function.
75879         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
75880         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
75881         xmalloc.
75882         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
75883         xmalloc.
75884         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
75885         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
75886         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
75887         xmalloc.
75888         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
75889         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
75890         xmalloc.
75891         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
75892         gl_tree_add_after): Use XMALLOC instead of xmalloc.
75893         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
75894         xmalloc.
75895         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
75896         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
75897         gl_tree_add_after): Use XMALLOC instead of xmalloc.
75898         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
75899         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
75900         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
75901         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
75902
75903 2006-11-03  Bruno Haible  <bruno@clisp.org>
75904
75905         * lib/c-ctype.h [C++]: Define functions without name mangling.
75906         * lib/fwriteerror.h [C++]: Likewise.
75907         * lib/gcd.h [C++]: Likewise.
75908         * lib/linebreak.h [C++]: Likewise.
75909
75910 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
75911
75912         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
75913         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
75914         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
75915         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
75916         Check for functions and headers just once.
75917         Check for declaration of canonicalize_file_name.
75918         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
75919
75920 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
75921
75922         * gnulib-tool (func_import): Fix typo in actioncmd.
75923
75924 2006-11-02  Bruno Haible  <bruno@clisp.org>
75925
75926         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
75927         newline sequence in the Makefile.am snippet as a space, like "make"
75928         does.
75929         Reported by Roger Persson <perrog@gmail.com>.
75930
75931 2006-11-01  Bruno Haible  <bruno@clisp.org>
75932
75933         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
75934         already declared in <string.h>.
75935         * lib/strcase.h (strncasecmp): Don't declare it if yes.
75936
75937 2006-11-01  Bruno Haible  <bruno@clisp.org>
75938
75939         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
75940         * lib/strcase.h: Include <string.h>.
75941         (strcasecmp): Define to rpl_strcasecmp here.
75942
75943 2006-11-01  Bruno Haible  <bruno@clisp.org>
75944
75945         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
75946
75947 2006-11-01  Eric Blake  <ebb9@byu.net>
75948
75949         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
75950
75951         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
75952
75953 2006-10-29  Bruno Haible  <bruno@clisp.org>
75954
75955         Make it compile in C++ mode.
75956         * lib/full-write.c (full_rw): Add a cast.
75957
75958 2006-11-01  Bruno Haible  <bruno@clisp.org>
75959
75960         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
75961         be POSIX compliant.
75962         Reported by Roger Persson <perrog@gmail.com>.
75963
75964 2006-11-01  Eric Blake  <ebb9@byu.net>
75965
75966         * lib/getopt_.h: Fix comments.
75967
75968 2006-10-31  Eric Blake  <ebb9@byu.net>
75969
75970         * modules/tmpdir (Depends-on): Add sys_stat.
75971         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
75972         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
75973         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
75974         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
75975         tempname.
75976
75977 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
75978
75979         Avoid some C++ diagnostics reported by Bruno Haible.
75980         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
75981         xmalloc.
75982         (quotearg_alloc): Use xcharalloc rather than xmalloc.
75983         (struct slotvec): Move to top level.
75984         (quotearg_n_options): Rewrite to avoid xmalloc.
75985         * lib/xalloc.h (xcharalloc): New function.
75986         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
75987         [defined __cplusplus]: Add function template that provides result
75988         type propagation.  This part of the change is from Bruno Haible.
75989
75990 2006-10-29  Bruno Haible  <bruno@clisp.org>
75991
75992         Make it compile in C++ mode.
75993         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
75994         * lib/strnlen1.c (strnlen1): Cast memchr result.
75995         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
75996         * lib/clean-temp.c (string_equals, string_hash): Add casts.
75997         (create_temp_dir): Rename local variable 'template'.
75998         (compile_csharp_using_sscli): Add cast.
75999         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
76000         * lib/findprog.c (find_in_path): Likewise.
76001         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
76002         * lib/wait-process.c (register_slave_subprocess): Likewise.
76003
76004 2006-10-22  Bruno Haible  <bruno@clisp.org>
76005
76006         * modules/tsearch: New file.
76007         * lib/tsearch.h: New file.
76008         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
76009         * m4/tsearch.m4: New file.
76010         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
76011
76012 2006-10-29  Eric Blake  <ebb9@byu.net>
76013
76014         * lib/arcfour.c: Assume config.h.
76015         * lib/arctwo.c: Likewise.
76016         * lib/base64.c: Likewise.
76017         * lib/check-version.c: Likewise.
76018         * lib/crc.c: Likewise.
76019         * lib/des.c: Likewise.
76020         * lib/gc-gnulib.c: Likewise.
76021         * lib/gc-libgcrypt.c: Likewise.
76022         * lib/gc-pbkdf2-sha1.c: Likewise.
76023         * lib/getaddrinfo.c: Likewise.
76024         * lib/getdelim.c: Likewise.
76025         * lib/getline.c: Likewise.
76026         * lib/hmac-md5.c: Likewise.
76027         * lib/hmac-sha1.c: Likewise.
76028         * lib/iconvme.c: Likewise.
76029         * lib/md2.c: Likewise.
76030         * lib/md4.c: Likewise.
76031         * lib/memxor.c: Likewise.
76032         * lib/read-file.c: Likewise.
76033         * lib/readline.c: Likewise.
76034         * lib/rijndael-alg-fst.c: Likewise.
76035         * lib/rijndael-api-fst.c: Likewise.
76036         * lib/xgetdomainname.c: Likewise.
76037
76038 2006-10-28  Eric Blake  <ebb9@byu.net>
76039
76040         * lib/xstrndup.c: Assume config.h.
76041
76042 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
76043
76044         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
76045         stat-macros.h is now for our own macros, whereas stat_h is for
76046         macros in the <sys/stat.h> name space.
76047         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
76048         (STAT_MACROS_H): Remove.
76049         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
76050         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
76051         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
76052         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
76053         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
76054         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
76055         Move these macros to ...
76056         * lib/stat_.h: here.  Don't include stat-macros.h.
76057         * lib/canonicalize.c: Don't include stat-macros.h.
76058         * lib/chown.c: Likewise.
76059         * lib/euidaccess.c: Likewise.
76060         * lib/file-type.c: Likewise.
76061         * lib/filemode.c: Likewise.
76062         * lib/glob.c: Likewise.
76063         * lib/isapipe.c: Likewise.
76064         * lib/lchown.c: Likewise.
76065         * lib/lstat.c: Likewise.
76066         * lib/mkdir-p.c: Likewise.
76067         * lib/rmdir.c: Likewise.
76068         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
76069         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
76070         unless mkdir isn't declared, to speed up 'configure'.
76071         Always create sys/stat.h, since it's unlikely any real sys/stat.h
76072         would define all the S_* symbols.
76073         * modules/canonicalize (Depends-on):
76074         Depend on sys_stat, not stat-macros.
76075         * modules/chown: Likewise.
76076         * modules/euidaccess: Likewise.
76077         * modules/filemode: Likewise.
76078         * modules/file-type: Likewise.
76079         * modules/glob: Likewise.
76080         * modules/isapipe: Likewise.
76081         * modules/lchown: Likewise.
76082         * modules/lstat: Likewise.
76083         * modules/mkancesdirs: Likewise.
76084         * modules/rmdir: Likewise.
76085         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
76086         * modules/modechange: Likewise.
76087         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
76088         (configure.ac): Remove gl_STAT_MACROS.
76089         * modules/sys_stat (Depends-on): Remove stat-macros.
76090
76091 2006-10-27  Bruno Haible  <bruno@clisp.org>
76092
76093         * m4/signed.m4: Remove file.
76094         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
76095         invocation.
76096         * modules/vasnprintf (Files): Remove m4/signed.m4.
76097
76098 2006-10-27  Bruno Haible  <bruno@clisp.org>
76099
76100         Update to GNU gettext 0.16.
76101         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
76102         m4/inttypes-h.m4, m4/signed.m4.
76103         * m4/gettext.m4: Update to GNU gettext 0.16.
76104         * m4/intl.m4: New file, from GNU gettext.
76105         * m4/intldir.m4: New file, from GNU gettext.
76106         * config/srclist.txt: Update
76107
76108 2006-10-27  Eric Blake  <ebb9@byu.net>
76109
76110         * MODULES.html.sh: Document tempname.
76111         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
76112         dependencies.
76113         (Files): Move lib/tempname.c...
76114         * modules/tempname: ...to this new module.
76115         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
76116         (gl_PREREQ_TEMPNAME): Move...
76117         * m4/tempname.m4: ...to this new file.
76118         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
76119         * modules/sys_stat (Depends-on): Add stat-macros.
76120         * lib/stat_.h (includes): Pick up stat macros.
76121         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
76122         if stat macros are broken.
76123         * lib/tempname.c (includes): No need to include "stat-macros.h".
76124         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
76125         (direxists, __path_search) [!_LIBC]: Don't compile these in
76126         gnulib; the tmpdir module covers that.
76127         * lib/tempname.h: New file.
76128
76129 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
76130
76131         * COPYING: Explain how gnulib-tool converts licence headers.
76132         Almost all wording by Eric Blake.
76133
76134 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
76135
76136         * lib/mbchar.h (is_basic_table): Make read-only.
76137         * lib/mbchar.c (is_basic_table): Likewise.
76138         Reported by John Darrington.
76139
76140 2006-10-25  Bruno Haible  <bruno@clisp.org>
76141
76142         * lib/progname.h (set_program_name): Undefine before defining.
76143
76144 2006-10-25  Bruno Haible  <bruno@clisp.org>
76145
76146         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
76147         false for non-gcc C++ compilers.
76148         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
76149
76150 2006-10-24  Bruno Haible  <bruno@clisp.org>
76151
76152         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
76153         iconv implementations like Irix iconv.
76154
76155 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
76156
76157         * modules/vararrays: New file.
76158         * m4/vararrays.m4: New file, taken from diffutils.
76159         * MODULES.html.sh: New module vararrays.
76160
76161 2006-10-24  Karl Berry  <karl@gnu.org>
76162
76163         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
76164         Don't call GNU Unix.
76165
76166 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76167
76168         * users.txt: Add Libtool.
76169
76170         Sync from Libtool:
76171
76172         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
76173
76174         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
76175         to gnulib's policy of including config.h unconditionally.
76176
76177 2006-10-24  Bruno Haible  <bruno@clisp.org>
76178
76179         * modules/wcwidth (Files): Add m4/wint_t.m4.
76180         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
76181         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
76182
76183 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
76184
76185         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
76186         to pacify GCC with some -W flags enabled.  Problem reported by
76187         Bruno Haible.
76188
76189 2006-10-24  Jim Meyering  <jim@meyering.net>
76190
76191         * MODULES.html.sh: Remove uinttostr.  It's not a module.
76192         Reported by Karl Berry.
76193
76194 2006-10-23  Bruno Haible  <bruno@clisp.org>
76195
76196         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
76197
76198 2006-10-24  Bruno Haible  <bruno@clisp.org>
76199
76200         * lib/gl_list.h: Use C comment style, not C++ comment style.
76201
76202 2006-10-23  Eric Blake  <ebb9@byu.net>
76203
76204         * lib/getaddrinfo.c (includes): Add missing include.
76205
76206 2006-10-23  Bruno Haible  <bruno@clisp.org>
76207             Paul Eggert  <eggert@cs.ucla.edu>
76208
76209         Ability to rename obstack_free.
76210         * lib/obstack.h (__obstack_free): New macro. Declare instead of
76211         obstack_free.
76212         (obstack_free): Invoke the __obstack_free macro.
76213         * lib/obstack.c (obstack_free): Use __obstack_free macro.
76214
76215 2006-10-23  Bruno Haible  <bruno@clisp.org>
76216             Paul Eggert  <eggert@cs.ucla.edu>
76217
76218         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
76219         __argc, __argv from the declaration. (They are defined as macros on
76220         mingw.)
76221
76222 2006-10-22  Bruno Haible  <bruno@clisp.org>
76223
76224         * doc/gnulib-intro.texi: New file.
76225         * doc/gnulib.texi: Include it.
76226
76227 2006-10-21  Bruno Haible  <bruno@clisp.org>
76228
76229         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
76230         "Introduction", "Miscellanous Notes", "Particular Modules".
76231
76232 2006-10-21  Bruno Haible  <bruno@clisp.org>
76233
76234         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
76235         Change mostlyclean-local rule to avoid sh syntax error from bash
76236         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
76237
76238 2006-10-23  Jim Meyering  <jim@meyering.net>
76239
76240         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
76241         in place of snprintf.
76242
76243         * modules/inttostr (Files): Add lib/uinttostr.c.
76244         * lib/uinttostr.c (inttostr): New file/function.
76245         * lib/inttostr.h (uinttostr): Declare.
76246         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
76247         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
76248         Add uinttostr.
76249         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
76250
76251 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
76252
76253         * lib/canonicalize.c (ELOOP): Define if not already defined.
76254         Problem reported by Bruno Haible in
76255         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
76256
76257 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
76258
76259         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
76260         Problem reported by Perry Smith and Ville Laurikari.
76261
76262         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
76263         uses.
76264
76265 2006-10-19  Bruno Haible  <bruno@clisp.org>
76266
76267         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
76268         for mingw.
76269
76270 2006-10-19  Bruno Haible  <bruno@clisp.org>
76271
76272         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
76273         Needed for mingw.
76274
76275 2006-10-19  Bruno Haible  <bruno@clisp.org>
76276
76277         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
76278
76279 2006-10-19  Bruno Haible  <bruno@clisp.org>
76280
76281         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
76282         it.
76283
76284 2006-10-19  Bruno Haible  <bruno@clisp.org>
76285
76286         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
76287         invocation.
76288
76289 2006-10-19  Bruno Haible  <bruno@clisp.org>
76290
76291         * gnulib-tool (func_create_testdir): Don't include ftruncate and
76292         mountlist by default.
76293
76294 2006-10-16  Bruno Haible  <bruno@clisp.org>
76295
76296         * lib/c-strstr.c: Include c-strstr.h.
76297
76298 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
76299
76300         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
76301         in a slash.
76302
76303 2006-10-18  Bruno Haible  <bruno@clisp.org>
76304
76305         * lib/lock.h [C++]: Wrap definitions in extern "C".
76306
76307 2006-10-18  Bruno Haible  <bruno@clisp.org>
76308
76309         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
76310         gl_LIBOBJS list.
76311
76312 2006-10-18  Bruno Haible  <bruno@clisp.org>
76313
76314         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
76315
76316 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
76317
76318         * lib/xstrtol.h: Include gettext.h.
76319         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
76320         Problem reported by Eric Blake.
76321         * modules/xstrtol (Depends-on): Add gettext-h.
76322
76323 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
76324
76325         * lib/strftime.c (advance): New macro.
76326         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
76327         incomplete type, so you can't add 0 to it.  Problem and patch
76328         reported by Eelco Dolstra for dietlibc.
76329
76330 2006-10-18  Jim Meyering  <jim@meyering.net>
76331
76332         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
76333         type for a local, and rename it: s/up/user_proc/.
76334
76335 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
76336
76337         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
76338         READ_UTMP_USER_PROCESS.
76339         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
76340
76341 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
76342
76343         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
76344         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
76345
76346 2006-10-17  Eric Blake  <ebb9@byu.net>
76347
76348         * lib/sigprocmask.c (sigprocmask): Fix typo.
76349
76350         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
76351
76352         * modules/clean-temp (Makefile.am): Don't add to make output...
76353         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
76354         config.h.
76355
76356 2006-10-17  Bruno Haible  <bruno@clisp.org>
76357
76358         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
76359         differently if DEFAULT_TEXT_DOMAIN is set.
76360
76361 2006-10-16  Bruno Haible  <bruno@clisp.org>
76362
76363         * lib/clean-temp.c: Include fwriteerror.h.
76364
76365 2006-10-16  Bruno Haible  <bruno@clisp.org>
76366
76367         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
76368
76369 2006-10-16  Bruno Haible  <bruno@clisp.org>
76370
76371         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
76372         * lib/sigprocmask.h: Include <sys/types.h>.
76373         (sigset_t): Use the system's definition if present.
76374
76375 2006-10-17  Eric Blake  <ebb9@byu.net>
76376
76377         * lib/xvasprintf.c (includes): Assume config.h.
76378         * lib/xasprintf.c (includes): Likewise.
76379
76380 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
76381
76382         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
76383         at least as wide as intmax_t.
76384
76385 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
76386
76387         (Imported from Automake.)
76388         * build-aux/gnupload: Update to version 1.1 of directive file.
76389
76390 2006-10-16  Eric Blake  <ebb9@byu.net>
76391
76392         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
76393         match Automake 1.10a.
76394
76395 2006-10-14  Bruno Haible  <bruno@clisp.org>
76396
76397         * modules/sigprocmask: New file.
76398         * lib/sigprocmask.h: New file.
76399         * lib/sigprocmask.c: New file.
76400         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
76401         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
76402         request sigprocmask.o.
76403         (gl_PREREQ_SIGPROCMASK): New macro.
76404         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
76405         (Depends-on): Add sigprocmask.
76406         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
76407         gt_SIGNALBLOCKING. Test for 'raise' only once.
76408         * lib/fatal-signal.c: Include sigprocmask.h.
76409         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
76410         unblock_fatal_signals): Define always.
76411         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
76412         sigprocmask.
76413
76414 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
76415
76416         Sync from Automake.
76417         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
76418         which incorrectly sets the mode of an existing destination
76419         directory.  In some cases the unpatched install-sh could do the
76420         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
76421         system.  We hope this is rare in practice, but it's clearly worth
76422         fixing.  Problem reported by Alex Unleashed in
76423         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
76424         Also, don't bother to check for -m bugs unless we're using -m;
76425         suggested by Stepan Kasal.
76426
76427 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76428
76429         Sync from Automake.
76430         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
76431         `-c' flag, so they appear at the same position as in %FASTDEP%
76432         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
76433         which ignores unknown options only after the first non-option.
76434         Bug report against M4 by Nelson H. F. Beebe.
76435
76436 2006-10-13  Jim Meyering  <jim@meyering.net>
76437
76438         Fix a bug in yesterday's change.
76439         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
76440         p->fts_statp->st_dev would be used uninitialized.
76441         Ensures that we always call fts_stat on the very first entry.
76442         Miklos Szeredi reported that find -xdev stopped working.
76443
76444 2006-10-12  Bruno Haible  <bruno@clisp.org>
76445
76446         * gnulib-tool (func_get_automake_snippet): Append an automatically
76447         computed EXTRA_DIST augmentation.
76448         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
76449         * modules/alloca-opt (Makefile.am): Likewise.
76450         * modules/allocsa (Makefile.am): Likewise.
76451         * modules/arcfour (Makefile.am): Likewise.
76452         * modules/arctwo (Makefile.am): Likewise.
76453         * modules/argmatch (Makefile.am): Likewise.
76454         * modules/argz (Makefile.am): Likewise.
76455         * modules/atexit (Makefile.am): Likewise.
76456         * modules/backupfile (Makefile.am): Likewise.
76457         * modules/byteswap (Makefile.am): Likewise.
76458         * modules/c-strtod (Makefile.am): Likewise.
76459         * modules/c-strtold (Makefile.am): Likewise.
76460         * modules/calloc (Makefile.am): Likewise.
76461         * modules/canon-host (Makefile.am): Likewise.
76462         * modules/canonicalize (Makefile.am): Likewise.
76463         * modules/chdir-long (Makefile.am): Likewise.
76464         * modules/chdir-safer (Makefile.am): Likewise.
76465         * modules/check-version (Makefile.am): Likewise.
76466         * modules/chown (Makefile.am): Likewise.
76467         * modules/cloexec (Makefile.am): Likewise.
76468         * modules/close-stream (Makefile.am): Likewise.
76469         * modules/closeout (Makefile.am): Likewise.
76470         * modules/crc (Makefile.am): Likewise.
76471         * modules/csharpexec (Makefile.am): Likewise.
76472         * modules/cycle-check (Makefile.am): Likewise.
76473         * modules/des (Makefile.am): Likewise.
76474         * modules/dev-ino (Makefile.am): Likewise.
76475         * modules/dirfd (Makefile.am): Likewise.
76476         * modules/dirname (Makefile.am): Likewise.
76477         * modules/dup2 (Makefile.am): Likewise.
76478         * modules/eealloc (Makefile.am): Likewise.
76479         * modules/error (Makefile.am): Likewise.
76480         * modules/euidaccess (Makefile.am): Likewise.
76481         * modules/exclude (Makefile.am): Likewise.
76482         * modules/exitfail (Makefile.am): Likewise.
76483         * modules/fcntl-safer (Makefile.am): Likewise.
76484         * modules/fcntl (Makefile.am): Likewise.
76485         * modules/file-type (Makefile.am): Likewise.
76486         * modules/fileblocks (Makefile.am): Likewise.
76487         * modules/filemode (Makefile.am): Likewise.
76488         * modules/filenamecat (Makefile.am): Likewise.
76489         * modules/fnmatch (Makefile.am): Likewise.
76490         * modules/fopen-safer (Makefile.am): Likewise.
76491         * modules/fpending (Makefile.am): Likewise.
76492         * modules/fprintftime (Makefile.am): Likewise.
76493         * modules/free (Makefile.am): Likewise.
76494         * modules/fsusage (Makefile.am): Likewise.
76495         * modules/ftruncate (Makefile.am): Likewise.
76496         * modules/fts (Makefile.am): Likewise.
76497         * modules/gc-arcfour (Makefile.am): Likewise.
76498         * modules/gc-des (Makefile.am): Likewise.
76499         * modules/gc-hmac-md5 (Makefile.am): Likewise.
76500         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
76501         * modules/gc-md4 (Makefile.am): Likewise.
76502         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
76503         * modules/gc-sha1 (Makefile.am): Likewise.
76504         * modules/gc (Makefile.am): Likewise.
76505         * modules/getaddrinfo (Makefile.am): Likewise.
76506         * modules/getcwd (Makefile.am): Likewise.
76507         * modules/getdelim (Makefile.am): Likewise.
76508         * modules/getdomainname (Makefile.am): Likewise.
76509         * modules/getgroups (Makefile.am): Likewise.
76510         * modules/gethostname (Makefile.am): Likewise.
76511         * modules/gethrxtime (Makefile.am): Likewise.
76512         * modules/getline (Makefile.am): Likewise.
76513         * modules/getloadavg (Makefile.am): Likewise.
76514         * modules/getlogin_r (Makefile.am): Likewise.
76515         * modules/getndelim2 (Makefile.am): Likewise.
76516         * modules/getopt (Makefile.am): Likewise.
76517         * modules/getpagesize (Makefile.am): Likewise.
76518         * modules/getpass-gnu (Makefile.am): Likewise.
76519         * modules/getpass (Makefile.am): Likewise.
76520         * modules/getsubopt (Makefile.am): Likewise.
76521         * modules/gettime (Makefile.am): Likewise.
76522         * modules/gettimeofday (Makefile.am): Likewise.
76523         * modules/getugroups (Makefile.am): Likewise.
76524         * modules/getusershell (Makefile.am): Likewise.
76525         * modules/glob (Makefile.am): Likewise.
76526         * modules/group-member (Makefile.am): Likewise.
76527         * modules/hard-locale (Makefile.am): Likewise.
76528         * modules/hash (Makefile.am): Likewise.
76529         * modules/hmac-md5 (Makefile.am): Likewise.
76530         * modules/hmac-sha1 (Makefile.am): Likewise.
76531         * modules/human (Makefile.am): Likewise.
76532         * modules/idcache (Makefile.am): Likewise.
76533         * modules/imaxabs (Makefile.am): Likewise.
76534         * modules/imaxdiv (Makefile.am): Likewise.
76535         * modules/inet_ntop (Makefile.am): Likewise.
76536         * modules/inet_pton (Makefile.am): Likewise.
76537         * modules/intprops (Makefile.am): Likewise.
76538         * modules/inttostr (Makefile.am): Likewise.
76539         * modules/inttypes (Makefile.am): Likewise.
76540         * modules/isapipe (Makefile.am): Likewise.
76541         * modules/javaversion (Makefile.am): Likewise.
76542         * modules/lchmod (Makefile.am): Likewise.
76543         * modules/lchown (Makefile.am): Likewise.
76544         * modules/localcharset (Makefile.am): Likewise.
76545         * modules/long-options (Makefile.am): Likewise.
76546         * modules/lstat (Makefile.am): Likewise.
76547         * modules/malloc (Makefile.am): Likewise.
76548         * modules/mathl (Makefile.am): Likewise.
76549         * modules/mbchar (Makefile.am): Likewise.
76550         * modules/md2 (Makefile.am): Likewise.
76551         * modules/md4 (Makefile.am): Likewise.
76552         * modules/md5 (Makefile.am): Likewise.
76553         * modules/memcasecmp (Makefile.am): Likewise.
76554         * modules/memchr (Makefile.am): Likewise.
76555         * modules/memcmp (Makefile.am): Likewise.
76556         * modules/memcoll (Makefile.am): Likewise.
76557         * modules/memcpy (Makefile.am): Likewise.
76558         * modules/memmem (Makefile.am): Likewise.
76559         * modules/memmove (Makefile.am): Likewise.
76560         * modules/mempcpy (Makefile.am): Likewise.
76561         * modules/memrchr (Makefile.am): Likewise.
76562         * modules/memset (Makefile.am): Likewise.
76563         * modules/memxor (Makefile.am): Likewise.
76564         * modules/mkancesdirs (Makefile.am): Likewise.
76565         * modules/mkdir-p (Makefile.am): Likewise.
76566         * modules/mkdir (Makefile.am): Likewise.
76567         * modules/mkdtemp (Makefile.am): Likewise.
76568         * modules/mkstemp (Makefile.am): Likewise.
76569         * modules/mktime (Makefile.am): Likewise.
76570         * modules/modechange (Makefile.am): Likewise.
76571         * modules/mountlist (Makefile.am): Likewise.
76572         * modules/nanosleep (Makefile.am): Likewise.
76573         * modules/obstack (Makefile.am): Likewise.
76574         * modules/openat (Makefile.am): Likewise.
76575         * modules/pagealign_alloc (Makefile.am): Likewise.
76576         * modules/pathmax (Makefile.am): Likewise.
76577         * modules/physmem (Makefile.am): Likewise.
76578         * modules/poll (Makefile.am): Likewise.
76579         * modules/posixtm (Makefile.am): Likewise.
76580         * modules/posixver (Makefile.am): Likewise.
76581         * modules/putenv (Makefile.am): Likewise.
76582         * modules/quote (Makefile.am): Likewise.
76583         * modules/quotearg (Makefile.am): Likewise.
76584         * modules/raise (Makefile.am): Likewise.
76585         * modules/read-file (Makefile.am): Likewise.
76586         * modules/readline (Makefile.am): Likewise.
76587         * modules/readlink (Makefile.am): Likewise.
76588         * modules/readtokens (Makefile.am): Likewise.
76589         * modules/readutmp (Makefile.am): Likewise.
76590         * modules/realloc (Makefile.am): Likewise.
76591         * modules/regex (Makefile.am): Likewise.
76592         * modules/rename-dest-slash (Makefile.am): Likewise.
76593         * modules/rename (Makefile.am): Likewise.
76594         * modules/rijndael (Makefile.am): Likewise.
76595         * modules/rmdir (Makefile.am): Likewise.
76596         * modules/rpmatch (Makefile.am): Likewise.
76597         * modules/safe-read (Makefile.am): Likewise.
76598         * modules/safe-write (Makefile.am): Likewise.
76599         * modules/same-inode (Makefile.am): Likewise.
76600         * modules/same (Makefile.am): Likewise.
76601         * modules/save-cwd (Makefile.am): Likewise.
76602         * modules/savedir (Makefile.am): Likewise.
76603         * modules/setenv (Makefile.am): Likewise.
76604         * modules/settime (Makefile.am): Likewise.
76605         * modules/sha1 (Makefile.am): Likewise.
76606         * modules/sig2str (Makefile.am): Likewise.
76607         * modules/snprintf (Makefile.am): Likewise.
76608         * modules/stat-macros (Makefile.am): Likewise.
76609         * modules/stat-time (Makefile.am): Likewise.
76610         * modules/stdbool (Makefile.am): Likewise.
76611         * modules/stdint (Makefile.am): Likewise.
76612         * modules/stdlib-safer (Makefile.am): Likewise.
76613         * modules/stpcpy (Makefile.am): Likewise.
76614         * modules/stpncpy (Makefile.am): Likewise.
76615         * modules/strcase (Makefile.am): Likewise.
76616         * modules/strcasestr (Makefile.am): Likewise.
76617         * modules/strchrnul (Makefile.am): Likewise.
76618         * modules/strcspn (Makefile.am): Likewise.
76619         * modules/strdup (Makefile.am): Likewise.
76620         * modules/strerror (Makefile.am): Likewise.
76621         * modules/strftime (Makefile.am): Likewise.
76622         * modules/strndup (Makefile.am): Likewise.
76623         * modules/strnlen (Makefile.am): Likewise.
76624         * modules/strpbrk (Makefile.am): Likewise.
76625         * modules/strsep (Makefile.am): Likewise.
76626         * modules/strstr (Makefile.am): Likewise.
76627         * modules/strtod (Makefile.am): Likewise.
76628         * modules/strtoimax (Makefile.am): Likewise.
76629         * modules/strtok_r (Makefile.am): Likewise.
76630         * modules/strtol (Makefile.am): Likewise.
76631         * modules/strtoll (Makefile.am): Likewise.
76632         * modules/strtoul (Makefile.am): Likewise.
76633         * modules/strtoull (Makefile.am): Likewise.
76634         * modules/strtoumax (Makefile.am): Likewise.
76635         * modules/strverscmp (Makefile.am): Likewise.
76636         * modules/sys_socket (Makefile.am): Likewise.
76637         * modules/sys_stat (Makefile.am): Likewise.
76638         * modules/sysexits (Makefile.am): Likewise.
76639         * modules/time_r (Makefile.am): Likewise.
76640         * modules/timegm (Makefile.am): Likewise.
76641         * modules/timespec (Makefile.am): Likewise.
76642         * modules/tmpfile-safer (Makefile.am): Likewise.
76643         * modules/trim (Makefile.am): Likewise.
76644         * modules/unistd-safer (Makefile.am): Likewise.
76645         * modules/unlinkdir (Makefile.am): Likewise.
76646         * modules/unlocked-io (Makefile.am): Likewise.
76647         * modules/userspec (Makefile.am): Likewise.
76648         * modules/utime (Makefile.am): Likewise.
76649         * modules/utimecmp (Makefile.am): Likewise.
76650         * modules/utimens (Makefile.am): Likewise.
76651         * modules/vasnprintf (Makefile.am): Likewise.
76652         * modules/vasprintf (Makefile.am): Likewise.
76653         * modules/vsnprintf (Makefile.am): Likewise.
76654         * modules/xalloc (Makefile.am): Likewise.
76655         * modules/xgetcwd (Makefile.am): Likewise.
76656         * modules/xnanosleep (Makefile.am): Likewise.
76657         * modules/xreadlink (Makefile.am): Likewise.
76658         * modules/xstrtod (Makefile.am): Likewise.
76659         * modules/xstrtol (Makefile.am): Likewise.
76660         * modules/xstrtold (Makefile.am): Likewise.
76661         * modules/yesno (Makefile.am): Likewise.
76662         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
76663
76664 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
76665
76666         * modules/error (Makefile.am): Distribute files through
76667         EXTRA_DIST, not lib_SOURCES.
76668
76669 2006-10-12  Eric Blake  <ebb9@byu.net>
76670
76671         * modules/error (Makefile.am): Distribute files in /lib.
76672         * modules/obstack (Makefile.am): Likewise.
76673
76674 2006-10-12  Bruno Haible  <bruno@clisp.org>
76675
76676         * modules/acl (Makefile.am): Distribute all files in lib/ through
76677         EXTRA_DIST.
76678         * modules/arcfour (Makefile.am): Likewise.
76679         * modules/arctwo (Makefile.am): Likewise.
76680         * modules/argmatch (Makefile.am): Likewise.
76681         * modules/argz (Makefile.am): Likewise.
76682         * modules/atexit (Makefile.am): Likewise.
76683         * modules/backupfile (Makefile.am): Likewise.
76684         * modules/c-strtod (Makefile.am): Likewise.
76685         * modules/c-strtold (Makefile.am): Likewise.
76686         * modules/calloc (Makefile.am): Likewise.
76687         * modules/canon-host (Makefile.am): Likewise.
76688         * modules/canonicalize (Makefile.am): Likewise.
76689         * modules/chdir-long (Makefile.am): Likewise.
76690         * modules/chdir-safer (Makefile.am): Likewise.
76691         * modules/check-version (Makefile.am): Likewise.
76692         * modules/chown (Makefile.am): Likewise.
76693         * modules/cloexec (Makefile.am): Likewise.
76694         * modules/close-stream (Makefile.am): Likewise.
76695         * modules/closeout (Makefile.am): Likewise.
76696         * modules/crc (Makefile.am): Likewise.
76697         * modules/cycle-check (Makefile.am): Likewise.
76698         * modules/des (Makefile.am): Likewise.
76699         * modules/dirfd (Makefile.am): Likewise.
76700         * modules/dirname (Makefile.am): Likewise.
76701         * modules/dup2 (Makefile.am): Likewise.
76702         * modules/euidaccess (Makefile.am): Likewise.
76703         * modules/exclude (Makefile.am): Likewise.
76704         * modules/exitfail (Makefile.am): Likewise.
76705         * modules/fcntl-safer (Makefile.am): Likewise.
76706         * modules/file-type (Makefile.am): Likewise.
76707         * modules/fileblocks (Makefile.am): Likewise.
76708         * modules/filemode (Makefile.am): Likewise.
76709         * modules/filenamecat (Makefile.am): Likewise.
76710         * modules/fnmatch (Makefile.am): Likewise.
76711         * modules/fopen-safer (Makefile.am): Likewise.
76712         * modules/fpending (Makefile.am): Likewise.
76713         * modules/fprintftime (Makefile.am): Likewise.
76714         * modules/free (Makefile.am): Likewise.
76715         * modules/fsusage (Makefile.am): Likewise.
76716         * modules/ftruncate (Makefile.am): Likewise.
76717         * modules/fts (Makefile.am): Likewise.
76718         * modules/gc (Makefile.am): Likewise.
76719         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
76720         * modules/getaddrinfo (Makefile.am): Likewise.
76721         * modules/getcwd (Makefile.am): Likewise.
76722         * modules/getdelim (Makefile.am): Likewise.
76723         * modules/getdomainname (Makefile.am): Likewise.
76724         * modules/getgroups (Makefile.am): Likewise.
76725         * modules/gethostname (Makefile.am): Likewise.
76726         * modules/gethrxtime (Makefile.am): Likewise.
76727         * modules/getline (Makefile.am): Likewise.
76728         * modules/getloadavg (Makefile.am): Likewise.
76729         * modules/getlogin_r (Makefile.am): Likewise.
76730         * modules/getopt (Makefile.am): Likewise.
76731         * modules/getpass (Makefile.am): Likewise.
76732         * modules/getpass-gnu (Makefile.am): Likewise.
76733         * modules/getsubopt (Makefile.am): Likewise.
76734         * modules/gettime (Makefile.am): Likewise.
76735         * modules/gettimeofday (Makefile.am): Likewise.
76736         * modules/getugroups (Makefile.am): Likewise.
76737         * modules/getusershell (Makefile.am): Likewise.
76738         * modules/glob (Makefile.am): Likewise.
76739         * modules/group-member (Makefile.am): Likewise.
76740         * modules/hard-locale (Makefile.am): Likewise.
76741         * modules/hash (Makefile.am): Likewise.
76742         * modules/hmac-md5 (Makefile.am): Likewise.
76743         * modules/hmac-sha1 (Makefile.am): Likewise.
76744         * modules/human (Makefile.am): Likewise.
76745         * modules/idcache (Makefile.am): Likewise.
76746         * modules/imaxabs (Makefile.am): Likewise.
76747         * modules/imaxdiv (Makefile.am): Likewise.
76748         * modules/inet_ntop (Makefile.am): Likewise.
76749         * modules/inet_pton (Makefile.am): Likewise.
76750         * modules/inttostr (Makefile.am): Likewise.
76751         * modules/isapipe (Makefile.am): Likewise.
76752         * modules/lchown (Makefile.am): Likewise.
76753         * modules/long-options (Makefile.am): Likewise.
76754         * modules/lstat (Makefile.am): Likewise.
76755         * modules/malloc (Makefile.am): Likewise.
76756         * modules/mathl (Makefile.am): Likewise.
76757         * modules/mbchar (Makefile.am): Likewise.
76758         * modules/md2 (Makefile.am): Likewise.
76759         * modules/md4 (Makefile.am): Likewise.
76760         * modules/md5 (Makefile.am): Likewise.
76761         * modules/memcasecmp (Makefile.am): Likewise.
76762         * modules/memchr (Makefile.am): Likewise.
76763         * modules/memcmp (Makefile.am): Likewise.
76764         * modules/memcoll (Makefile.am): Likewise.
76765         * modules/memcpy (Makefile.am): Likewise.
76766         * modules/memmem (Makefile.am): Likewise.
76767         * modules/memmove (Makefile.am): Likewise.
76768         * modules/mempcpy (Makefile.am): Likewise.
76769         * modules/memrchr (Makefile.am): Likewise.
76770         * modules/memset (Makefile.am): Likewise.
76771         * modules/memxor (Makefile.am): Likewise.
76772         * modules/mkancesdirs (Makefile.am): Likewise.
76773         * modules/mkdir (Makefile.am): Likewise.
76774         * modules/mkdir-p (Makefile.am): Likewise.
76775         * modules/mkdtemp (Makefile.am): Likewise.
76776         * modules/mkstemp (Makefile.am): Likewise.
76777         * modules/mktime (Makefile.am): Likewise.
76778         * modules/modechange (Makefile.am): Likewise.
76779         * modules/mountlist (Makefile.am): Likewise.
76780         * modules/nanosleep (Makefile.am): Likewise.
76781         * modules/openat (Makefile.am): Likewise.
76782         * modules/pagealign_alloc (Makefile.am): Likewise.
76783         * modules/physmem (Makefile.am): Likewise.
76784         * modules/poll (Makefile.am): Likewise.
76785         * modules/posixtm (Makefile.am): Likewise.
76786         * modules/posixver (Makefile.am): Likewise.
76787         * modules/putenv (Makefile.am): Likewise.
76788         * modules/quote (Makefile.am): Likewise.
76789         * modules/quotearg (Makefile.am): Likewise.
76790         * modules/raise (Makefile.am): Likewise.
76791         * modules/read-file (Makefile.am): Likewise.
76792         * modules/readline (Makefile.am): Likewise.
76793         * modules/readlink (Makefile.am): Likewise.
76794         * modules/readtokens (Makefile.am): Likewise.
76795         * modules/readutmp (Makefile.am): Likewise.
76796         * modules/realloc (Makefile.am): Likewise.
76797         * modules/regex (Makefile.am): Likewise.
76798         * modules/rename (Makefile.am): Likewise.
76799         * modules/rename-dest-slash (Makefile.am): Likewise.
76800         * modules/rijndael (Makefile.am): Likewise.
76801         * modules/rmdir (Makefile.am): Likewise.
76802         * modules/rpmatch (Makefile.am): Likewise.
76803         * modules/safe-read (Makefile.am): Likewise.
76804         * modules/safe-write (Makefile.am): Likewise.
76805         * modules/same (Makefile.am): Likewise.
76806         * modules/save-cwd (Makefile.am): Likewise.
76807         * modules/savedir (Makefile.am): Likewise.
76808         * modules/setenv (Makefile.am): Likewise.
76809         * modules/settime (Makefile.am): Likewise.
76810         * modules/sha1 (Makefile.am): Likewise.
76811         * modules/sig2str (Makefile.am): Likewise.
76812         * modules/snprintf (Makefile.am): Likewise.
76813         * modules/stdlib-safer (Makefile.am): Likewise.
76814         * modules/stpcpy (Makefile.am): Likewise.
76815         * modules/stpncpy (Makefile.am): Likewise.
76816         * modules/strcase (Makefile.am): Likewise.
76817         * modules/strcasestr (Makefile.am): Likewise.
76818         * modules/strchrnul (Makefile.am): Likewise.
76819         * modules/strcspn (Makefile.am): Likewise.
76820         * modules/strdup (Makefile.am): Likewise.
76821         * modules/strerror (Makefile.am): Likewise.
76822         * modules/strftime (Makefile.am): Likewise.
76823         * modules/strndup (Makefile.am): Likewise.
76824         * modules/strnlen (Makefile.am): Likewise.
76825         * modules/strpbrk (Makefile.am): Likewise.
76826         * modules/strsep (Makefile.am): Likewise.
76827         * modules/strstr (Makefile.am): Likewise.
76828         * modules/strtod (Makefile.am): Likewise.
76829         * modules/strtoimax (Makefile.am): Likewise.
76830         * modules/strtok_r (Makefile.am): Likewise.
76831         * modules/strtol (Makefile.am): Likewise.
76832         * modules/strtoll (Makefile.am): Likewise.
76833         * modules/strtoul (Makefile.am): Likewise.
76834         * modules/strtoull (Makefile.am): Likewise.
76835         * modules/strtoumax (Makefile.am): Likewise.
76836         * modules/strverscmp (Makefile.am): Likewise.
76837         * modules/time_r (Makefile.am): Likewise.
76838         * modules/timegm (Makefile.am): Likewise.
76839         * modules/tmpfile-safer (Makefile.am): Likewise.
76840         * modules/unistd-safer (Makefile.am): Likewise.
76841         * modules/unlinkdir (Makefile.am): Likewise.
76842         * modules/userspec (Makefile.am): Likewise.
76843         * modules/utime (Makefile.am): Likewise.
76844         * modules/utimecmp (Makefile.am): Likewise.
76845         * modules/utimens (Makefile.am): Likewise.
76846         * modules/vasnprintf (Makefile.am): Likewise.
76847         * modules/vasprintf (Makefile.am): Likewise.
76848         * modules/vsnprintf (Makefile.am): Likewise.
76849         * modules/xalloc (Makefile.am): Likewise.
76850         * modules/xgetcwd (Makefile.am): Likewise.
76851         * modules/xnanosleep (Makefile.am): Likewise.
76852         * modules/xreadlink (Makefile.am): Likewise.
76853         * modules/xstrtod (Makefile.am): Likewise.
76854         * modules/xstrtol (Makefile.am): Likewise.
76855         * modules/xstrtold (Makefile.am): Likewise.
76856         * modules/yesno (Makefile.am): Likewise.
76857
76858 2006-10-12  Jim Meyering  <jim@meyering.net>
76859
76860         * m4/getloadavg.m4: Revert the change below.
76861
76862         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
76863         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
76864         fail with a symlink, which is what coreutils' ./bootstrap now
76865         creates by default.
76866
76867 2006-10-12  Bruno Haible  <bruno@clisp.org>
76868
76869         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
76870         mingw.
76871         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
76872         MSVC and mingw explicitly.
76873
76874 2006-10-11  Simon Josefsson  <jas@extundo.com>
76875             Bruno Haible  <bruno@clisp.org>
76876
76877         Add support for multiple gnulib-tool invocations in the scope of a
76878         single configure.ac file.
76879         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
76880         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
76881         with the same contents as the _LIBADD variable.
76882         (func_emit_initmacro_start, func_emit_initmacro_end,
76883         func_emit_initmacro_done): New functions.
76884         (func_import, func_create_testdir): Invoke them. Allow the identifiers
76885         gl_LIBOBJS and gl_LTLIBOBJS.
76886
76887 2006-10-11  Bruno Haible  <bruno@clisp.org>
76888
76889         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
76890         (func_create_testdir): Don't create po/Makefile.am, don't invoke
76891         autoreconf. Instead, invoke autopoint explicitly but move back the
76892         *.m4 files from gnulib.
76893
76894 2006-10-11  Bruno Haible  <bruno@clisp.org>
76895
76896         * gnulib-tool (func_usage): Make module names after --create-testdir
76897         optional.
76898         (func_create_testdir): If no module was specified, use nearly all
76899         modules.
76900
76901 2006-10-12  Jim Meyering  <jim@meyering.net>
76902
76903         Big performance improvement for fts-based tools that use FTS_NOSTAT.
76904         Avoid spurious inode-mismatch problems on non-POSIX file systems.
76905         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
76906         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
76907         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
76908         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
76909         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
76910         (fts_set_stat_required): New function.
76911         (fts_open): Defer the calls to fts_stat, if possible or requested.
76912         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
76913         into fts_stat itself.
76914         (fts_read): Perform any required (deferred) fts_stat call.
76915         (fts_build): Likewise, for the directory we're about to open and read.
76916         In the readdir loop, carefully decide whether each entry will require
76917         an eventual call to fts_stat, using dirent.d_type info if available.
76918         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
76919         a command line argument into this function.  Update all callers.
76920         Map a return value of FTS_DOT to FTS_D for a command line argument.
76921         * modules/fts (Depends-on): Add d-type.  Alphabetize.
76922         Thanks to Miklos Szeredi for his tenacity and for the initial
76923         bug report about "find" failing on a FUSE-based file system.
76924
76925         * lib/fts.c (fts_open): Use consistent indentation.
76926
76927 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
76928
76929         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
76930         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
76931         reported by Jim Meyering.  All uses of cache variables renamed
76932         to match Autoconf's.
76933         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
76934         the other one.
76935
76936         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
76937         Fix misspelling in diagnostic.
76938
76939 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
76940
76941         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
76942         defined.  Problem reported by Matthew Woehlke.
76943
76944         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
76945         Add support for Tandem NonStop R series.
76946         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
76947         Use new macro.
76948
76949         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
76950         (has_trailing_slash): Omit size arg; all callers changed.
76951         Omit 'inline', since it doesn't help performance and we'd
76952         need to configure it.
76953         Don't count //, ///, etc. as having a trailing slash.
76954         As a side effect, this removes a C99ism reported by Matthew Woehlke.
76955         (rpl_rename_dest_slash): On failure, use rename's errno rather
76956         than (in some cases) an incorrect or junk errno.
76957         Simplify code by removing need to compute length; this does
76958         cause it to make two passes instead of one over the file name,
76959         but it's worth it.
76960
76961         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
76962         change, since Autoconf's version may no longer be appropriate now
76963         that we are using CVS Autoconf's version.  Add support for Tandem.
76964
76965 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
76966             Bruno Haible  <bruno@clisp.org>
76967
76968         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
76969         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
76970         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
76971         gl_AC_TYPE_LONG_LONG.
76972
76973         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
76974         instead of HAVE_LONG_LONG.
76975         * lib/printf-args.c (printf_fetchargs): Likewise.
76976         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
76977         * lib/vasnprintf.c (VASNPRINTF): Likewise.
76978         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
76979         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
76980         gl_AC_TYPE_LONG_LONG.
76981
76982 2006-10-11  Bruno Haible  <bruno@clisp.org>
76983
76984         * m4/longlong.m4: Add comments.
76985         * m4/ulonglong.m4: Likewise.
76986
76987 2006-10-10  Bruno Haible  <bruno@clisp.org>
76988
76989         Make it possible to #define stpcpy, strdup to aliases.
76990         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
76991         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
76992
76993 2006-10-10  Bruno Haible  <bruno@clisp.org>
76994
76995         Make it possible to #define gcd to an alias.
76996         * lib/gcd.c: Include config.h.
76997
76998 2006-10-10  Bruno Haible  <bruno@clisp.org>
76999
77000         Make it possible to #define c_isascii to an alias.
77001         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
77002         defined. Undefine the macros before defining them, to avoid gcc
77003         warnings.
77004         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
77005         define NO_C_CTYPE_MACROS early.
77006
77007 2006-10-10  Bruno Haible  <bruno@clisp.org>
77008
77009         Make it possible to #define set_program_name to an alias.
77010         * lib/progname.c: Don't undefine set_program_name; instead, undefine
77011         ENABLE_RELOCATABLE early.
77012
77013 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
77014
77015         Port to Tandem NSK OSS, which has 64-bit signed int but at most
77016         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
77017         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
77018         More generally, don't assume that 64-bit signed int is available
77019         if unsigned int is, and vice versa.
77020         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
77021         unsigned symbols, not on their signed counterparts.
77022         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
77023         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
77024         (UINT64_C, UINTMAX_C):
77025         Likewise.
77026         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
77027         unsigned counterparts.
77028         (Have_long_long, Unsigned): New macros.
77029         (Int): Renamed from INT.
77030         (strtoimax): Use the new macros.
77031         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
77032         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
77033         * modules/inttypes (inttypes.h): Substitute
77034         HAVE_UNSIGNED_LONG_LONG_INT.
77035         * modules/stdint (stdint.h): Likewise.
77036         (Files): Add m4/ulonglong.m4.
77037
77038 2006-10-10  Bruno Haible  <bruno@clisp.org>
77039
77040         Fix a gcc -Wshadow warning.
77041         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
77042         to 'bucket'.
77043         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
77044         gl_linked_indexof_from_to): Likewise.
77045         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
77046         Likewise.
77047         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
77048         Likewise.
77049         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
77050         Reported by Eric Blake.
77051
77052 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
77053
77054         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
77055         for NetBSD.  Problem reported by Bruno Haible.
77056
77057 2006-10-09  Jim Meyering  <jim@meyering.net>
77058
77059         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
77060         Patch from Bruno Haible.
77061
77062 2006-10-09  Jim Meyering  <jim@meyering.net>
77063
77064         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
77065         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
77066         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
77067
77068 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
77069
77070         Don't include <config.h> twice; this doesn't work in some cases,
77071         e.g., when config.h has "#define intmax_t long long int" and
77072         we include <config.h>, <inttypes.h>, <config.h> in that order.
77073         Problem reported by Matthew Woehlke in:
77074         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
77075         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
77076         * lib/fts-cycle.c: Don't include config.h.
77077         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
77078         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
77079         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
77080         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
77081         inttypes.h.
77082         * lib/xstrtoumax.c: Likewise.
77083         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
77084         __strtol and the like, so that this module is more like its siblings.
77085         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
77086         Remove; no longer needed now that we assume gnulib inttypes.h.
77087
77088 2006-10-08  Bruno Haible  <bruno@clisp.org>
77089
77090         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
77091         option.
77092
77093 2006-10-07  Jim Meyering  <jim@meyering.net>
77094
77095         * modules/inttypes (inttypes.h): Revert what seems to have been
77096         an inadvertent part of today's change: use "|", not "/" in the
77097         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
77098
77099 2006-10-07  Bruno Haible  <bruno@clisp.org>
77100
77101         * modules/sublist: New file.
77102
77103 2006-10-07  Bruno Haible  <bruno@clisp.org>
77104
77105         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
77106         * modules/argz (argz.h): Likewise.
77107         * modules/arpa_inet (arpa/inet.h): Likewise.
77108         * modules/byteswap (byteswap.h): Likewise.
77109         * modules/configmake (configmake.h): Likewise.
77110         * modules/fcntl (fcntl.h): Likewise.
77111         * modules/fnmatch (fnmatch.h): Likewise.
77112         * modules/getopt (getopt.h): Likewise.
77113         * modules/glob (glob.h): Likewise.
77114         * modules/inttypes (inttypes.h): Likewise.
77115         * modules/netinet_in (netinet/in.h): Likewise.
77116         * modules/poll (poll.h): Likewise.
77117         * modules/stdbool (stdbool.h): Likewise.
77118         * modules/stdint (stdint.h): Likewise.
77119         * modules/sys_select (sys/select.h): Likewise.
77120         * modules/sys_socket (sys/socket.h): Likewise.
77121         * modules/sys_stat (sys/stat.h): Likewise.
77122         * modules/sysexits (sysexits.h): Likewise.
77123         * modules/unistd (unistd.h): Likewise.
77124         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
77125         Add a "DO NOT EDIT" comment to the generated file.
77126         (func_import): Likewise for gnulib-comp.m4.
77127
77128 2006-10-07  Bruno Haible  <bruno@clisp.org>
77129
77130         * lib/gl_sublist.h: New file.
77131         * lib/gl_sublist.c: New file.
77132
77133 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
77134
77135         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
77136         name (relative to the original working directory) and the file
77137         name component (relative to the temporary working directory).  All
77138         callers changed.
77139         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
77140         * lib/mkdir-p.c (make_dir_parents): Likewise.
77141         * lib/mkdir-p.h (make_dir_parents): Likewise.
77142
77143 2006-10-06  Eric Blake  <ebb9@byu.net>
77144
77145         Define several macros for use by the clean-temp module.
77146         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
77147         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
77148         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
77149
77150         * lib/clean-temp.h (close_stream_temp): New declaration.
77151         * lib/clean-temp.c (includes): Pull in headers according to what
77152         other modules are in use.
77153         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
77154
77155 2006-10-06  Bruno Haible  <bruno@clisp.org>
77156
77157         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
77158         instead of fopen, fwriteerror.
77159
77160 2006-10-06  Bruno Haible  <bruno@clisp.org>
77161
77162         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
77163         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
77164         int.
77165         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
77166         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
77167         Return an error indicator.
77168         Suggested by Eric Blake.
77169
77170 2006-10-06  Bruno Haible  <bruno@clisp.org>
77171
77172         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
77173         Reported by Eric Blake.
77174
77175 2006-10-06  Bruno Haible  <bruno@clisp.org>
77176
77177         * modules/closeout (Description): Mention stderr too.
77178
77179 2006-10-06  Bruno Haible  <bruno@clisp.org>
77180         and Paul Eggert  <eggert@cs.ucla.edu>
77181
77182         * lib/closeout.c (close_stdout): Also close stderr.
77183         * lib/closeout.h: Update comment.
77184
77185 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
77186
77187         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
77188         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
77189         * lib/dirchownmod.c: Include lchown.h.
77190         * lib/lchown.c: Don't include files that lchown.h now includes.
77191         Don't declare chown, since lchown.h now does that.
77192         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
77193         (lchown): Define to rpl_chown if lchown is declared but
77194         does not exist.  Declare using a prototype if lchown is not
77195         declared.  Add a copyright notice.
77196         * lib/mkstemp.h: Include <unistd.h>.
77197         * lib/openat.c: Include lchown.h.
77198
77199         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
77200         we now test for that separately.
77201         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
77202         rather than O_NOFOLLOW, when testing whether it's possible to
77203         avoid a race condition reliably.
77204         * lib/savewd.c (savewd_chdir): Likewise.
77205
77206         Remove macros that are no longer needed now that stdint.h is
77207         reliable.
77208         * lib/fsusage.c (UINTMAX_MAX): Remove.
77209         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
77210         * lib/utimecmp.c (SIZE_MAX): Remove.
77211
77212         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
77213
77214         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
77215         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
77216         O_NOATIME works.
77217
77218 2006-10-05  Bruno Haible  <bruno@clisp.org>
77219
77220         * lib/gl_list.h (gl_sortedlist_search_from_to,
77221         gl_sortedlist_indexof_from_to): New declarations.
77222         (gl_list_implementation): New fields sortedlist_search_from_to,
77223         sortedlist_indexof_from_to.
77224         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
77225         inline functions.
77226         * lib/gl_list.c (gl_sortedlist_search_from_to,
77227         gl_sortedlist_indexof_from_to): New functions.
77228         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
77229         function.
77230         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
77231         (gl_array_sortedlist_search_from_to): New function.
77232         (gl_array_list_implementation): Update.
77233         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
77234         function.
77235         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
77236         (gl_carray_sortedlist_search_from_to): New function.
77237         (gl_carray_list_implementation): Update.
77238         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
77239         gl_linked_sortedlist_indexof_from_to): New functions.
77240         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
77241         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
77242         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
77243         gl_tree_sortedlist_indexof_from_to): New functions.
77244         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
77245         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
77246         Update.
77247         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
77248         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
77249         Update.
77250
77251 2006-10-05  Bruno Haible  <bruno@clisp.org>
77252
77253         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
77254         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
77255         (struct gl_list_implementation): Add fields search_from_to,
77256         indexof_from_to. Remove fields search, indexof.
77257         (gl_list_search): Use the search_from_to method.
77258         (gl_list_search_from, gl_list_search_from_to): New functions.
77259         (gl_list_indexof): Use the indexof_from_to method.
77260         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
77261         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
77262         (gl_list_search_from, gl_list_search_from_to): New functions.
77263         (gl_list_indexof): Use the indexof_from_to method.
77264         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
77265         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
77266         gl_array_indexof. Add start_index, end_index arguments.
77267         (gl_array_search_from_to): Renamed from gl_array_search. Add
77268         start_index, end_index arguments.
77269         (gl_array_remove, gl_array_list_implementation): Update.
77270         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
77271         gl_carray_indexof. Add start_index, end_index arguments.
77272         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
77273         start_index, end_index arguments.
77274         (gl_carray_remove, gl_carray_list_implementation): Update.
77275         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
77276         gl_linked_search. Add start_index, end_index arguments.
77277         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
77278         start_index, end_index arguments.
77279         (gl_linked_remove): Update.
77280         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
77281         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
77282         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
77283         field to 'size_t'.
77284         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
77285         gl_tree_search. Add start_index, end_index arguments.
77286         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
77287         start_index, end_index arguments.
77288         (gl_tree_remove): Update.
77289         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
77290         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
77291         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
77292         function.
77293         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
77294         gl_tree_search. Add start_index, end_index arguments.
77295         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
77296         start_index, end_index arguments.
77297         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
77298         Update.
77299         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
77300
77301 2006-10-05  Bruno Haible  <bruno@clisp.org>
77302
77303         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
77304
77305         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
77306         fwriteerror_temp): New declarations.
77307         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
77308         (descriptors): New variable.
77309         (cleanup): First, close the descriptors.
77310         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
77311         fclose_temp, fwriteerror_temp): New functions.
77312
77313 2006-10-04  Jim Meyering  <jim@meyering.net>
77314
77315         * lib/fts.c (fts_open): Tiny comment change.
77316
77317 2006-10-04  Bruno Haible  <bruno@clisp.org>
77318
77319         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
77320         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
77321         gl_LOCK_BODY.
77322         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
77323         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
77324         gl_LOCK_EARLY_BODY.
77325         (gl_LOCK): Require gl_LOCK_BODY.
77326
77327 2006-10-04  Bruno Haible  <bruno@clisp.org>
77328
77329         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
77330         (gl_oset_search_atleast): New declaration.
77331         (struct gl_oset_implementation): Add field 'search_atleast'.
77332         (gl_oset_search_atleast): New inline function.
77333         * lib/gl_oset.c (gl_oset_search_atleast): New function.
77334         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
77335         (gl_array_oset_implementation): Update.
77336         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
77337         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
77338         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
77339
77340 2006-10-04  Bruno Haible  <bruno@clisp.org>
77341
77342         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
77343
77344 2006-10-03  Bruno Haible  <bruno@clisp.org>
77345
77346         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
77347         from gl_avltreehash_list_implementation.
77348
77349 2006-10-03  Bruno Haible  <bruno@clisp.org>
77350
77351         * lib/gl_oset.c (gl_oset_add): Fix return type.
77352
77353 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
77354
77355         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
77356
77357 2006-10-02  Eric Blake  <ebb9@byu.net>
77358
77359         * modules/strnlen (Depends-on): Add extensions.
77360
77361 2006-10-02  Eric Blake  <ebb9@byu.net>
77362
77363         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
77364         definition in 2.60+.
77365
77366 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
77367
77368         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
77369         checks.
77370
77371 2006-10-02  Bruno Haible  <bruno@clisp.org>
77372
77373         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
77374         to the AUTOMAKE_OPTIONS.
77375         Reported by Jim Meyering.
77376
77377 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
77378
77379         Work around bug in Solaris 10 /proc file system:
77380         /proc/self/fd/NNN/.. isn't the parent directory of
77381         the directory whose file descriptor is NNN.  This needs to
77382         be worked around at run time, not compile time, since a
77383         program might be built on Solaris 8, where things work, and
77384         run on Solaris 10.
77385         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
77386         to use the following interface instead:
77387         (OPENAT_BUFFER_SIZE): New macro.
77388         (openat_proc_name): New function.
77389         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
77390         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
77391         Likewise.
77392         * lib/openat-proc.c: New file.
77393         * modules/openat (Files): Add lib/openat-proc.c.
77394         (Depends-on): Add same-inode, stdbool.
77395         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
77396
77397 2006-09-29  Bruno Haible  <bruno@clisp.org>
77398
77399         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
77400         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
77401         argument. Set stdout_closed before testing for ferror, not after.
77402         (fwriteerror, fwriteerror_no_ebadf): New functions.
77403
77404 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77405
77406         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
77407
77408 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
77409
77410         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
77411         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
77412
77413 2006-09-28  Jim Meyering  <jim@meyering.net>
77414
77415         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
77416         Include <unistd.h>.
77417
77418 2006-09-28  Bruno Haible  <bruno@clisp.org>
77419
77420         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
77421         * modules/linkedhash-list (Depends-on): Likewise.
77422         * modules/rbtreehash-list (Depends-on): Likewise.
77423
77424 2006-09-28  Bruno Haible  <bruno@clisp.org>
77425
77426         * lib/strndup.h: Simplify the redefinition of strndup.
77427         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
77428         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
77429
77430 2006-09-28  Bruno Haible  <bruno@clisp.org>
77431
77432         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
77433         * lib/gl_linkedhash_list.c: Likewise.
77434         * lib/gl_rbtreehash_list.c: Likewise.
77435
77436 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
77437
77438         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
77439         getaddrinfo.
77440
77441         * lib/__fpending.h: Don't include <stdio_ext.h> unless
77442         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
77443         it causes <stdio_ext.h> to cause a compile-time error.
77444         Problem reported by Nelson H. F. Beebe.
77445         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
77446         of HAVE_DECL___PENDING.
77447
77448         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
77449         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
77450         declaration.
77451
77452 2006-09-27  Jim Meyering  <jim@meyering.net>
77453
77454         This file could end up with a definition for a function
77455         named __strndup, rather than rpl_strndup on a system with
77456         incomplete weak_alias support.
77457         * lib/strndup.c (strndup): Rename from __strndup.
77458         Remove #defines that used to map __strndup to strndup.
77459         Don't use K&R prototypes.
77460         Remove LIBC-related code, since this file is not sync'd with glibc.
77461         * lib/strndup.h: Revamp, accordingly.
77462         * m4/strndup.m4: Modernize.
77463
77464 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
77465
77466         * modules/savewd (Depends-on): Add 'raise'.
77467         * lib/savewd.c: Include <signal.h>, for 'raise'.
77468
77469 2006-09-26  Jim Meyering  <jim@meyering.net>
77470
77471         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
77472         when we detect Darwin 8.7.0's acl_get_file bug.
77473         Rearrange to perform the new (below) run-test while $LIBS
77474         contains any acl-related library.  Set USE_ACL at the end.
77475         (gl_ACL_GET_FILE): New function.
77476
77477 2006-09-26  Eric Blake  <ebb9@byu.net>
77478
77479         * lib/verror.c: Include <config.h> unconditionally.
77480
77481 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
77482
77483         * modules/clock-time (Maintainer): Add self.
77484         * modules/getlogin_r (Depends-on): Add extensions.
77485
77486 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77487
77488         * modules/clock-time: New module.
77489         * modules/nanosleep (Depends-on): Add clock-time.
77490         * modules/gethrxtime (Depends-on): Likewise.
77491         * modules/gettime (Depends-on): Likewise.
77492         * modules/settime (Depends-on): Likewise.
77493
77494         * modules/fts-lgpl: Depend on openat.
77495         * modules/mkancesdirs: Depend on savewd.
77496         * modules/mkdir-p: Likewise.
77497
77498 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77499
77500         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
77501
77502         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
77503         `gl_have_arbitrary_file_name_length_limit' to
77504         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
77505         actually works between configure runs.
77506
77507 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77508             Bruno Haible  <bruno@clisp.org>
77509
77510         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
77511
77512 2006-09-25  Jim Meyering  <jim@meyering.net>
77513
77514         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
77515         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
77516
77517 2006-09-25  Eric Blake  <ebb9@byu.net>
77518
77519         * gnulib-tool (func_import, func_create_testdir): Fix typos in
77520         exec's in 2006-09-18 patch when shuffling fds.
77521
77522 2006-09-25  Bruno Haible  <bruno@clisp.org>
77523
77524         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
77525         Reported by Jim Meyering.
77526
77527 2006-09-24  Jim Meyering  <jim@meyering.net>
77528
77529         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
77530         compare a pointer against a literal "0".  That caused failures with
77531         at least HP-UX's hpcc.
77532
77533 2006-09-22  Simon Josefsson  <jas@extundo.com>
77534
77535         * modules/gc-sha1:
77536         * modules/gc-md4:
77537         * modules/gc-hmac-sha1:
77538         * modules/gc-hmac-md5:
77539         * modules/gc-des:
77540         * modules/gc-arcfour: Distribute more files.
77541
77542 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77543
77544         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
77545         (gl_linked_iterator_from_to): Initialize struct completely.
77546         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
77547         (gl_tree_iterator_from_to): Likewise
77548         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
77549         * lib/gl_array_list.c [lint] (gl_array_iterator)
77550         (gl_array_iterator_from_to): Likewise.
77551         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
77552         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
77553         (gl_carray_iterator_from_to): Likewise.
77554
77555         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
77556         * lib/md4.c (md4_process_block): Remove unused variable.
77557         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
77558         parentheses for clarity.
77559
77560 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77561
77562         * modules/bison-i18n (Depends-on): Add gettext.
77563
77564 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77565
77566         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
77567         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
77568         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
77569         also add missing comma that caused broken test.
77570         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
77571         stdlib.h, for `abort'.
77572         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
77573         variables.
77574         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
77575         include unistd.h if present, for `rmdir'.
77576         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
77577         variables.
77578         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
77579         in the process include standard headers for prototypes.
77580         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
77581         gets declared on GNU/Linux.
77582         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
77583         unistd.h, for `rmdir'.
77584         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
77585
77586         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
77587         always true.
77588         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
77589
77590         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
77591
77592 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77593
77594         * gnulib-tool (func_version): Create output all at once.  This
77595         may help avoid triggering unnecessary SIGPIPEs, and at any
77596         rate it doesn't hurt.
77597
77598 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77599             Bruno Haible  <bruno@clisp.org>
77600
77601         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
77602         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
77603         * m4/signed.m4 (bh_C_SIGNED): Likewise.
77604
77605         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
77606         (gl_FUNC_VASPRINTF): Invoke it.
77607
77608 2006-09-22  Bruno Haible  <bruno@clisp.org>
77609
77610         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
77611         getloadavg.c as first argument.
77612
77613 2006-09-22  Bruno Haible  <bruno@clisp.org>
77614
77615         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
77616         at the beginning of the gl_INIT macro.
77617         * modules/getloadavg (configure.ac): Pass $gl_source_base to
77618         gl_GETLOADAVG.
77619
77620 2006-09-22  Bruno Haible  <bruno@clisp.org>
77621
77622         * gnulib-tool (func_create_megatestdir): Don't include the config-h
77623         module.
77624         Suggested by Ralf Wildenhues.
77625
77626 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
77627
77628         Import this patch from libc:
77629
77630         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
77631
77632         * lib/regex_internal.c (re_string_reconstruct): Handle
77633         offset < pstr->valid_raw_len && pstr->offsets_needed case.
77634         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
77635         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
77636         re_string_context_at.
77637
77638         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
77639         now requires it.
77640         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
77641         gl_REGEX now does it for us.
77642         (gl_REGEX): Add test taken from
77643         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
77644
77645         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
77646         Check that large offsets work.  Modernize Autoconf usages.
77647         Prefer "yes" to mean a good thing rather than a bad.
77648         Don't put "#define mkstemp" in config.h, as this might interfere
77649         with standard system headers that "#define mkstemp mkstemp64".
77650
77651         * modules/mkstemp (Depends-on): Add extensions, so that
77652         mkstemp is visible on some platforms.
77653         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
77654         (Include): Change to "mkstemp.h" from <stdlib.h>.
77655         (Files): Add mkstemp.h.
77656
77657         * lib/mkstemp.h: New file, since some standard headers
77658         #define mkstemp.
77659         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
77660         Include "mkstemp.h".
77661         Make the _LIBC code resemble glibc original more,
77662         e.g., use K&R style.
77663         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
77664         (mkstemp): Remove, since mkstemp.h does this for us.
77665         * lib/stdlib--.h: Include mkstemp.h.
77666
77667         Import this patch from libc:
77668
77669         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
77670
77671         * lib/tempname.c (__gen_tempname): Change attempts_min
77672         into a macro.  Use preprocessor to decide how to initialize
77673         attempts [Coverity CID 67].
77674
77675 2006-09-20  Bruno Haible  <bruno@clisp.org>
77676
77677         * lib/mkdtemp.c: Import from libc.
77678         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
77679                 * sysdeps/posix/tempname.c (__gen_tempname): Change
77680                 attempts_min into a macro.  Use preprocessor to decide how to
77681                 initialize attempts [Coverity CID 67].
77682         2001-11-27  Paul Eggert  <eggert@twinsun.com>
77683                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
77684                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
77685
77686 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77687
77688         * gnulib-tool (func_exit): New function, to allow to pass the
77689         exit status portably through the trap.  Use everywhere.
77690         (--help, --version): Signal a write error.
77691         (trap): catch SIGPIPE, for write errors.
77692         Exit at the end of the trap, with the correct exit status.
77693
77694 2006-09-19  Karl Berry  <karl@gnu.org>
77695
77696         * doc/gnulib.texi: note about the license texinfo files.
77697
77698 2006-09-19  Eric Blake  <ebb9@byu.net>
77699
77700         * gnulib-tool: Avoid space-tab.
77701
77702 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
77703
77704         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
77705         that prevented coreutils 6.1 from building.  Problem reported
77706         by Petter Reinholdtsen.
77707
77708 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
77709
77710         * gnulib-tool (avoidlist): Fix typo that broke options like
77711         --avoid=lock that are used by coreutils bootstrap.
77712
77713 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
77714
77715         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
77716         more systematically.
77717
77718 2006-09-18  Jim Meyering  <jim@meyering.net>
77719
77720         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
77721
77722 2006-09-18  Bruno Haible  <bruno@clisp.org>
77723
77724         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
77725
77726 2006-09-18  Bruno Haible  <bruno@clisp.org>
77727
77728         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
77729         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
77730         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
77731         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
77732         * m4/gettext.m4: Require autoconf >= 2.52.
77733         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
77734         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
77735         of gl_cv_header_inttypes_h.
77736
77737 2006-09-18  Bruno Haible  <bruno@clisp.org>
77738
77739         * lib/javaversion.c: Include configmake.h.
77740
77741 2006-09-18  Bruno Haible  <bruno@clisp.org>
77742
77743         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
77744         avoid that the while loops be executed in a subshell.
77745
77746 2006-09-18  Bruno Haible  <bruno@clisp.org>
77747
77748         * MODULES.html.sh (func_module): Break long lines.
77749         Suggested by Bruce Korb <bkorb@gnu.org>.
77750
77751 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77752
77753         Speed up by a factor of 1.12.
77754         * gnulib-tool (nl): New variable.
77755         (func_import): Rewrite include directive extraction to only read each
77756         directive once.
77757
77758 2006-09-17  Bruno Haible  <bruno@clisp.org>
77759
77760         * modules/javaversion (Makefile.am): Remove DEFS setting.
77761         (Depends-on): Add configmake, for PKGDATADIR definition.
77762
77763 2006-09-17  Bruno Haible  <bruno@clisp.org>
77764
77765         * gnulib-tool (func_create_testdir): Rewrite all files at once.
77766
77767 2006-09-17  Bruno Haible  <bruno@clisp.org>
77768
77769         * gnulib-tool (func_append): New function, stolen from libtool.m4.
77770         (func_modules_transitive_closure, func_modules_add_dummy,
77771         func_modules_to_filelist, func_import, func_create_testdir,
77772         func_create_megatestdir, ...): Use it wherever possible.
77773         Suggested by Ralf Wildenhues.
77774
77775 2006-09-16  Karl Berry  <karl@gnu.org>
77776
77777         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
77778         to avoid sectioning errors.
77779         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
77780         [ifinfo]: blank line after @center-ed titles.
77781         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
77782         Spell FSF address consistently with others.
77783         (These changes approved by rms.)
77784
77785 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77786
77787         Speed up by a factor of 1.61.
77788         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
77789         already checked module names again.
77790
77791 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77792
77793         Speed up by a factor of 1.13.
77794         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
77795         for new_files, and the input to func_add_or_update.
77796
77797 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77798
77799         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
77800         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
77801
77802 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
77803
77804         * modules/mkancesdirs (Depends-on): Add fcntl.
77805         * modules/savewd: New file.
77806         * MODULES.html.sh (File system functions): Add savewd.
77807
77808         * modules/configmake (Makefile.am): Add support for the
77809         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
77810
77811 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
77812
77813         * m4/savewd.m4: New file.
77814
77815 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
77816
77817         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
77818         (dirchownmod): New arg FD.  All callers changed.
77819         Use FD rather than opening the directory ourself, as opening is
77820         now the caller's responsibility.
77821         * lib/dirchownmod.h: Likewise.
77822         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
77823         hosts that require <sys/types.h> before <sys/stat.h>.  Include
77824         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
77825         (test_dir): Remove.
77826         (mkancesdirs): Return length of prefix of FILE that has already
77827         been made, or -2 if there is a child doing the work.  Redo
77828         algorithm so that it is O(N) rather than O(N**2).  Optimize away
77829         ".", and treat ".." specially since it might stray back into
77830         already-created areas.  Use a subprocess if necessary.  New arg
77831         WD; all users changed.  MAKE_DIR function should now return 1
77832         if it creates a directory that is not readable.  Return -2 if
77833         a child process is spun off.
77834         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
77835         Adjust signature to match code.
77836         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
77837         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
77838         all users changed.
77839         * lib/savewd.c, lib/savewd.h: New files.
77840
77841 2006-09-15  Jim Meyering  <jim@meyering.net>
77842
77843         * modules/rename-dest-slash: New module.
77844         * MODULES.html.sh (posix_compat): Add it here.
77845
77846         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
77847
77848 2006-09-15  Jim Meyering  <jim@meyering.net>
77849
77850         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
77851         file.
77852
77853         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
77854
77855 2006-09-15  Jim Meyering  <jim@meyering.net>
77856
77857         * lib/rename-dest-slash.c (has_trailing_slash): Use
77858         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
77859         (rpl_rename_dest_slash): Perform the cheaper trailing slash
77860         test before testing whether SRC is a directory.
77861         Suggestions from Bruno Haible.
77862
77863         Avoid a warning about an unused variable.
77864         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
77865         into the #ifdef block where it's used.
77866
77867         * lib/rename-dest-slash.c: New file.
77868
77869 2006-09-14  Bruno Haible  <bruno@clisp.org>
77870
77871         * lib/allocsa.c: Include <config.h> unconditionally.
77872         * lib/asnprintf.c: Likewise.
77873         * lib/asprintf.c: Likewise.
77874         * lib/c-strcasecmp.c: Likewise.
77875         * lib/c-strcasestr.c: Likewise.
77876         * lib/c-strncasecmp.c: Likewise.
77877         * lib/c-strstr.c: Likewise.
77878         * lib/classpath.c: Likewise.
77879         * lib/clean-temp.c: Likewise.
77880         * lib/concatpath.c: Likewise.
77881         * lib/copy-file.c: Likewise.
77882         * lib/csharpcomp.c: Likewise.
77883         * lib/csharpexec.c: Likewise.
77884         * lib/execute.c: Likewise.
77885         * lib/fatal-signal.c: Likewise.
77886         * lib/findprog.c: Likewise.
77887         * lib/fwriteerror.c: Likewise.
77888         * lib/gl_array_list.c: Likewise.
77889         * lib/gl_array_oset.c: Likewise.
77890         * lib/gl_avltree_list.c: Likewise.
77891         * lib/gl_avltree_oset.c: Likewise.
77892         * lib/gl_avltreehash_list.c: Likewise.
77893         * lib/gl_carray_list.c: Likewise.
77894         * lib/gl_linked_list.c: Likewise.
77895         * lib/gl_linkedhash_list.c: Likewise.
77896         * lib/gl_list.c: Likewise.
77897         * lib/gl_oset.c: Likewise.
77898         * lib/gl_rbtree_list.c: Likewise.
77899         * lib/gl_rbtree_oset.c: Likewise.
77900         * lib/gl_rbtreehash_list.c: Likewise.
77901         * lib/imaxabs.c: Likewise.
77902         * lib/imaxdiv.c: Likewise.
77903         * lib/javacomp.c: Likewise.
77904         * lib/javaexec.c: Likewise.
77905         * lib/javaversion.c: Likewise.
77906         * lib/linebreak.c: Likewise.
77907         * lib/localcharset.c: Likewise.
77908         * lib/lock.c: Likewise.
77909         * lib/mbchar.c: Likewise.
77910         * lib/mbswidth.c: Likewise.
77911         * lib/mkdtemp.c: Likewise.
77912         * lib/pipe.c: Likewise.
77913         * lib/printf-args.c: Likewise.
77914         * lib/printf-parse.c: Likewise.
77915         * lib/progname.c: Likewise.
77916         * lib/progreloc.c: Likewise.
77917         * lib/readlink.c: Likewise.
77918         * lib/sh-quote.c: Likewise.
77919         * lib/stpcpy.c: Likewise.
77920         * lib/stpncpy.c: Likewise.
77921         * lib/strcasecmp.c: Likewise.
77922         * lib/strcasestr.c: Likewise.
77923         * lib/strcspn.c: Likewise.
77924         * lib/striconv.c: Likewise.
77925         * lib/strncasecmp.c: Likewise.
77926         * lib/strnlen1.c: Likewise.
77927         * lib/strstr.c: Likewise.
77928         * lib/strtok_r.c: Likewise.
77929         * lib/tls.c: Likewise.
77930         * lib/tmpdir.c: Likewise.
77931         * lib/unicodeio.c: Likewise.
77932         * lib/unsetenv.c: Likewise.
77933         * lib/vasnprintf.c: Likewise.
77934         * lib/vasprintf.c: Likewise.
77935         * lib/wait-process.c: Likewise.
77936         * lib/xallocsa.c: Likewise.
77937         * lib/xsetenv.c: Likewise.
77938         * lib/xstriconv.c: Likewise.
77939
77940 2006-09-13  Simon Josefsson  <jas@extundo.com>
77941
77942         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
77943         that internally, suggested by Ralf Wildenhues
77944         <Ralf.Wildenhues@gmx.de>.
77945
77946 2006-09-13  Simon Josefsson  <jas@extundo.com>
77947
77948         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
77949         @LIBOBJS@.
77950         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
77951
77952 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
77953
77954         * lib/_fpending.c: Include <config.h> unconditionally, since we no
77955         longer worry about uses that don't define HAVE_CONFIG_H.
77956         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
77957         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
77958         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
77959         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
77960         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
77961         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
77962         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
77963         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
77964         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
77965         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
77966         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
77967         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
77968         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
77969         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
77970         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
77971         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
77972         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
77973         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
77974         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
77975         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
77976         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
77977         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
77978         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
77979         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
77980         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
77981         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
77982         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
77983         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
77984         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
77985         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
77986         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
77987         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
77988         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
77989         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
77990         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
77991         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
77992         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
77993         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
77994         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
77995         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
77996         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
77997         Likewise.
77998
77999 2006-09-13  Eric Blake  <ebb9@byu.net>
78000
78001         * lib/getopt.c: Fix typo in last commit.
78002
78003 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
78004
78005         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
78006         dgettext.
78007
78008 2006-09-12  Jim Meyering  <jim@meyering.net>
78009
78010         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
78011         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
78012         Reported by Nelson H. F. Beebe.
78013
78014 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
78015
78016         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
78017         program_invocation_name and program_invocation_short_name are
78018         initialized.
78019         * lib/argp-namefrob.h: Move declarations of program_invocation_name
78020         and program_invocation_short_name to argp.h, so they are visible
78021         to user programs.
78022         * lib/argp.h: Likewise
78023
78024 2006-09-10  Bruno Haible  <bruno@clisp.org>
78025
78026         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
78027         m4/inttypes_h.m4, m4/uintmax_t.m4.
78028
78029 2006-09-10  Bruno Haible  <bruno@clisp.org>
78030
78031         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
78032         gl_AC_TYPE_UINTMAX_T.
78033
78034 2006-09-10  Bruno Haible  <bruno@clisp.org>
78035
78036         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
78037
78038 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
78039
78040         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
78041         convention.  Text proposed by Bruno Haible.
78042         (struct argp_option): Document the use of N_() wrappers.
78043
78044         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
78045         '\v', and translate the two parts separately, instead of feeding
78046         the whole string to gettext.  This allows to exclude
78047         '\v' from the strings visible to the translator by writing doc
78048         strings as N_("..") "\v" N_("..").
78049
78050 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
78051
78052         * config/srclist.txt: Undo latest change; the bug was fixed.
78053
78054 2006-09-09  Bruno Haible  <bruno@clisp.org>
78055
78056         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
78057         assignments if building a library without libtool.
78058         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
78059         in func_emit_lib_Makefile_am.
78060         (func_import): When building a static library libfoo.a, arrange to
78061         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
78062         (func_create_testdir): Likewise.
78063         * modules/gc (configure.ac, Makefile.am): If building statically,
78064         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
78065         * modules/iconvme (configure.ac, Makefile.am): Likewise.
78066         * modules/striconv (configure.ac, Makefile.am): Likewise.
78067         Based on a suggestion by Ralf Wildenhues.
78068
78069 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
78070
78071         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
78072         Check for unistd.h too, since Autoconf doesn't assume POSIX.
78073         Also:
78074
78075         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
78076         Add year_2050_test to catch glibc bug 2821
78077         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
78078
78079         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
78080         Prefer #ifdef to #if.
78081
78082         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
78083         Return from 'main' instead of calling 'exit'.
78084
78085 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
78086
78087         * lib/mktime.c (guess_time_tm): Fix bug where mktime
78088         returned the maximum time_t value rather than (time_t) -1.
78089         Problem originally reported by William Bardwell
78090         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
78091
78092         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
78093         Moved to here ...
78094         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
78095         ... from here.
78096
78097 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
78098
78099         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
78100         2821 is fixed.
78101
78102 2006-09-08  Jim Meyering  <jim@meyering.net>
78103
78104         Don't make generated files read-only.  That would bother too many
78105         people.  However, do retain the ability to work when targets are
78106         read-only: remove the destination and temporary files before writing
78107         them (when generated via sed or echo), or by using the -f option for
78108         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
78109         * modules/alloca-opt, modules/argz, modules/arpa_inet:
78110         * modules/byteswap, modules/configmake, modules/fcntl:
78111         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
78112         * modules/localcharset, modules/netinet_in, modules/poll:
78113         * modules/stdbool, modules/stdint, modules/sys_select:
78114         * modules/sys_socket, modules/sys_stat, modules/sysexits:
78115
78116 2006-09-08  Jim Meyering  <jim@meyering.net>
78117
78118         Avoid new build failure on FreeBSD 6.0.
78119         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
78120         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
78121         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
78122
78123 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78124
78125         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
78126
78127 2006-09-07  Jim Meyering  <jim@meyering.net>
78128
78129         Fix global typo in last change: use chmod u-w, not chmod u-x.
78130         Spotted by Paul Eggert and Bruce Korb.
78131         * modules/alloca-opt, modules/argz, modules/arpa_inet:
78132         * modules/byteswap, modules/configmake, modules/fcntl:
78133         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
78134         * modules/localcharset, modules/netinet_in, modules/poll:
78135         * modules/stdbool, modules/stdint, modules/sys_select:
78136         * modules/sys_socket, modules/sys_stat, modules/sysexits:
78137
78138 2006-09-06  Jim Meyering  <jim@meyering.net>
78139
78140         Make generated files be read-only.
78141         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
78142         Ensure that each generated file is now read-only.
78143         * modules/argz: Likewise.
78144         * modules/arpa_inet: Likewise.
78145         * modules/byteswap: Likewise.
78146         * modules/configmake: Likewise.
78147         * modules/fcntl: Likewise.
78148         * modules/fnmatch: Likewise.
78149         * modules/getopt: Likewise.
78150         * modules/glob: Likewise.
78151         * modules/inttypes: Likewise.
78152         * modules/netinet_in: Likewise.
78153         * modules/poll: Likewise.
78154         * modules/stdbool: Likewise.
78155         * modules/stdint: Likewise.
78156         * modules/sys_select: Likewise.
78157         * modules/sys_socket: Likewise.
78158         * modules/sys_stat: Likewise.
78159         * modules/sysexits: Likewise.
78160         * modules/localcharset: Same as above, but continue using temporary
78161         file named "t-$@" (why different?) rather than the "$@-t" used
78162         everywhere else.
78163
78164         * modules/sysexits (Makefile.am): Replace literal occurrences
78165         of "sysexit.h" more readable, and more consistent, "$@".
78166
78167 2006-09-06  Bruno Haible  <bruno@clisp.org>
78168
78169         * modules/striconv: New file.
78170         * modules/xstriconv: New file.
78171         * MODULES.html.sh (Internationalization functions): Add striconv,
78172         xstriconv.
78173
78174 2006-09-06  Bruno Haible  <bruno@clisp.org>
78175
78176         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
78177         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
78178         not using libtool correctly.
78179
78180 2006-09-06  Bruno Haible  <bruno@clisp.org>
78181
78182         * lib/striconv.h: New file.
78183         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
78184         iconvstring.c.
78185         * lib/xstriconv.h: New file.
78186         * lib/xstriconv.c: New file.
78187
78188 2006-09-06  Bruno Haible  <bruno@clisp.org>
78189
78190         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
78191         lib_..._LDFLAGS.
78192
78193 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78194
78195         * lib/argz_.h: Sync from Libtool.
78196
78197         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
78198                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
78199
78200         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
78201
78202 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
78203
78204         * modules/trim: New file.
78205
78206 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
78207
78208         * lib/trim.h: New file.
78209         * lib/trim.c: New file.
78210
78211 2006-09-05  Bruno Haible  <bruno@clisp.org>
78212
78213         * MODULES.html.sh (String handling): Add trim.
78214
78215 2006-09-04  Karl Berry  <karl@gnu.org>
78216
78217         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
78218         until next release.
78219
78220 2006-09-03  Bruno Haible  <bruno@clisp.org>
78221
78222         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
78223         correctly.
78224
78225 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
78226
78227         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
78228         not gl_GETLOADAVG.  Omit unneeded semicolons.
78229         Problems reported by Ralf Wildenhues in
78230         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
78231         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
78232         at the end, which is the usual gnulib style.
78233
78234         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
78235         of doing all the work ourselves.
78236         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
78237         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
78238
78239 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
78240
78241         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
78242         Problem reported by Ralf Wildenhues in
78243         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
78244
78245         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
78246         HAVE_STRUCT_STATFS_F_FSTYPENAME.
78247
78248 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
78249
78250         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
78251         yesterday's patch by changing test -n to test -z.
78252
78253 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
78254
78255         * modules/getloadavg (Files): Add m4/getloadavg.m4.
78256         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
78257         the former is now obsolescent.
78258
78259         * modules/chdir-long (Depends-on): Add fcntl.
78260
78261 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
78262
78263         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
78264         obsolescent, and programs should use gnulib instead.
78265         * m4/getloadavg.m4: New file, with contents taken from Autoconf
78266         but with prefixes changed.
78267
78268 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
78269
78270         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
78271         or stdbool.h, because they might not exist while configuring.
78272
78273         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
78274         Don't include unistd.h or limits.h; not needed, since chdir-long.h
78275         does that for us.
78276         (O_DIRECTORY): Remove.
78277
78278 2006-08-31  Eric Blake  <ebb9@byu.net>
78279
78280         * gnulib-tool: Don't let emacs change spaces to TAB.
78281
78282 2006-08-31  Bruno Haible  <bruno@clisp.org>
78283
78284         * gnulib-tool: When calling func_import more than once, do it in a
78285         subshell.
78286         Reported by Eric Blake <ebb9@byu.net>.
78287
78288 2006-08-31  Bruno Haible  <bruno@clisp.org>
78289
78290         * gnulib-tool (nl): Remove variable.
78291         (sed_transform_lib_file): Use more robust test for config-h module.
78292         (func_import): Fix typo in 2006-08-25 patch.
78293
78294 2006-08-31  Bruno Haible  <bruno@clisp.org>
78295
78296         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
78297         specified, augment Makefile.am variables instead of assigning them.
78298
78299 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
78300
78301         Work around a bug in both the Linux and SunOS 64-bit kernels:
78302         nanosleep mishandles sleeps for longer than 2**31 seconds.
78303         Problem reported by Frank v Waveren in
78304         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
78305         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
78306         Check for nanosleep bug.
78307         (LIB_NANOSLEEP): Append clock_gettime library if needed.
78308
78309 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
78310
78311         Work around a bug in both the Linux and SunOS 64-bit kernels:
78312         nanosleep mishandles sleeps for longer than 2**31 seconds.
78313         Problem reported by Frank v Waveren in
78314         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
78315         * lib/nanosleep.c (BILLION): New constant.
78316         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
78317         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
78318         implementation.
78319
78320 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
78321
78322         * modules/nanosleep (Depends-on): Add gettime.
78323
78324 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
78325         and Simon Josefsson  <jas@extundo.com>
78326         and Oskar Liljeblad  <oskar@osk.mine.nu>
78327
78328         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
78329         * gnulib-tool (func_import): New license type 'unmodifiable license
78330         text'.
78331         * modules/fdl: Use it.  Longer description.
78332         * module/gpl, module/lgpl: New files.
78333
78334 2006-08-30  Jim Meyering  <jim@meyering.net>
78335
78336         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
78337         shadowing the parameter.
78338
78339 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78340
78341         Sync from Libtool:
78342
78343         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78344
78345         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
78346         sharing with gnulib.  Report by Eric Blake.
78347
78348 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
78349
78350         * modules/isapipe: New file.
78351         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
78352
78353 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
78354
78355         * modules/configmake (Makefile.am): Add a comment, and omit
78356         the CONFIGMAKE_ prefix from generated macro names.  Suggested
78357         by Bruno Haible.
78358
78359 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
78360
78361         * m4/isapipe.m4: New file.
78362
78363 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
78364
78365         * lib/isapipe.c, lib/isapipe.h: New files.
78366
78367 2006-08-29  Jim Meyering  <jim@meyering.net>
78368
78369         * modules/configmake (Makefile.am): Make configmake.h depend on
78370         Makefile.  Otherwise, a stale configmake.h could hang around.
78371
78372 2006-08-29  Eric Blake  <ebb9@byu.net>
78373
78374         * lib/error.c (error_at_line, print_errno_message): Match libc, after
78375         resolution of upstream bug 3044.
78376
78377 2006-08-29  Bruno Haible  <bruno@clisp.org>
78378
78379         * modules/localcharset (Depends-on): Add configmake.
78380         (Makefile.am): Remove setting of LIBDIR through DEFS.
78381
78382 2006-08-29  Bruno Haible  <bruno@clisp.org>
78383
78384         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
78385         defined.
78386
78387 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
78388
78389         * modules/fcntl: New file.
78390         * modules/chdir-safer (Depends-on): Add fcntl.
78391         * modules/fts: Likewise.
78392         * modules/mkdir-p: Likewise.
78393
78394         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
78395         This undoes the most recent change, since we're now addressing the
78396         problem in a different way.
78397
78398         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
78399         into output, since the output might be called Makefile.am even
78400         if $makefile_name is something different.
78401         (func_import): Use $makefile_am rather than
78402         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
78403         empty.
78404
78405         * modules/inttypes (Files): Add m4/inttypes-h.m4.
78406
78407 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
78408
78409         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
78410         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
78411         recent change to stdint.m4, since we're now addressing the problem in a
78412         different way.
78413
78414 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
78415
78416         * m4/fcntl_h.m4: New file.
78417
78418 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
78419
78420         * lib/fcntl_.h: New file.
78421         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
78422         the fcntl module.
78423         * lib/dirchownmod.c: Likewise.
78424         * lib/fts.c: Likewise.
78425
78426         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
78427         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
78428         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
78429         just before including <inttypes.h>, to avoid circular inclusion.
78430
78431 2006-08-28  Jim Meyering  <jim@meyering.net>
78432
78433         * doc/visibility.texi: Actually read and correct the grammar of the
78434         sentence affected by yesterday's change.
78435
78436 2006-08-28  Eric Blake  <ebb9@byu.net>
78437
78438         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
78439         needs wrapper.
78440
78441 2006-08-28  Eric Blake  <ebb9@byu.net>
78442
78443         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
78444
78445 2006-08-28  Eric Blake  <ebb9@byu.net>
78446
78447         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
78448
78449 2006-08-28  Bruno Haible  <bruno@clisp.org>
78450
78451         * modules/c-strstr: New file, from GNU gettext.
78452         * MODULES.html.sh (String handling): Add c-strstr.
78453
78454 2006-08-28  Bruno Haible  <bruno@clisp.org>
78455
78456         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
78457         macros.
78458         Reported by Eric Blake.
78459
78460 2006-08-28  Bruno Haible  <bruno@clisp.org>
78461
78462         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
78463         (VASNPRINTF): Return a string of length > INT_MAX without failing.
78464         * lib/vasprintf.c: Include errno.h, limits.h.
78465         (EOVERFLOW): New fallback definition.
78466         (vasprintf): Test here whether the string length is > INT_MAX.
78467         * lib/vsnprintf.c: Include errno.h, limits.h.
78468         (EOVERFLOW): New fallback definition.
78469         (vsnprintf): Fix bug when generated string was too long for the buffer.
78470         Test here whether the string length is > INT_MAX.
78471
78472 2006-08-28  Bruno Haible  <bruno@clisp.org>
78473
78474         * lib/inttypes_.h (SCNX*): Remove definitions.
78475         Reported by Eric Blake.
78476
78477 2006-08-28  Bruno Haible  <bruno@clisp.org>
78478
78479         * lib/c-strstr.h: New file, from GNU gettext.
78480         * lib/c-strstr.c: New file, from GNU gettext.
78481
78482 2006-08-28  Bruno Haible  <bruno@clisp.org>
78483
78484         * gnulib-tool: Reorder some statements.
78485
78486 2006-08-28  Bruno Haible  <bruno@clisp.org>
78487
78488         * gnulib-tool: New option --makefile-name.
78489         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
78490         $makefile_name.
78491         (func_import): Write $makefile_name to the cache file, and read it from
78492         there unless explicitly specified. Use $makefile_name as file name
78493         instead of Makefile.am. Adjust the recommendations accordingly.
78494
78495 2006-08-28  Bruno Haible  <bruno@clisp.org>
78496
78497         * gnulib-tool (func_verify_module): Check against misapplying patch.
78498
78499 2006-08-28  Bruno Haible  <bruno@clisp.org>
78500
78501         * gnulib-tool (func_relativize, func_relconcat): New functions.
78502         Give an error if --local-dir is given with --update.
78503         Remove trailing slashes from $local_gnulib_dir.
78504         (func_import): Store the relativized $local_gnulib_dir in
78505         gnulib-cache.m4, and read it from there if not specified explicitly.
78506
78507 2006-08-28  Bruno Haible  <bruno@clisp.org>
78508
78509         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
78510         is the current directory. Respect also $local_gnulib_dir.
78511
78512 2006-08-28  Bruno Haible  <bruno@clisp.org>
78513             Simon Josefsson  <jas@extundo.com>
78514
78515         BeOS portability.
78516         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
78517
78518 2006-08-27  Jim Meyering  <jim@meyering.net>
78519
78520         * doc/visibility.texi: Remove duplicate word: "pointer".
78521
78522 2006-08-26  Bruno Haible  <bruno@clisp.org>
78523
78524         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
78525         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
78526         (Makefile.am): Create inttypes.h from inttypes_.h.
78527         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
78528
78529         * modules/imaxabs: New file.
78530
78531         * modules/imaxdiv: New file.
78532
78533 2006-08-26  Bruno Haible  <bruno@clisp.org>
78534
78535         * m4/inttypes.m4: New file.
78536         * m4/_inttypes_h.m4: Remove file.
78537         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
78538         PRI_MACROS_BROKEN.
78539         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
78540
78541         * m4/imaxabs.m4: New file.
78542
78543         * m4/imaxdiv.m4: New file.
78544
78545 2006-08-26  Bruno Haible  <bruno@clisp.org>
78546
78547         * lib/inttypes_.h: New file.
78548         * lib/inttypes.h: Remove file.
78549         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
78550
78551         * lib/imaxabs.c: New file.
78552
78553         * lib/imaxdiv.c: New file.
78554
78555 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
78556
78557         New config-h module, so that "make" output needn't be cluttered
78558         by -DHAVE_CONFIG_H.
78559         * MODULES.html.sh (Support for building libraries and executables):
78560         Add config-h.
78561         * modules/config-h: New file.
78562         * gnulib-tool (nl, sed_transform_lib_file): New vars.
78563         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
78564         the config-h module is used.
78565
78566         New configmake module, so that "make" output needn't be cluttered
78567         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
78568         * MODULES.html.sh (Support for building libraries and executables):
78569         Add configmake.
78570         * modules/configmake: New file.
78571
78572 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
78573
78574         * m4/config-h.m4: New file.
78575
78576 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
78577
78578         * config/srclist.txt: Add elisp-comp.
78579
78580 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
78581
78582         * MODULES.html.sh (Support for building libraries and executables):
78583         Add elisp-comp.
78584         * build-aux/elisp-comp: New file.
78585         * modules/elisp-comp: New file.
78586
78587 2006-08-24  Bruno Haible  <bruno@clisp.org>
78588
78589         * gnulib-tool (func_create_testdir): Use non-default values of
78590         sourcebase and m4base.
78591
78592 2006-08-24  Bruno Haible  <bruno@clisp.org>
78593
78594         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
78595         HTML structure.
78596
78597 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
78598
78599         * modules/openat (Depends-on): Add lchown.
78600
78601 2006-08-23  Bruno Haible  <bruno@clisp.org>
78602
78603         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
78604         of gl_LOCK_EARLY instead of gl_LOCK.
78605
78606 2006-08-23  Bruno Haible  <bruno@clisp.org>
78607
78608         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
78609         on OSF/1 to no.
78610         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
78611
78612 2006-08-23  Bruno Haible  <bruno@clisp.org>
78613
78614         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
78615         as unusable.
78616
78617         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
78618         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
78619         (gl_LOCK): New macro.
78620
78621 2006-08-22  Simon Josefsson  <jas@extundo.com>
78622
78623         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
78624         to md5 module.
78625
78626 2006-08-22  Simon Josefsson  <jas@extundo.com>
78627
78628         * MODULES.html.sh: Add "Support for maintaining and release
78629         projects".
78630
78631         * build-aux/gnupload: New file, from coreutils.
78632
78633 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
78634
78635         Avoid the need for AC_LIBSOURCES in m4 macros.
78636         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
78637         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
78638         * modules/check-version (EXTRA_DIST): Add check-version.h.
78639         * modules/crc (EXTRA_DIST): Add crc.h.
78640         * modules/des (EXTRA_DIST): Add des.h.
78641         * modules/gc (EXTRA_DIST): Add gc.h.
78642         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
78643         * modules/getline (EXTRA_DIST): Add getline.h.
78644         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
78645         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
78646         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
78647         * modules/md2 (EXTRA_DIST): Add md2.h.
78648         * modules/md4 (EXTRA_DIST): Add md4.h.
78649         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
78650         * modules/read-file (EXTRA_DIST): Add read-file.h.
78651         * modules/readline (EXTRA_DIST): Add readline.h.
78652         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
78653         rijndael-api-fst.h.
78654
78655 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
78656
78657         * m4/rijndael.m4 (gl_ARCFOUR):
78658         * m4/arctwo.m4 (gl_ARCTWO):
78659         * m4/check-version.m4 (gl_CHECK_VERSION):
78660         * m4/crc.m4 (gl_CRC):
78661         * m4/des.m4 (gl_DES):
78662         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
78663         * m4/gc.m4 (gl_GC):
78664         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
78665         * m4/getline.m4 (gl_FUNC_GETLINE):
78666         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
78667         * m4/hmac-md5.m4 (gl_HMAC_MD5):
78668         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
78669         * m4/md2.m4 (gl_MD2):
78670         * m4/md4.m4 (gl_MD4):
78671         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
78672         * m4/read-file.m4 (gl_FUNC_READ_FILE):
78673         * m4/readline.m4 (gl_FUNC_READLINE):
78674         * m4/rijndael.m4 (gl_RIJNDAEL):
78675         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
78676         to get the necessary .h files and whatnot.
78677
78678 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
78679
78680         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
78681         gnulib rather than the other way around.
78682         * config/srclistvars.sh (COREUTILS): Remove.
78683
78684 2006-08-22  Jim Meyering  <jim@meyering.net>
78685
78686         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
78687
78688         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
78689
78690 2006-08-22  Eric Blake  <ebb9@byu.net>
78691
78692         * modules/regexprops-generic: New file.
78693         * MODULES.html.sh (Support for building documentation): List it.
78694
78695 2006-08-22  Eric Blake  <ebb9@byu.net>
78696
78697         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
78698         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
78699         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
78700         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
78701
78702 2006-08-22  Bruno Haible  <bruno@clisp.org>
78703
78704         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
78705         and lib_LTLIBRARIES like the other lib_* variables.
78706
78707 2006-08-22  Bruno Haible  <bruno@clisp.org>
78708
78709         * build-aux/x-to-1.in: New file, from GNU gettext.
78710
78711 2006-08-22  Bruno Haible  <bruno@clisp.org>
78712
78713         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
78714         <utmpx.h> exists.
78715
78716 2006-08-22  Bruno Haible  <bruno@clisp.org>
78717
78718         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
78719         <utmpx.h> exists.
78720
78721 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
78722
78723         BeOS portability.
78724         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
78725         exist.
78726         Problem reported by Bruno Haible.
78727
78728 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
78729
78730         Avoid the need for AC_LIBSOURCES in m4 macros.
78731         * modules/acl (EXTRA_DIST): Add acl.h.
78732         * modules/argmatch (Files): Add m4/argmatch.m4.
78733         (configure.ac): Add gl_ARGMATCH.
78734         (EXTRA_DIST): Renamed from lib_SOURCES, for
78735         consistency with the other modules.  Remove argmatch.c.
78736         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
78737         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
78738         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
78739         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
78740         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
78741         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
78742         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
78743         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
78744         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
78745         * modules/closeout (EXTRA_DIST): Add closeout.h.
78746         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
78747         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
78748         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
78749         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
78750         dirname.h; remove basename.c and stripslash.c.
78751         * modules/exclude (EXTRA_DIST): Add exclude.h.
78752         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
78753         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
78754         * modules/file-type (EXTRA_DIST): Add file-type.h.
78755         * modules/filemode (EXTRA_DIST): Add filemode.h.
78756         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
78757         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
78758         * modules/fpending (EXTRA_DIST): Add __fpending.h.
78759         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
78760         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
78761         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
78762         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
78763         * modules/getdate (EXTRA_DIST): Add getdate.c.
78764         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
78765         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
78766         * modules/getpass (EXTRA_DIST): Add getpass.h.
78767         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
78768         * modules/group-member (EXTRA_DIST): Add group-member.h.
78769         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
78770         * modules/hash (EXTRA_DIST): Add hash.h.
78771         * modules/human (EXTRA_DIST): Add human.h.
78772         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
78773         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
78774         * modules/lchown (EXTRA_DIST): Add lchown.h.
78775         * modules/long-options (EXTRA_DIST): Add long-options.h.
78776         * modules/lstat (EXTRA_DIST): Add lstat.h.
78777         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
78778         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
78779         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
78780         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
78781         * modules/memxor (EXTRA_DIST): Add memxor.h.
78782         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
78783         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
78784         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
78785         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
78786         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
78787         * modules/physmem (EXTRA_DIST): Add physmem.h.
78788         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
78789         * modules/posixver (EXTRA_DIST): Add posixver.h.
78790         * modules/quote (EXTRA_DIST): Add quote.h.
78791         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
78792         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
78793         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
78794         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
78795         regex_internal.h regexec.c.
78796         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
78797         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
78798         * modules/same (EXTRA_DIST): Add same.h.
78799         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
78800         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
78801         * modules/savedir (EXTRA_DIST): Add savedir.h.
78802         * modules/sha1 (EXTRA_DIST): Add sha1.h.
78803         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
78804         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
78805         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
78806         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
78807         * modules/strdup (EXTRA_DIST): Add strdup.h.
78808         * modules/strftime (EXTRA_DIST): Add strftime.h.
78809         * modules/strndup (EXTRA_DIST): Add strndup.h.
78810         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
78811         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
78812         * modules/time_r (EXTRA_DIST): Add time_r.h.
78813         * modules/timespec (EXTRA_DIST): Add timespec.h.
78814         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
78815         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
78816         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
78817         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
78818         * modules/userspec (EXTRA_DIST): Add userspec.h.
78819         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
78820         * modules/utimens (EXTRA_DIST): Add utimens.h.
78821         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
78822         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
78823         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
78824         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
78825         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
78826         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
78827         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
78828         * modules/yesno (EXTRA_DIST): Add yesno.h.
78829
78830 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
78831
78832         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
78833
78834         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
78835         * m4/dev-ino.m4, same-inode.m4: Remove.
78836
78837         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
78838         * m4/acl.m4 (AC_FUNC_ACL):
78839         * m4/backupfile.m4 (gl_BACKUPFILE):
78840         * m4/c-strtod.m4 (gl_C99_STRTOLD):
78841         * m4/canon-host.m4 (gl_CANON_HOST):
78842         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
78843         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
78844         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
78845         * m4/cloexec.m4 (gl_CLOEXEC):
78846         * m4/close-stream.m4 (gl_CLOSE_STREAM):
78847         * m4/closeout.m4 (gl_CLOSEOUT):
78848         * m4/dirfd.m4 (gl_FUNC_DIRFD):
78849         * m4/dirname.m4 (gl_DIRNAME):
78850         * m4/exclude.m4 (gl_EXCLUDE):
78851         * m4/exitfail.m4 (gl_EXITFAIL):
78852         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
78853         * m4/file-type.m4 (gl_FILE_TYPE):
78854         * m4/filemode.m4 (gl_FILEMODE):
78855         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
78856         * m4/fpending.m4 (gl_FUNC_FPENDING):
78857         * m4/fprintftime.m4 (gl_FPRINTFTIME):
78858         * m4/fts.m4 (gl_FUNC_FTS):
78859         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
78860         * m4/getdate.m4 (gl_GETDATE):
78861         * m4/gethrxtime.m4 (gl_GETHRXTIME):
78862         * m4/getpagesize.m4 (gl_GETPAGESIZE):
78863         * m4/getpass.m4 (gl_FUNC_GETPASS):
78864         * m4/gettime.m4 (gl_GETTIME):
78865         * m4/getugroups.m4 (gl_GETUGROUPS):
78866         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
78867         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
78868         * m4/hard-locale.m4 (gl_HARD_LOCALE):
78869         * m4/hash.m4 (gl_HASH):
78870         * m4/idcache.m4 (gl_IDCACHE):
78871         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
78872         * m4/lchown.m4 (gl_FUNC_LCHOWN):
78873         * m4/long-options.m4 (gl_LONG_OPTIONS):
78874         * m4/lstat.m4 (gl_FUNC_LSTAT):
78875         * m4/md5.m4 (gl_MD5):
78876         * m4/memcasecmp.m4 (gl_MEMCASECMP):
78877         * m4/memcoll.m4 (gl_MEMCOLL):
78878         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
78879         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
78880         * m4/memxor.m4 (gl_MEMXOR):
78881         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
78882         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
78883         * m4/modechange.m4 (gl_MODECHANGE):
78884         * m4/mountlist.m4 (gl_MOUNTLIST):
78885         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
78886         * m4/openat.m4 (gl_FUNC_OPENAT):
78887         * m4/pathmax.m4 (gl_PATHMAX):
78888         * m4/physmem.m4 (gl_PHYSMEM):
78889         * m4/posixtm.m4 (gl_POSIXTM):
78890         * m4/posixver.m4 (gl_POSIXVER):
78891         * m4/quote.m4 (gl_QUOTE):
78892         * m4/quotearg.m4 (gl_QUOTEARG):
78893         * m4/readtokens.m4 (gl_READTOKENS):
78894         * m4/readutmp.m4 (gl_READUTMP):
78895         * m4/regex.m4 (gl_REGEX):
78896         * m4/safe-read.m4 (gl_SAFE_READ):
78897         * m4/safe-write.m4 (gl_SAFE_WRITE):
78898         * m4/same.m4 (gl_SAME):
78899         * m4/save-cwd.m4 (gl_SAVE_CWD):
78900         * m4/savedir.m4 (gl_SAVEDIR):
78901         * m4/settime.m4 (gl_SETTIME):
78902         * m4/sha1.m4 (gl_SHA1):
78903         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
78904         * m4/stat-macros.m4 (gl_STAT_MACROS):
78905         * m4/stat-time.m4 (gl_STAT_TIME):
78906         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
78907         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
78908         * m4/strdup.m4 (gl_FUNC_STRDUP):
78909         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
78910         * m4/strndup.m4 (gl_FUNC_STRNDUP):
78911         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
78912         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
78913         * m4/time_r.m4 (gl_TIME_R):
78914         * m4/timespec.m4 (gl_TIMESPEC):
78915         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
78916         * m4/unlinkdir.m4 (gl_UNLINKDIR):
78917         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
78918         * m4/userspec.m4 (gl_USERSPEC):
78919         * m4/utimecmp.m4 (gl_UTIMECMP):
78920         * m4/utimens.m4 (gl_UTIMENS):
78921         * m4/xalloc.m4 (gl_XALLOC):
78922         * m4/xgetcwd.m4 (gl_XGETCWD):
78923         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
78924         * m4/xreadlink.m4 (gl_XREADLINK):
78925         * m4/xstrtod.m4 (gl_XSTRTOD):
78926         * m4/yesno.m4 (gl_YESNO):
78927         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
78928         to get the necessary .h files and whatnot.
78929
78930 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
78931             Bruno Haible  <bruno@clisp.org>
78932
78933         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
78934         /bin/sh understanding of '!' conditional negation.
78935
78936 2006-08-21  Jim Meyering  <jim@meyering.net>
78937
78938         * modules/openat (Depends-on): Really alphabetize.
78939
78940         * modules/acl (Depends-on): Add error and quote.
78941
78942         * check-module (find_included_lib_files): Add at-func.c to the
78943         ok-to-include-more-than-once white list.
78944
78945         * modules/openat (Depends-on): Add lstat.  Alphabetize.
78946
78947 2006-08-21  Bruno Haible  <bruno@clisp.org>
78948
78949         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
78950         Emit a pkgdata_DATA variable only if some snippets add contents to it.
78951         Reported by Martin Lambers <marlam@marlam.de>.
78952
78953 2006-08-21  Bruno Haible  <bruno@clisp.org>
78954
78955         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
78956         specify an installation location, don't emit a noinst_LIBRARIES or
78957         noinst_LTLIBRARIES assignment.
78958
78959 2006-08-21  Bruno Haible  <bruno@clisp.org>
78960
78961         BeOS portability.
78962         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
78963         BeOS has mbrtowc() but no <wctype.h>.
78964
78965 2006-08-21  Bruno Haible  <bruno@clisp.org>
78966
78967         BeOS portability.
78968         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
78969         exist.
78970
78971 2006-08-21  Bruno Haible  <bruno@clisp.org>
78972
78973         BeOS portability.
78974         * lib/mbchar.h: Include <wctype.h> only if it exists.
78975
78976 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
78977
78978         Remove files that are no longer needed by their respective modules.
78979         * m4/obstack.m4: Remove.
78980         * m4/strerror_r.m4: Remove.
78981         * m4/uint32_t.m4: Remove.
78982         * m4/uintptr_t.m4: Remove.
78983         * m4/ullong_max.m4: Remove.
78984         * m4/xstrtoimax.m4: Remove.
78985         * m4/xstrtoumax.m4: Remove.
78986
78987         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
78988         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
78989         dependencies now capture this.
78990
78991         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
78992         Do not use AC_LIBSOURCES, since gnulib modules now do this.
78993         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
78994         * m4/human.m4 (gl_HUMAN): Likewise.
78995         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
78996         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
78997
78998         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
78999
79000         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
79001         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
79002         stdint.
79003         * m4/human.m4 (gl_HUMAN): Likewise.
79004         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
79005         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
79006         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
79007         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
79008         * m4/xstrtol (gl_XSTRTOL): Likewise.
79009
79010         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
79011         AC_TYPE_LONG_LONG_INT.
79012         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
79013         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
79014         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
79015         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
79016
79017         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
79018         on stdbool.
79019
79020         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
79021         (gl_PREREQ_XSTRTOUL): Remove.
79022
79023         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
79024
79025         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
79026         mode.
79027
79028 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
79029
79030         Add and change modules to make it easier for coreutils to use
79031         gnulib-tool.
79032         * modules/backupfile (Files): Remove m4/d-ino.m4.
79033         (Depends-on): Add d-ino.
79034         * modules/cycle-check (Depends-on): Add stdint.
79035         (lib_SOURCES): Add cycle-check.h.
79036         * modules/d-ino: New module.
79037         * modules/d-type: New module.
79038         * modules/error (Files): Remove m4/strerror_r.m4.
79039         * modules/filemode (Files): Add m4/st_dm_mode.m4.
79040         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
79041         m4/inttypes_h.m4, m4/uintmax_t.m4.
79042         (Depends-on): Add stdint.
79043         (lib_SOURCES): Add fsusage.h.
79044         * modules/getcwd (Files): Remove d-ino.m4.
79045         (Depends-on): Add d-ino.
79046         * modules/getndelim2 (Depends-on): Add stdint.
79047         * modules/glob (Files): Remove m4/d-type.m4.
79048         (Depends-on): Add d-type.
79049         * modules/host-os: New module.
79050         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
79051         m4/inttypes_h.m4, m4/uintmax_t.m4.
79052         * Depends-on: Add stdint.
79053         (lib_SOURCES): Add human.h.
79054         * modules/inttostr (Files): Remove m4/intmax_t.m4,
79055         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
79056         m4/uintmax_t.m4, m4/ulonglong.m4.
79057         (Depends-on): Add stdint.
79058         (EXTRA_DIST): Add inttostr.h.
79059         * modules/lchmod: New module.
79060         * modules/link-follow: New module.
79061         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
79062         (Depends-on): Add lchmod.
79063         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
79064         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
79065         (Depends-on): Add stdint.
79066         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
79067         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
79068         (Depends-on): Add stdint.
79069         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
79070         * modules/perl: New module.
79071         * modules/regex (Depends-on): Add stdint.
79072         * modules/rmdir-errno: New module.
79073         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
79074         m4/intmax_t.m4.
79075         (Depends-on): Add stdint.
79076         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
79077         m4/uintmax_t.m4.
79078         (Depends-on): Add stdint.
79079         * modules/unlink-busy: New module.
79080         * modules/utimecmp (Depends-on): Add stdint.
79081         * modules/uptime: New module.
79082         * modules/winsz-ioctl: New module.
79083         * modules/winsz-termios: New module.
79084         * modules/xnanosleep (Depends-on): Add nanosleep.
79085         * modules/ullong_max: Remove.
79086         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
79087         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
79088         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
79089         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
79090         (Depends-on): Add inttypes.
79091         (lib_SOURCES): Add xstrtol.h.
79092         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
79093         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
79094         * MODULES.html.sh: Move 'assert' into the assert section.
79095         Move 'dummy' into the linking section.
79096         Remove ullong_max.
79097         Add section for compatibility checks for POSIX:2001 functions,
79098         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
79099         winsz-ioctl, and winsz-termios into it.
79100         Add lchmod.
79101         Add top-level Misc section and put host-os, perl, and uptime
79102         into it.
79103
79104 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
79105
79106         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
79107         now assume the stdint module.  Do not include inttypes.h.
79108         * lib/fsusage.h: Likewise.
79109         * lib/getndelim2.c: Likewise.
79110         * lib/human.h: Likewise.
79111         * lib/inttostr.h: Likewise.
79112         * lib/obstack.c: Likewise.
79113         * lib/regex_internal.h: Likewise.
79114         * lib/tempname.c: Likewise.
79115         * lib/utimecmp.c: Likewise.
79116         * lib/xstrtol.h: Likewise.
79117
79118         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
79119
79120         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
79121         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
79122         * lib/xtime.h: Likewise.
79123
79124 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79125
79126         * modules/openat (Files): Add lib/fchmodat.c.
79127         Fixes problem reported by Jay Youngman.
79128
79129 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79130
79131         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
79132         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
79133
79134 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
79135             Bruno Haible  <bruno@clisp.org>
79136
79137         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
79138         and is a script that invokes bison. Tighten the code. Add comments.
79139
79140 2006-08-18  Jim Meyering  <jim@meyering.net>
79141
79142         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
79143         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
79144         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
79145         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
79146
79147 2006-08-18  Bruno Haible  <bruno@clisp.org>
79148
79149         * modules/bison-i18n: New file.
79150         * MODULES.html.sh (Internationalization functions): Add it.
79151
79152 2006-08-18  Bruno Haible  <bruno@clisp.org>
79153
79154         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
79155         sys/statvfs.h. When getmntinfo was found, check its declaration and
79156         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
79157
79158 2006-08-18  Bruno Haible  <bruno@clisp.org>
79159
79160         * m4/bison-i18n.m4: New file, from bison.
79161
79162 2006-08-18  Bruno Haible  <bruno@clisp.org>
79163
79164         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
79165         (ME_DUMMY): Treat "kernfs" as a dummy.
79166         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
79167
79168 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
79169
79170         Update from coreutils.
79171
79172         2006-08-15  Jim Meyering  <jim@meyering.net>
79173
79174         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
79175
79176         2006-01-17  Jim Meyering  <jim@meyering.net>
79177
79178         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
79179
79180         2006-01-11  Jim Meyering  <jim@meyering.net>
79181
79182         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
79183         Check for the lchmod function.
79184
79185 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
79186
79187         Update from coreutils.
79188
79189         * lib/__fpending.h: Add copyright notice.
79190         * lib/fprintftime.h: Likewise.
79191         * lib/savedir.c: Use (C) in copyright notice.
79192         * lib/savedir.h: Likewise.
79193
79194         2006-08-15  Jim Meyering  <jim@meyering.net>
79195
79196         * lib/at-func.c: New file, with the logic of all emulated at-functions.
79197         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
79198         in support of the EXPECTED_ERRNO macro.
79199         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
79200         definitions.  Instead, define the appropriate symbols and include
79201         "at-func.c".
79202         * lib/mkdirat.c (mkdirat): Likewise.
79203         * lib/fchmodat.c (fchmodat): Likewise.
79204         (ENOSYS): Remove definition.
79205         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
79206         it.  Don't include "unistd--.h" -- it wasn't ever used.
79207
79208         2006-01-17  Jim Meyering  <jim@meyering.net>
79209
79210         Rewrite fts.c not to change the current working directory,
79211         by using openat, fstatat, fdopendir, etc..
79212
79213         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
79214         (HAVE_OPENAT_SUPPORT): Define.
79215         [_LIBC] (fchdir): Don't undef or define; no longer used.
79216         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
79217         Now, this `function' always succeeds, and consumes its file descriptor
79218         parameter -- so callers must not close such FDs.  Update callers.
79219         (diropen_fd, opendirat, cwd_advance_fd): New functions.
79220         (diropen): Add parameter, SP.  Adjust all callers.
79221         Implement using diropen_fd, rather than open.
79222         (fts_open): Initialize new member, fts_cwd_fd.
79223         Remove fts_rft-setting code.
79224         (fts_close): Close fts_cwd_fd, if necessary.
79225         (__opendir2): Define in terms of opendir or opendirat,
79226         depending on whether the FST_NOCHDIR flag is set.
79227         (fts_build): Since fts_safe_changedir consumes its FD, and since
79228         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
79229         and close the dup'd file descriptor upon failure.
79230         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
79231         (fts_safe_changedir): Tweak semantics to reflect that this function
79232         now calls cwd_advance_fd and hence consumes its FD argument.
79233         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
79234         [struct FTS] (fts_rft): Remove now-unused member.
79235         [struct FTS] (fts_cycle.state): Improve comment.
79236
79237         * lib/openat.c (openat_needs_fchdir): New function.
79238         * lib/openat.h (openat_needs_fchdir): Declare it.
79239
79240 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
79241
79242         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
79243         Problem and fix reported by Pádraig Brady in
79244         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
79245
79246 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
79247
79248         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
79249
79250 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
79251
79252         * lib/memcoll.c (memcoll): Optimize for the common case where the
79253         arguments are bytewise equal.
79254
79255 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
79256
79257         * doc/regexprops-generic.texi: Add a copyright notice.
79258
79259 2006-08-15  Bruno Haible  <bruno@clisp.org>
79260
79261         * modules/tmpdir (License): Change to LGPL.
79262
79263 2006-08-15  Bruno Haible  <bruno@clisp.org>
79264
79265         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
79266         module.
79267
79268 2006-08-14  Simon Josefsson  <jas@extundo.com>
79269
79270         * config/srclist.txt: Add gnupload.
79271
79272 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
79273
79274         Change copyright notice from LGPL 2 to GPL 2, since that's the
79275         standard form used in the gnulib repository.
79276         * tests/test-lock.c: Likewise.
79277         * tests/test-stdint.c: Likewise.
79278         * tests/test-tls.c: Likewise.
79279
79280         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
79281         prelude-manager.  User shorter URLs for GNU projects, without '?'.
79282         Add copyright notice.
79283
79284         * check-module: Add copyright notice.  Output a copyright
79285         notice if "--version" is specified.
79286         * modules/COPYING: New file.
79287         * tests/test-getaddrinfo.c: Add copyright notice.
79288         * tests/test-verify.c: Likewise.
79289
79290 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
79291
79292         Change copyright notice from LGPL 2 to GPL 2, since that's the
79293         standard form used in the gnulib repository.
79294         * lib/lock.c: LGPL -> GPL.
79295         * lib/lock.h: Likewise.
79296         * lib/strnlen1.c: Likewise.
79297         * lib/strnlen1.h: Likewise.
79298         * lib/tls.c: Likewise.
79299         * lib/tls.h: Likewise.
79300         * lib/tmpdir.c: Likewise.
79301
79302         * lib/TODO: Remove; this belongs only in coreutils.
79303
79304 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
79305
79306         Add copyright notices to long-enough files that lack them, since
79307         otherwise the files aren't clearly free.  Use the same notice that
79308         getdate.texi already uses.
79309         * doc/alloca-opt.texi: Add copyright notice.
79310         * doc/alloca.texi: Likewise.
79311         * doc/ctime.texi: Likewise.
79312         * doc/functions.texi: Likewise.
79313         * doc/gcd.texi: Likewise.
79314         * doc/gnulib-tool.texi: Likewise.
79315         * doc/inet_ntoa.texi: Likewise.
79316         * doc/visibility.texi: Likewise.
79317
79318         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
79319         * doc/quote.texi: Add copyright notice.
79320
79321         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
79322         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
79323         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
79324         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
79325         is now obsolete, and give a pointer to the Sun list.
79326         Add copyright notice.
79327
79328 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
79329
79330         * config/srclistvars.sh: Add copyright notice.
79331
79332 2006-08-14  Eric Blake  <ebb9@byu.net>
79333
79334         Import the following change from libc:
79335
79336         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
79337
79338         Upstream bug 2997.
79339         * lib/misc/error.c: Add space between program name and message if file
79340         name is missing.
79341
79342 2006-08-12  Karl Berry  <karl@gnu.org>
79343
79344         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
79345         remove, these originate in gnulib now.
79346
79347 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79348
79349         * doc/Makefile (standards.info standards.html standards.dvi):
79350         Also depend on make-stds.texi.
79351
79352 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
79353
79354         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
79355         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
79356
79357         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
79358         in wchar_t.  Problem reported by Eric Blake.
79359
79360         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
79361         LEN is smaller than SIZE.  Suggested by Bruno Haible.
79362         Also, help the compiler to keep LEN in a register.
79363
79364 2006-08-11  Eric Blake  <ebb9@byu.net>
79365
79366         * users.txt: Sort.  Add tar.
79367
79368 2006-08-11  Bruno Haible  <bruno@clisp.org>
79369
79370         * users.txt: New file.
79371
79372 2006-08-11  Bruno Haible  <bruno@clisp.org>
79373
79374         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
79375         before <wchar.h>. Needed for OSF/1 and BSD/OS.
79376
79377 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
79378
79379         * modules/snprintf (Depends-on): Remove minmax.
79380         (Maintainer): Add self and Bruno.
79381
79382 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
79383
79384         * lib/.cppi-disable: Add snprintf.h, socket_.h.
79385         * lib/snprintf.c: Include <errno.h> and <limits.h>.
79386         (EOVERFLOW): Define if the system does not.
79387         Do not include "minmax.h"; it wasn't used.
79388         (snprintf): Don't assume size_t promotes to an unsigned type.
79389         Fix bug when generated string was too long for the buffer: the
79390         buffer's contents are supposed to be the initial prefix of the
79391         output.  Don't assume vasnprintf returns EOVERFLOW if the size
79392         exceeds INT_MAX; do the check ourselves.
79393
79394         Import the following changes from libc:
79395
79396         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
79397
79398         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
79399         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
79400         set wc to the byte which couldn't be converted.
79401         (re_string_reconstruct): Don't clear valid_raw_len before calling
79402         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
79403         tip_context using re_string_context_at.
79404
79405         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
79406
79407         * lib/posix/regex.h: g++ still cannot handled [restrict].
79408
79409         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
79410
79411         * lib/posix/regex.h: Remove special handling for VMS.
79412
79413 2006-08-10  Jim Meyering  <jim@meyering.net>
79414
79415         * modules/same-inode: New module.
79416         * modules/dev-ino: New module.
79417         * modules/cycle-check: Depend on these modules, rather than simply
79418         including their .h files.
79419         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
79420         required via m4/cycle-check.m4.
79421         * modules/same: Depend on new same-inode module, rather than
79422         including same-inode.h.
79423         * modules/chdir-safer: New file.
79424
79425         * modules/chown (Depends-on): Add stat-macros.
79426
79427 2006-08-10  Jim Meyering  <jim@meyering.net>
79428
79429         * m4/cycle-check.m4: New file.
79430         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
79431         * m4/dev-ino.m4, m4/same-inode.m4: New files.
79432
79433 2006-08-10  Eric Blake  <ebb9@byu.net>
79434
79435         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
79436         in from original proposal.
79437
79438 2006-08-10  Eric Blake  <ebb9@byu.net>
79439         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
79440
79441         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
79442         namespace.
79443
79444 2006-08-10  Bruno Haible  <bruno@clisp.org>
79445
79446         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
79447         as well.
79448
79449 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
79450
79451         Sync from coreutils.
79452
79453         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
79454
79455         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
79456         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
79457
79458 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
79459
79460         * modules/restrict: Remove; no longer needed now that we assume
79461         Autoconf 2.59 or later.
79462         * MODULES.html.sh: Remove 'restrict'.
79463         * modules/argp (Depends-on): Remove 'restrict'.
79464         * modules/base64 (Depends-on): Likewise.
79465         * modules/gc (Depends-on): Likewise.
79466         * modules/getaddrinfo (Depends-on): Likewise.
79467         * modules/glob (Depends-on): Likewise.
79468         * modules/inet_ntop (Depends-on): Likewise.
79469         * modules/inet_pton (Depends-on): Likewise.
79470         * modules/memxor (Depends-on): Likewise.
79471         * modules/regex (Depends-on): Likewise.
79472         * modules/strtok_r (Depends-on): Likewise.
79473         * modules/time_r (Depends-on): Likewise.
79474
79475 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
79476
79477         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
79478         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
79479         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
79480         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
79481         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
79482         * m4/memxor.m4 (gl_MEMXOR): Likewise.
79483         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
79484         gl_C_RESTRICT replaced by AC_C_RESTRICT.
79485
79486         Merge from coreutils.
79487         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
79488         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
79489         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
79490         * m4/time_r.m4 (gl_TIME_R): Likewise.
79491
79492 2006-08-09  Karl Berry  <karl@gnu.org>
79493
79494         * config/srclist.txt: no more gettext-tools, per Bruno.
79495
79496 2006-08-08  Eric Blake  <ebb9@byu.net>
79497
79498         * modules/verror: New module.
79499         * MODULES.html.sh: Document it.
79500
79501 2006-08-08  Eric Blake  <ebb9@byu.net>
79502
79503         * lib/verror.h, lib/verror.c: New files.
79504
79505 2006-08-08  Eric Blake  <ebb9@byu.net>
79506
79507         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
79508         verror_at_line output complies with GNU Coding Standards even when
79509         file is NULL.
79510
79511 2006-08-07  Bruno Haible  <bruno@clisp.org>
79512
79513         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
79514         versions of AIX.
79515         Reported by Ralf Wildenhues.
79516
79517 2006-08-07  Bruno Haible  <bruno@clisp.org>
79518
79519         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
79520         in an AC_DEFUN. Needed so that the autoconf snippets can use
79521         AC_REQUIRE.
79522
79523 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79524
79525         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
79526         Initialize pkgdata_DATA.
79527         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
79528         overriding it.
79529
79530 2006-08-06  Eric Blake  <ebb9@byu.net>
79531
79532         * lib/error.h: Fold in some upstream changes from glibc.
79533         * lib/error.c: Likewise.
79534
79535 2006-08-04  Bruno Haible  <bruno@clisp.org>
79536
79537         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
79538         Make the mostlyclean-local rule depend on mostlyclean-generic.
79539         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
79540
79541 2006-07-31  Bruno Haible  <bruno@clisp.org>
79542
79543         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
79544         <stdlib.h>, <string.h>.
79545
79546 2006-07-30  Bruno Haible  <bruno@clisp.org>
79547
79548         * modules/readlink (License): Change to LGPL.
79549
79550 2006-07-30  Bruno Haible  <bruno@clisp.org>
79551
79552         * modules/javaversion (Makefile.am): Distribute javaversion.java and
79553         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
79554         set PKGDATADIR to point to it.
79555
79556 2006-07-30  Bruno Haible  <bruno@clisp.org>
79557
79558         * modules/csharpexec (configure.ac): Comment out macro invocation.
79559         * modules/javaexec (configure.ac): Likewise.
79560         * modules/javacomp-script (configure.ac): Likewise.
79561
79562         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
79563
79564 2006-07-30  Bruno Haible  <bruno@clisp.org>
79565
79566         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
79567         linked-list.
79568
79569 2006-07-30  Bruno Haible  <bruno@clisp.org>
79570
79571         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
79572
79573 2006-07-30  Bruno Haible  <bruno@clisp.org>
79574
79575         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
79576         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
79577         get removed.
79578
79579 2006-07-29  Bruno Haible  <bruno@clisp.org>
79580
79581         Make it possible for gnulib-tool to work with locally modified or
79582         augmented gnulib repositories.
79583         * gnulib-tool (func_usage): Document --local-dir option.
79584         (local_gnulib_dir): New variable.
79585         Handle --local-dir option.
79586         (func_lookup_file): New function.
79587         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
79588         (func_get_description, func_get_filelist, func_get_description,
79589         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
79590         func_get_automake_snippet, func_get_include_directive,
79591         func_get_license, func_get_maintainer): Use func_lookup_file.
79592         (func_import, func_create_testdir): Use func_lookup_file.
79593
79594 2006-07-29  Bruno Haible  <bruno@clisp.org>
79595
79596         * modules/setenv (Depends-on): Add unistd.
79597
79598 2006-07-29  Bruno Haible  <bruno@clisp.org>
79599
79600         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
79601
79602 2006-07-29  Bruno Haible  <bruno@clisp.org>
79603
79604         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
79605
79606 2006-07-29  Bruno Haible  <bruno@clisp.org>
79607
79608         * gnulib-tool (import, update): If there is no Makefile.am, look at
79609         aclocal.m4, instead of bailing out.
79610
79611 2006-07-29  Bruno Haible  <bruno@clisp.org>
79612
79613         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
79614         Categorize the options by when they are useful.
79615
79616 2006-07-29  Bruno Haible  <bruno@clisp.org>
79617
79618         * gnulib-tool (func_usage): Document option --no-libtool.
79619         Handle option --no-libtool.
79620         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
79621         for changed semantics of $libtool variable.
79622         (func_import): Likewise. If libtool is not used, show this through
79623         an option --no-libtool.
79624         (func_create_testdir): Update.
79625
79626 2006-07-29  Bruno Haible  <bruno@clisp.org>
79627
79628         * gnulib-tool (func_import): Extend error message about missing
79629         --doc-base.
79630
79631 2006-07-29  Bruno Haible  <bruno@clisp.org>
79632
79633         * gnulib-tool (func_import): Don't create the $docbase directory if
79634         there is no file to store there.
79635
79636 2006-07-29  Bruno Haible  <bruno@clisp.org>
79637
79638         * gnulib-tool (autoconf_minversion): If a --dir option is given and
79639         relevant, look for configure.ac there, not in the current directory.
79640         Also use a simple search for AC_PREREQ, not "autoconf --trace".
79641
79642 2006-07-29  Bruno Haible  <bruno@clisp.org>
79643
79644         * gnulib-tool (SORT): New variable.
79645         (func_usage): Undocument --assume-autoconf option.
79646         Remove --assume-autoconf option handling.
79647         (autoconf_minversion): Determine from the contents of configure.ac.
79648         (func_import): Remove autoconf_minversion handling.
79649         Suggested by Eric Blake.
79650
79651 2006-07-29  Bruno Haible  <bruno@clisp.org>
79652
79653         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
79654
79655 2006-07-29  Bruno Haible  <bruno@clisp.org>
79656
79657         * config/srclist.txt (*setenv.[ch]): Remove rules.
79658
79659 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
79660
79661         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
79662
79663 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
79664
79665         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
79666         arpa/inet.h.
79667
79668 2006-07-28  Simon Josefsson  <jas@extundo.com>
79669
79670         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
79671         * modules/inet_pton (Depends-on): Likewise.
79672
79673 2006-07-28  Simon Josefsson  <jas@extundo.com>
79674
79675         * m4/netinet_in_h.m4: New file.
79676
79677 2006-07-28  Simon Josefsson  <jas@extundo.com>
79678
79679         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
79680         #include's.
79681
79682 2006-07-28  Simon Josefsson  <jas@extundo.com>
79683
79684         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
79685         #include's.
79686
79687 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
79688
79689         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
79690         setgid on directories only if they set these bits.
79691         * lib/modechange.h: Remove obsolete comment about masks.
79692
79693 2006-07-28  Eric Blake  <ebb9@byu.net>
79694
79695         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
79696         macro expansion.
79697
79698 2006-07-28  Bruno Haible  <bruno@clisp.org>
79699
79700         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
79701
79702 2006-07-28  Bruno Haible  <bruno@clisp.org>
79703
79704         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
79705
79706 2006-07-28  Bruno Haible  <bruno@clisp.org>
79707
79708         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
79709         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
79710         Define fallbacks.
79711         Avoids link error on FreeBSD 4.x.
79712         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
79713
79714         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
79715         encoding.
79716         * lib/mbswidth.c (iswcntrl): Likewise.
79717
79718 2006-07-27  Bruno Haible  <bruno@clisp.org>
79719
79720         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
79721         test.
79722
79723 2006-07-27  Bruno Haible  <bruno@clisp.org>
79724
79725         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
79726         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
79727         defined.
79728
79729 2006-07-26  Eric Blake  <ebb9@byu.net>
79730
79731         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
79732
79733 2006-07-26  Eric Blake  <ebb9@byu.net>
79734
79735         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
79736         like mingw that lack mkstemp.
79737         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
79738         avoid compilation warning on mingw.
79739
79740 2006-07-26  Bruno Haible  <bruno@clisp.org>
79741
79742         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
79743         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
79744         INT_FAST*_MIN, INTPTR_MIN.
79745
79746 2006-07-25  Bruno Haible  <bruno@clisp.org>
79747
79748         * modules/version-etc (Depends-on): Add stdarg.
79749
79750 2006-07-25  Bruno Haible  <bruno@clisp.org>
79751
79752         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
79753         complex commands.
79754
79755 2006-07-25  Bruno Haible  <bruno@clisp.org>
79756
79757         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
79758         defined in <stdarg.h> or config.h.
79759
79760 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
79761
79762         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
79763         (gl_STDIO_SAFER): Remove.
79764
79765 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
79766
79767         * MODULES.html.sh (File stream based Input/Output):
79768         Add fopen-safer, tmpfile-safer; remove stdio-safer.
79769         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
79770         * modules/fopen-safer, modules/tmpfile-safer: New files.
79771         * modules/stdio-safer: Remove.
79772
79773 2006-07-24  Bruno Haible  <bruno@clisp.org>
79774
79775         * modules/tmpdir: New file.
79776         * MODULES.html.sh (File system functions): Add it.
79777
79778 2006-07-24  Bruno Haible  <bruno@clisp.org>
79779
79780         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
79781         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
79782
79783 2006-07-24  Bruno Haible  <bruno@clisp.org>
79784
79785         * modules/clean-temp: New file.
79786
79787 2006-07-24  Bruno Haible  <bruno@clisp.org>
79788
79789         * m4/tmpdir.m4: New file, from GNU gettext.
79790
79791 2006-07-24  Bruno Haible  <bruno@clisp.org>
79792
79793         * lib/tmpdir.h: New file, from GNU gettext.
79794         * lib/tmpdir.c: New file, from GNU gettext.
79795
79796 2006-07-24  Bruno Haible  <bruno@clisp.org>
79797
79798         * lib/clean-temp.h: New file, from GNU gettext.
79799         * lib/clean-temp.c: New file, from GNU gettext.
79800
79801 2006-07-23  Eric Blake  <ebb9@byu.net>
79802
79803         * modules/stdio-safer (Files): Add tmpfile-safer.c.
79804         (Depends-on): Add binary-io.
79805
79806 2006-07-23  Eric Blake  <ebb9@byu.net>
79807
79808         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
79809
79810 2006-07-23  Eric Blake  <ebb9@byu.net>
79811
79812         * lib/tmpfile-safer.c: New file.
79813         * lib/stdio-safer.h (fopen_safer): Add prototype.
79814         * lib/stdio--.h (tmpfile): Make safer.
79815
79816 2006-07-23  Bruno Haible  <bruno@clisp.org>
79817
79818         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
79819         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
79820         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
79821         gl_linked_remove_at): Use it.
79822
79823 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
79824         and Simon Josefsson <jas@extundo.com>
79825
79826         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
79827
79828         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
79829
79830 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
79831
79832         * modules/close-stream: New file.
79833         * modules/closeout (Description): Make it clear that it exits
79834         with a diagnostic on error.
79835         (Depends-on): Add close-stream.  Remove fpending, stdbool.
79836         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
79837
79838 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
79839
79840         * m4/close-stream.m4: New file.
79841
79842 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
79843
79844         * lib/close-stream.c, lib/close-stream.h: New files.
79845
79846 2006-07-22  Bruno Haible  <bruno@clisp.org>
79847
79848         Merge from GNU gettext 0.15.
79849
79850         2006-05-01  Bruno Haible  <bruno@clisp.org>
79851
79852                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
79853
79854         2006-07-22  Bruno Haible  <bruno@clisp.org>
79855
79856                 * modules/javaversion: New file.
79857                 * MODULES.html.sh (Java): Add javaversion.
79858
79859         2006-03-12  Bruno Haible  <bruno@clisp.org>
79860
79861                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
79862
79863         2005-12-04  Bruno Haible  <bruno@clisp.org>
79864
79865                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
79866                 (untested).
79867
79868         2006-06-21  Bruno Haible  <bruno@clisp.org>
79869
79870                 Avoid warnings from recent versions of mcs.
79871                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
79872                 -o, -L, -r any more. Use options documented since mcs-1.0
79873                 instead. Similarly for -g.
79874
79875         2005-12-04  Bruno Haible  <bruno@clisp.org>
79876
79877                 * build-aux/csharpcomp.sh.in: Suffix for resources is
79878                 .resources, not .resource.
79879
79880         2005-07-09  Bruno Haible  <bruno@clisp.org>
79881
79882                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
79883                 add a .dll suffix.
79884                 Reported by Mark Junker <mjscod@gmx.de>.
79885
79886         2006-07-22  Bruno Haible  <bruno@clisp.org>
79887
79888                 * modules/gettext: Upgrade to gettext-0.15.
79889                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
79890                 m4/visibility.m4.
79891                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
79892
79893 2006-07-22  Bruno Haible  <bruno@clisp.org>
79894
79895         Merge from GNU gettext 0.15.
79896
79897         2006-03-25  Bruno Haible  <bruno@clisp.org>
79898
79899                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
79900
79901         2006-07-21  Bruno Haible  <bruno@clisp.org>
79902
79903                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
79904                 "1.1".
79905
79906         2006-05-09  Bruno Haible  <bruno@clisp.org>
79907
79908                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
79909                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
79910                 for the conftestver execution.
79911
79912         2006-05-01  Bruno Haible  <bruno@clisp.org>
79913
79914                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
79915                 optional target-version argument. Verify that the compiler
79916                 groks source of the specified source-version, or add -source
79917                 option as necessary. Verify that the compiler produces
79918                 bytecode in the specified target-version, or add -target and
79919                 -source options as necessary. Make the result of the test
79920                 available as variable CONF_JAVAC. Also log error output in
79921                 config.log.
79922
79923         2006-03-11  Bruno Haible  <bruno@clisp.org>
79924
79925                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
79926
79927         2006-05-09  Bruno Haible  <bruno@clisp.org>
79928
79929                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
79930                 CLASSPATH_SEPARATOR to a semicolon.
79931
79932         2006-03-12  Bruno Haible  <bruno@clisp.org>
79933
79934                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
79935                 available as variable CONF_JAVA, for subsequent autoconf
79936                 tests. Also log error output in config.log.
79937
79938         2006-07-19  Bruno Haible  <bruno@clisp.org>
79939
79940                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
79941                 that getline works on glibc2 systems. Needed to avoid trouble
79942                 in relocatable.c.
79943                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
79944
79945         2005-12-04  Bruno Haible  <bruno@clisp.org>
79946
79947                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
79948                 launcher (untested).
79949
79950         2005-12-04  Bruno Haible  <bruno@clisp.org>
79951
79952                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
79953
79954         2006-07-22  Bruno Haible  <bruno@clisp.org>
79955
79956                 * gettext.m4: Update from GNU gettext-0.15.
79957                 * nls.m4: Likewise.
79958                 * po.m4: Likewise.
79959                 * inttypes-pri.m4: Likewise.
79960                 * inttypes-h.m4: Renamed from inttypes.m4.
79961                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
79962
79963 2006-07-22  Bruno Haible  <bruno@clisp.org>
79964
79965         Merge from GNU gettext 0.15.
79966
79967         2005-07-05  Bruno Haible  <bruno@clisp.org>
79968
79969                 * printf-args.c (printf_fetchargs): Work around broken
79970                 definition of wint_t on mingw.
79971
79972         2005-02-12  Bruno Haible  <bruno@clisp.org>
79973
79974                 * xallocsa.h: Add extern "C" for C++.
79975
79976         2006-05-17  Bruno Haible  <bruno@clisp.org>
79977
79978                 Cygwin portability.
79979                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
79980
79981         2006-04-30  Bruno Haible  <bruno@clisp.org>
79982
79983                 * progreloc.c: Include <mach-o/dyld.h> if available.
79984                 (find_executable): Use _NSGetExecutablePath when possible.
79985
79986         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
79987
79988                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
79989                 function.
79990
79991         2005-12-29  Bruno Haible  <bruno@clisp.org>
79992
79993                 * progreloc.c (set_program_name_and_installdir): Fix
79994                 compilation error.
79995
79996         2005-12-04  Bruno Haible  <bruno@clisp.org>
79997
79998                 Cygwin portability.
79999                 * progreloc.c: Include <windows.h> also on Cygwin.
80000                 (find_executable): Add support for Cygwin.
80001                 (set_program_name_and_installdir): Handle also platforms with
80002                 nonempty EXEEXT.
80003
80004         2006-07-11  Bruno Haible  <bruno@clisp.org>
80005
80006                 * javacomp.c: Fix a comment.
80007                 Reported by Jim Meyering.
80008
80009         2006-04-30  Bruno Haible  <bruno@clisp.org>
80010
80011                 * javacomp.h (compile_java_class): Add source_version,
80012                 target_version arguments.
80013                 * javacomp.c: Rewritten to choose only a compiler that
80014                 respects the specified source_version and target_version.
80015
80016         2006-06-27  Bruno Haible  <bruno@clisp.org>
80017
80018                 Assume correct S_ISDIR macro.
80019                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
80020
80021         2006-07-22  Bruno Haible  <bruno@clisp.org>
80022
80023                 * javaversion.h: New file, from GNU gettext.
80024                 * javaversion.c: New file, from GNU gettext.
80025                 * javaversion.java: New file, from GNU gettext.
80026                 * javaversion.class: New file, from GNU gettext.
80027
80028         2006-05-17  Bruno Haible  <bruno@clisp.org>
80029
80030                 Cygwin portability.
80031                 * javaexec.c (execute_java_class): Test for jview program
80032                 also on Cygwin.
80033
80034         2006-04-09  Bruno Haible  <bruno@clisp.org>
80035
80036                 * fatal-signal.c: Don't include string.h.
80037                 (at_fatal_signal): Use a copying loop instead of memcpy.
80038
80039         2005-12-04  Bruno Haible  <bruno@clisp.org>
80040
80041                 * csharpexec.c: Add support for 'clix' launcher (untested).
80042                 (execute_csharp_using_sscli): New function.
80043                 (execute_csharp_program): Call it.
80044
80045         2006-06-21  Bruno Haible  <bruno@clisp.org>
80046
80047                 Avoid warnings from recent versions of mcs.
80048                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
80049                 -o, -L, -r any more. Use options documented since mcs-1.0
80050                 instead. Similarly for -g.
80051
80052         2005-07-09  Bruno Haible  <bruno@clisp.org>
80053
80054                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
80055                 add a .dll suffix.
80056                 Reported by Mark Junker <mjscod@gmx.de>.
80057
80058         2006-06-17  Bruno Haible  <bruno@clisp.org>
80059
80060                 * config.charset: Update for NetBSD 3.0.
80061
80062         2006-05-17  Bruno Haible  <bruno@clisp.org>
80063
80064                 Cygwin portability.
80065                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
80066
80067         2006-05-16  Bruno Haible  <bruno@clisp.org>
80068
80069                 * localcharset.c [CYGWIN]: Include <windows.h>.
80070                 (get_charset_aliases): For Cygwin, return the same CPxxx
80071                 aliases list as under WIN32.
80072                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
80073                 the environment variables. Fall back to GetACP().
80074
80075         2006-04-05  Bruno Haible  <bruno@clisp.org>
80076
80077                 * config.charset: Update Juan Manuel Guerrero's address.
80078
80079         2005-02-12  Bruno Haible  <bruno@clisp.org>
80080
80081                 * allocsa.h: Add extern "C" for C++.
80082
80083         2005-02-10  Bruno Haible  <bruno@clisp.org>
80084
80085                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
80086                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
80087
80088         2006-07-22  Bruno Haible  <bruno@clisp.org>
80089
80090                 * gettext.h: Update to GNU gettext-0.15.
80091
80092 2006-07-22  Bruno Haible  <bruno@clisp.org>
80093
80094         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
80095         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
80096         lib-prefix.m4, longdouble.m4, ssize_t.m4.
80097
80098 2006-07-21  Eric Blake  <ebb9@byu.net>
80099
80100         * modules/stdlib-safer: New file.
80101         * MODULES.html.sh (File stream based Input/Output): Add
80102         stdlib-safer.
80103
80104 2006-07-21  Eric Blake  <ebb9@byu.net>
80105
80106         * lib/stdlib-safer.h: New file from coreutils, required by
80107         stdlib--.h.
80108
80109 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
80110
80111         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
80112
80113 2006-07-20  Bruno Haible  <bruno@clisp.org>
80114
80115         * gnulib-tool: Recognize new option --assume-autoconf.
80116         (autoconf_minversion): New variable.
80117         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
80118
80119 2006-07-20  Bruno Haible  <bruno@clisp.org>
80120
80121         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
80122
80123 2006-07-19  Derek R. Price  <derek@ximbiot.com>
80124
80125         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
80126         Reindent and repaginate.
80127
80128 2006-07-19  Derek Price  <derek@ximbiot.com>
80129
80130         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
80131         Correct grammar.
80132
80133 2006-07-17  Bruno Haible  <bruno@clisp.org>
80134
80135         * modules/list: New file.
80136         * modules/array-list: New file.
80137         * modules/carray-list, modules/carray-list-tests: New files.
80138         * modules/linked-list, modules/linked-list-tests: New files.
80139         * modules/avltree-list, modules/avltree-list-tests: New files.
80140         * modules/rbtree-list, modules/rbtree-list-tests: New files.
80141         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
80142         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
80143         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
80144         * modules/oset: New file.
80145         * modules/array-oset: New file.
80146         * modules/avltree-oset, modules/avltree-oset-tests: New files.
80147         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
80148         * tests/test-carray_list.c: New file.
80149         * tests/test-linked_list.c: New file.
80150         * tests/test-avltree_list.c: New file.
80151         * tests/test-rbtree_list.c: New file.
80152         * tests/test-linkedhash_list.c: New file.
80153         * tests/test-avltreehash_list.c: New file.
80154         * tests/test-rbtreehash_list.c: New file.
80155         * tests/test-avltree_oset.c: New file.
80156         * tests/test-rbtree_oset.c: New file.
80157         * MODULES.html.sh (Container data structures): New section.
80158
80159 2006-07-17  Bruno Haible  <bruno@clisp.org>
80160
80161         * m4/gl_list.m4: New file.
80162
80163 2006-07-17  Bruno Haible  <bruno@clisp.org>
80164
80165         * lib/gl_list.h: New file.
80166         * lib/gl_list.c: New file.
80167         * lib/gl_array_list.h: New file.
80168         * lib/gl_array_list.c: New file.
80169         * lib/gl_carray_list.h: New file.
80170         * lib/gl_carray_list.c: New file.
80171         * lib/gl_linked_list.h: New file.
80172         * lib/gl_linked_list.c: New file.
80173         * lib/gl_anylinked_list1.h: New file.
80174         * lib/gl_anylinked_list2.h: New file.
80175         * lib/gl_avltree_list.h: New file.
80176         * lib/gl_avltree_list.c: New file.
80177         * lib/gl_anyavltree_list1.h: New file.
80178         * lib/gl_anyavltree_list2.h: New file.
80179         * lib/gl_rbtree_list.h: New file.
80180         * lib/gl_rbtree_list.c: New file.
80181         * lib/gl_anyrbtree_list1.h: New file.
80182         * lib/gl_anyrbtree_list2.h: New file.
80183         * lib/gl_anytree_list1.h: New file.
80184         * lib/gl_anytree_list2.h: New file.
80185         * lib/gl_linkedhash_list.h: New file.
80186         * lib/gl_linkedhash_list.c: New file.
80187         * lib/gl_anyhash_list1.h: New file.
80188         * lib/gl_anyhash_list2.h: New file.
80189         * lib/gl_avltreehash_list.h: New file.
80190         * lib/gl_avltreehash_list.c: New file.
80191         * lib/gl_rbtreehash_list.h: New file.
80192         * lib/gl_rbtreehash_list.c: New file.
80193         * lib/gl_anytreehash_list1.h: New file.
80194         * lib/gl_anytreehash_list2.h: New file.
80195
80196         * lib/gl_oset.h: New file.
80197         * lib/gl_oset.c: New file.
80198         * lib/gl_array_oset.h: New file.
80199         * lib/gl_array_oset.c: New file.
80200         * lib/gl_avltree_oset.h: New file.
80201         * lib/gl_avltree_oset.c: New file.
80202         * lib/gl_rbtree_oset.h: New file.
80203         * lib/gl_rbtree_oset.c: New file.
80204         * lib/gl_anytree_oset.h: New file.
80205
80206 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
80207
80208         * m4/mkancesdirs.m4: New file.
80209         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
80210         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
80211         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
80212         it.
80213
80214 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
80215
80216         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
80217         * lib/mkancesdirs.h: New files.
80218         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
80219         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
80220         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
80221         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
80222         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
80223         callers changed.  Revamp internals significantly, by not
80224         attempting to create directories that are temporarily more
80225         permissive than the final results.  Do not attempt to use
80226         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
80227         This removes some race conditions, fixes some bugs, and simplifies
80228         things.  Use new dirchownmod function to do owner and mode changes.
80229         * lib/mkdir-p.h: Likewise.
80230         * lib/modechange.c (octal_to_mode): New function.
80231         (struct mode_change): New member mentioned.
80232         (make_node_op_equals): New arg mentioned.  All callers changed.
80233         (mode_compile): Keep track of which mode bits the user has explicitly
80234         mentioned.
80235         (mode_adjust): New arg DIR, so that we implement the X op correctly.
80236         New arg PMODE_BITS, to keep track of which mode bits the user
80237         mentioned; it treats S_ISUID and S_ISGID speciall.
80238         All callers changed.
80239         * lib/modechange.h: Likewise.
80240
80241 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
80242
80243         * MODULES.html.sh: Add mkancestors.
80244         * modules/mkancesdirs: New module.
80245         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
80246         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
80247         The chdir-safer and afs files are now orphans; I'll remove them
80248         unless someone speaks up.
80249         Add lib/dirchownmod.c, lib/dirchownmod.h.
80250         (Depends-on): Remove alloca, chown, save-cwd, dirname.
80251         Add lchown, mkancesdirs.
80252         (Maintainer): Add self.
80253
80254 2006-07-15  Karl Berry  <karl@gnu.org>
80255
80256         * gnulib-tool: help message wording/arrangement.
80257
80258 2006-07-14  Simon Josefsson  <jas@extundo.com>
80259
80260         * doc/gnulib.texi (Libtool and Windows): New section.
80261
80262 2006-07-12  Simon Josefsson  <jas@extundo.com>
80263
80264         * modules/gendocs (License): Fix license, approved by Karl.
80265
80266 2006-07-12  Eric Blake  <ebb9@byu.net>
80267
80268         * MODULES.html.sh: Add gendocs.
80269
80270 2006-07-11  Eric Blake  <ebb9@byu.net>
80271
80272         * modules/fdl: New module, to install doc/fdl.texi.
80273         * MODULES.html.sh: Add new section for documentation modules.
80274         * gnulib-tool: Avoid space-tab.
80275         (--doc-base): New option, to manage files from doc.
80276
80277 2006-07-11  Eric Blake  <ebb9@byu.net>
80278
80279         * m4/absolute-header.m4: Fix comments to match recent change.
80280
80281 2006-07-11  Eric Blake  <ebb9@byu.net>
80282
80283         * gnulib-tool: List --doc-base before --tests-base.
80284
80285 2006-07-11  Derek R. Price  <derek@ximbiot.com>
80286
80287         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
80288
80289 2006-07-11  Bruno Haible  <bruno@clisp.org>
80290
80291         * README: Mention where to put documentation.
80292
80293 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80294
80295         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
80296
80297 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
80298
80299         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
80300         to stdint.m4.
80301
80302 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
80303
80304         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
80305         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
80306         "no/such/file/stdint.h" when there is no such file, so that
80307         the resulting C code can be parsed by dodgy compilers.
80308         Problems reported by Bob Proulx.
80309
80310 2006-07-10  Derek R. Price  <derek@ximbiot.com>
80311
80312         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
80313         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
80314         macros into the GNU _D_EXACT_NAMLEN.
80315         * lib/savedir.c:  Likewise.
80316         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
80317
80318 2006-07-10  Derek R. Price  <derek@ximbiot.com>
80319         and Paul Eggert  <eggert@cs.ucla.edu>
80320
80321         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
80322         * m4/savedir.m4:
80323         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
80324         macros into the GNU _D_EXACT_NAMLEN.
80325
80326 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
80327
80328         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
80329         around the absolute name, to work around a problem with the HP-UX
80330         11.23 native C compiler, reported by Bob Proulx.
80331
80332 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
80333
80334         * doc/maintain.texi, make-stds.texi: Sync from
80335         <http://savannah.gnu.org/projects/gnustandards>.
80336
80337 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
80338
80339         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
80340
80341 2006-07-09  Jim Meyering  <jim@meyering.net>
80342
80343         * m4/glob.m4: Remove a doubled word in a comment.
80344
80345 2006-07-09  Jim Meyering  <jim@meyering.net>
80346
80347         * lib/argp-pv.c: Remove a doubled word in a comment.
80348         * lib/check-version.c (check_version): Likewise.
80349         * lib/javacomp.c (compile_java_class): Likewise.
80350
80351 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
80352
80353         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
80354         for the benefit of people using Autoconf 2.60.  If you want to
80355         support older Autoconf versions you can copy m4/onceonly_2_57.m4
80356         (or m4/onceonly.m4, if pre-2.57) manually.
80357
80358 2006-07-08  Jim Meyering  <jim@meyering.net>
80359
80360         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
80361         comment.
80362         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
80363         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
80364         comment.
80365
80366 2006-07-08  Jim Meyering  <jim@meyering.net>
80367
80368         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
80369
80370 2006-07-07  Simon Josefsson  <jas@extundo.com>
80371
80372         * tests/test-crc.c: Change expected crc value, the test vector
80373         were probably computed using the old broken crc.c?
80374
80375 2006-07-06  Simon Josefsson  <jas@extundo.com>
80376
80377         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
80378         now the canonical place for the M4 file).
80379
80380         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
80381         from the sys_socket dependency now.
80382
80383         * modules/inet_pton (Files): Ditto.
80384
80385         * modules/inet_ntop (Files): Ditto.
80386
80387 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
80388
80389         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
80390         not gl_PREREQ_GETUSERSHELL.
80391
80392 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80393
80394         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
80395         with only one argument, for Autoconf 2.60.
80396         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
80397         expand to nothing, so add a shell command to avoid syntax error.
80398         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
80399
80400 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80401
80402         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
80403
80404 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
80405
80406         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
80407         no longer needed.  Check for isblank decl.
80408         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
80409         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
80410         of existence.
80411
80412 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
80413
80414         * lib/getloadavg.c: Use __VMS, not VMS.
80415         * lib/getopt.c: Likewise.
80416         * lib/getpagesize.h: Likewise.
80417         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
80418         and probably does not work.
80419
80420 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
80421
80422         * lib/.cppi-disable: Add wcwidth.
80423         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
80424         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
80425         (ISGRAPH): Remove.  All uses changed to isgraph.
80426         (FOLD) [!defined _LIBC]: Remove special case.
80427         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
80428         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
80429         HAVE_ISBLANK.
80430         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
80431         case.
80432
80433 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
80434
80435         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
80436         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
80437         brackets.  Other minor changes to suppress some compiler
80438         warnings.
80439
80440 2006-07-06  Derek R. Price  <derek@ximbiot.com>
80441         and Paul Eggert  <eggert@cs.ucla.edu>
80442
80443         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
80444         of invoking obsolescent AC_HEADER_DIRENT macro.
80445         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
80446         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
80447         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
80448         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
80449         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
80450         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
80451         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
80452         * m4/readdir.m4: Remove; no longer needed.
80453
80454 2006-07-06  Derek R. Price  <derek@ximbiot.com>
80455         and Paul Eggert  <eggert@cs.ucla.edu>
80456
80457         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
80458         Don't worry about this obsolete case any more.
80459         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
80460         directories.
80461         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
80462         worry about this obsolete case any more.
80463         * lib/fts.c: Likewise.
80464         * lib/getcwd.c: Likewise.
80465         * lib/glob.h: Likewise.
80466         * lib/savedir.c: Likewise.
80467
80468 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
80469
80470         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
80471         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
80472         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
80473         needed.
80474         All uses removed.
80475         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
80476         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
80477         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
80478         needed.
80479         * m4/getdate.m4 (gl_GETDATE): Likewise.
80480         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
80481         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
80482         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
80483         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
80484         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
80485         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
80486         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
80487         needed.
80488
80489 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
80490
80491         * lib/memcasecmp.c: Include <limits.h>.
80492         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
80493         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
80494         Don't assume isdigit succeeds only on '0' through '9'.
80495
80496 2006-07-05  Eric Blake  <ebb9@byu.net>
80497
80498         * modules/getaddrinfo (Depends-on): Add snprintf.
80499
80500 2006-07-05  Eric Blake  <ebb9@byu.net>
80501
80502         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
80503         to avoid 'header present but could not be compiled' on cygwin.
80504
80505 2006-07-05  Eric Blake  <ebb9@byu.net>
80506
80507         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
80508         missing from netdb.h.
80509         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
80510
80511 2006-07-05  Derek R. Price  <derek@ximbiot.com>
80512
80513         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
80514         no longer needed.
80515         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
80516         * m4/getdate.m4 (gl_GETDATE): Likewise.
80517         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
80518         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
80519         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
80520         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
80521         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
80522
80523 2006-07-05  Derek R. Price  <derek@ximbiot.com>
80524
80525         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
80526         All uses of is_space replaced by isspace.
80527         * lib/exit.h: Don't talk about STDC_HEADERS.
80528         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
80529         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
80530         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
80531         replaced by isprint etc.
80532         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
80533         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
80534         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
80535         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
80536         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
80537         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
80538
80539 2006-07-05  Bruno Haible  <bruno@clisp.org>
80540
80541         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
80542         the function exists, before testing against AIX.
80543         Reported by Martin Lambers <marlam@marlam.de>.
80544
80545 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
80546
80547         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
80548         From Mark D. Baushke.
80549
80550 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
80551
80552         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
80553         to the absolute name, not just one, to bypass Sun C 5.8's
80554         "warning: #include of /usr/include/... may be non-portable".
80555
80556 2006-07-04  Eric Blake  <ebb9@byu.net>
80557
80558         * modules/dirname-tests: New test module.
80559         * tests/test-dirname.c: New file, replacing dirname.c
80560         TEST_DIRNAME section that was recently deleted.
80561
80562 2006-07-04  Bruno Haible  <bruno@clisp.org>
80563
80564         Assume ANSI C header files and <ctype.h> functions.
80565         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
80566         (mbsnwidth): Use isprint, iscntrl instead.
80567
80568 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
80569
80570         Merge from coreutils.
80571         * MODULES.html.sh: Add xstrtold.
80572         * modules/xstrtold: New file.
80573         * modules/cycle-check (Files): Add lib/same-inode.h.
80574         * modules/dirname (Files): Add m4/double-slash-root.m4.
80575         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
80576         * modules/mkdir-p (Files): Add lib/same-inode.h.
80577         * modules/same (Files): Add lib/same-inode.h.
80578
80579 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
80580
80581         * m4/absolute-header.m4: Renamed from full-header-path.m4.
80582         This is to keep the terminology clean; POSIX talks about
80583         "absolute pathnames", not "full pathnames", but the GNU
80584         Coding Standards say to use "path" for something else;
80585         so use "absolute" to keep both sides happy.
80586         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
80587         Set gl_absolute_header, not gl_full_header_path.
80588         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
80589         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
80590         All uses changed.
80591
80592         Merge from coreutils.
80593
80594         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
80595
80596         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
80597         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
80598         want to require the building of c-strtod.o.
80599         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
80600         needs -lm directly.
80601         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
80602
80603         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
80604
80605         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
80606         --as-needed option if available.  Problem reported by Albert Chin in
80607         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
80608         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
80609         cc merely issues a bunch of annoying warnings for --as-needed
80610         (this problem was reported by Bob Proulx).  Also, try linking with
80611         -lm to detect a bug in binutils 2.16 (this problem was reported
80612         by Ralf Wildenhues).
80613
80614         2006-06-18  Jim Meyering  <jim@meyering.net>
80615
80616         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
80617         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
80618         macro.
80619         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
80620         also check for glibc-2.4's abort-inducing bug.
80621
80622         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
80623         Low-probability clean-up should be to use rmdir to get rid of
80624         the just-created directory, not unlink.
80625
80626         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
80627         configure fail, and request a bug report to inform us about it.
80628         Add a comment that, barring reports to the contrary, in 2007 we'll
80629         assume ftruncate is universally available.
80630
80631         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
80632
80633         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
80634
80635         2006-03-12  Jim Meyering  <jim@meyering.net>
80636
80637         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
80638         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
80639         * m4/same.m4 (gl_SAME): Likewise.
80640         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
80641
80642         2006-03-11  Eric Blake  <ebb9@byu.net>
80643
80644         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
80645         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
80646         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
80647         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
80648
80649 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
80650
80651         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
80652         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
80653         reported by Mark D. Baushke, one in
80654         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
80655
80656         Merge from coreutils.
80657
80658         * lib/.cppi-disable: Add stdint_.h.
80659         * lib/.cvsignore: Add stdint.h.
80660
80661         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
80662
80663         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
80664         both double and long double versions.
80665         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
80666         * lib/xstrtold.c: New file.
80667         * lib/xstrtod.h (xstrtold): New decl.
80668
80669         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
80670
80671         * lib/filemode.c (setst): Remove.
80672         (strmode): Rewrite to avoid setst.  This makes the code shorter,
80673         (arguably) clearer, and the generated code is a bit smaller on my
80674         Debian GNU/Linux stable x86 host.
80675
80676         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
80677
80678         * lib/filemode.c: Include "filemode.h" first, to test the interface.
80679         Assume that filemode.h includes sys/types.h and sys/stat.h.
80680         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
80681         (ftypelet): Reorder to put common cases first, for efficiency.
80682         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
80683         to do 'M'.
80684         (strmode): Renamed from mode_string, and now stores 12 bytes instead
80685         of 10, for compatibility with FreeBSD.  All callers changed.
80686         (filemodestring): Now stores 12 bytes instead of 10, and sets file
80687         types that can't be deduced solely from st_mode.  First arg is now a
80688         const pointer.
80689         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
80690         (strmode): Renamed from mode_string.
80691         (filemodestring): New decl.
80692         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
80693         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
80694         needed.
80695         (S_ISPORT, S_ISWHT): New macros, if not already defined.
80696
80697         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
80698
80699         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
80700         fsusage.h now does that.  Include fsusage.h first, to test interface.
80701         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
80702         at most one method (the old code could have generated decls that
80703         didn't conform to C89, not that this was ever exercised).
80704         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
80705
80706         2006-03-19  Jim Meyering  <jim@meyering.net>
80707
80708         Work even in a chroot where d_ino values for entries in "/"
80709         don't match the stat.st_ino values for the same names.
80710         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
80711         number, iterate through all entries again, using lstat instead.
80712         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
80713         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
80714
80715         * lib/getcwd.c (__getcwd): Clarify a comment.
80716         Use memcpy in place of a call to strcpy.
80717
80718         2006-03-12  Jim Meyering  <jim@meyering.net>
80719
80720         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
80721         matches that of the current directory (which we're about to chdir ".."
80722         out of), then save the dev-ino of the parent, instead.
80723
80724         * lib/same-inode.h (SAME_INODE): New file/macro.
80725         * lib/chdir-safer.c (SAME_INODE): Remove definition.
80726         Include "same-inode.h", instead.
80727         * lib/same.c: Likewise.
80728         * lib/cycle-check.h: Include "same-inode.h".
80729         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
80730         * lib/cycle-check.c (SAME_INODE): Remove definition.
80731         * lib/root-dev-ino.h: Include "same-inode.h".
80732
80733         2006-03-11  Eric Blake  <ebb9@byu.net>
80734
80735         * lib/same.c (same_name): s/base_name/last_component/
80736         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
80737         * lib/filenamecat.c (file_name_concat): Likewise.
80738
80739         2006-03-11  Eric Blake  <ebb9@byu.net>,
80740                     Paul Eggert  <eggert@cs.ucla.edu>
80741
80742         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
80743         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
80744         drive prefix.
80745         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
80746         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
80747         (last_component): New method.
80748         * lib/dirname.c (dir_len): Determine when drive letters need a
80749         subsequent slash.  Preserve // when it is special.
80750         (dir_name): Don't append dot when drive letter is absolute.
80751         [TEST_DIRNAME]: Move into a full-blown gnulib test.
80752         * lib/basename.c (base_name): New semantics - malloc the result.
80753         Preserve // when it is special.  Preserve relative files that look
80754         like drive letters.
80755         (base_len): Preserve // when it is special.
80756         (last_component): New method, similar to old base_name semantics.
80757         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
80758         base_name.  Strip redundant slashes from ///.
80759
80760 2006-07-03  Jim Meyering  <jim@meyering.net>
80761
80762         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
80763         macro is used before the first cycle_check call.
80764
80765 2006-07-03  Eric Blake  <ebb9@byu.net>
80766
80767         * modules/dirname (Depends-on): Add xstrndup.
80768
80769 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
80770
80771         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
80772         test cases, so that config.log is a bit easier to follow.
80773
80774 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
80775
80776         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
80777         both are 64 bits, since this seems to be the tradition, and this
80778         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
80779         we ever run into a host that prefers long long to long in this
80780         case, we'll need another configure-time test.  Problem reported by
80781         Jim Meyering.
80782
80783 2006-07-02  Eric Blake  <ebb9@byu.net>
80784
80785         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
80786
80787 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
80788
80789         * modules/inttypes (Depends-on): No longer depends on stdint.
80790         * modules/stdint (Description): Say more about assumptions.
80791         Say that the fast types might differ.  Say macros are used.
80792         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
80793         (Makefile.am): Revise list of substituted symbols to match
80794         new stdint.m4.
80795         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
80796         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
80797         * tests/test-stdint.c (verify_same_types)
80798         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
80799         the code conforms to C99/C89.
80800         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
80801         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
80802
80803 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
80804
80805         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
80806         but fix a bug, by requiring at least 64 bits.
80807         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
80808         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
80809         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
80810         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
80811
80812         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
80813         changes.  Make 2.59 a prerequisite.  Check and substitute for
80814         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
80815         inttypes.h.  Do not use special include files; just use the
80816         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
80817         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
80818         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
80819         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
80820         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
80821         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
80822         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
80823         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
80824         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
80825         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
80826         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
80827         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
80828         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
80829         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
80830         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
80831         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
80832         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
80833         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
80834         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
80835         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
80836         WINT_MAX.  Check for C99 conformance more strictly, by detecting
80837         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
80838         not check for things that C99 does not require, e.g., int8_t.  If
80839         a test isn't needed unless <stdint.h> isn't working, and is
80840         unlikely to be needed for any other reason, then don't do it
80841         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
80842         size_t, since we assume C89 freestanding at least.  Do not check
80843         for sig_atomic_t, wchar_t, or wint_t, since the code now does
80844         the right thing even if the types are not defined.  Instead use:
80845         (gl_STDINT_TYPE_PROPERTIES): New macro.
80846         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
80847         testing whether <sys/types.h> clashes, as Autoconf does this for
80848         us now.  All uses removed.
80849         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
80850         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
80851         (gl_CHECK_TYPE_SAME):
80852         Remove; no longer needed.
80853         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
80854         exists, since we'll return 0 anyway in that case.
80855         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
80856
80857 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
80858
80859         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
80860         possible collision with system files.
80861         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
80862         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
80863         WCHAR_MIN and WCHAR_MAX in this case.
80864         (<stddef.h>): Do not include; no longer needed.
80865         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
80866         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
80867         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
80868         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
80869         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
80870         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
80871         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
80872         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
80873         !defined(__c99))]: Include in this case too, since it's harmless
80874         now.
80875         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
80876         dangerous to do so.
80877         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
80878         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
80879         (_STDINT_MIN, _STDINT_MAX): New macros.
80880         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
80881         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
80882         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
80883         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
80884         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
80885         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
80886         macros, not typedefs; this simplifies things quite a bit.
80887         Use long int for all types narrower than int64_t.
80888         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
80889         Define in terms of long long int or int64_t or long int,
80890         not int64_t or int32_t.  This saves some compile-time testing.
80891         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
80892         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
80893         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
80894         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
80895         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
80896         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
80897         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
80898         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
80899         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
80900         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
80901         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
80902         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
80903         undef any previous version and define our own version, for
80904         simplicity and consistency with the new macros for types.
80905         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
80906         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
80907         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
80908         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
80909         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
80910         @WINT_T_SUFFIX@ to keep things simple here.
80911         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
80912         Simplify by assuming typical 8/16/32/64 host, since we're
80913         already doing that elsewhere anyway.
80914         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
80915         and assume long long int is 64 bits if available.  This
80916         speeds up 'configure'.
80917
80918 2006-07-01  Eric Blake  <ebb9@byu.net>
80919
80920         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
80921         Reported by Andreas Buening.
80922
80923 2006-07-01  Eric Blake  <ebb9@byu.net>
80924
80925         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
80926
80927 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
80928
80929         * lib/getaddrinfo.c: fixed typo
80930
80931 2006-06-29  Jim Meyering  <jim@meyering.net>
80932
80933         * modules/strftime (Maintainer): Add my name, since with the
80934         FPRINTFTIME changes strftime.c has forked from glibc.
80935
80936 2006-06-29  Eric Blake  <ebb9@byu.net>
80937
80938         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
80939
80940 2006-06-29  Eric Blake  <ebb9@byu.net>
80941
80942         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
80943
80944 2006-06-29  Eric Blake  <ebb9@byu.net>
80945
80946         * lib/stat_.h: New file.
80947
80948 2006-06-29  Eric Blake  <ebb9@byu.net>
80949
80950         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
80951         unused static function.
80952
80953 2006-06-29  Eric Blake  <ebb9@byu.net>
80954
80955         * doc/functions.texi (Function Portability): Document missing lstat
80956         on mingw.
80957
80958 2006-06-29  Eric Blake  <ebb9@byu.net>
80959
80960         * MODULES.html.sh: Add sys_stat.
80961         * modules/sys_stat: New module.
80962         * modules/mkstemp (Depends-on): Add sys_stat.
80963
80964 2006-06-29  Derek R. Price  <derek@ximbiot.com>
80965
80966         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
80967
80968 2006-06-29  Derek R. Price  <derek@ximbiot.com>
80969
80970         * m4/c-bs-a.m4: Removed.
80971
80972 2006-06-29  Derek R. Price  <derek@ximbiot.com>
80973
80974         * lib/strftime.c: Assume strftime() exists.
80975
80976 2006-06-29  Derek Price  <derek@ximbiot.com>
80977
80978         * modules/c-bs-a: Removed - \a is C89.
80979         * MODULES.html.sh: Remove c-bs-a.
80980
80981 2006-06-29  Bruno Haible  <bruno@clisp.org>
80982
80983         * modules/wcwidth (License): Change to LGPL.
80984
80985 2006-06-28  Simon Josefsson  <jas@extundo.com>
80986
80987         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
80988         on _WIN32.
80989
80990         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
80991         getnameinfo.
80992
80993 2006-06-28  Simon Josefsson  <jas@extundo.com>
80994
80995         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
80996
80997 2006-06-28  Simon Josefsson  <jas@extundo.com>
80998
80999         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
81000         functions there.  It will succeed on Windows XP, but on Windows
81001         2000 and (presumably) earlier, it will fail, and use the internal
81002         re-implementation.
81003         (use_win32_p): New function.
81004         (getaddrinfo): Use strtoul on servname, to support numeric ports.
81005         Support AI_NUMERICSERV to disable getservbyname.
81006         (getnameinfo): New function, only supports
81007         NI_NUMERICHOST|NI_NUMERICSERV for now.
81008
81009         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
81010         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
81011         getnameinfo.
81012
81013 2006-06-28  Eric Blake  <ebb9@byu.net>
81014
81015         * modules/wcwidth: New file.
81016         * modules/mbchar (Depends-on): Add wcwidth.
81017         * modules/mbswidth (Depends-on): Add wcwidth.
81018         * MODULES.html.sh: Add wcwidth.
81019
81020 2006-06-28  Eric Blake  <ebb9@byu.net>
81021
81022         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
81023         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
81024
81025 2006-06-28  Eric Blake  <ebb9@byu.net>
81026
81027         * lib/xvasprintf.h: Fix comments.
81028
81029 2006-06-28  Eric Blake  <ebb9@byu.net>
81030
81031         * lib/mbchar.h (wcwidth): Include wcwidth.h.
81032         * lib/mbswidth.c (wcwidth): Move from here...
81033         * lib/wcwidth.h: ...to this new file.
81034
81035 2006-06-28  Derek R. Price  <derek@ximbiot.com>
81036
81037         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
81038
81039         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
81040         it's obsolete.
81041         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
81042
81043 2006-06-28  Derek R. Price  <derek@ximbiot.com>
81044
81045         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
81046         Autoconf 2.60 says this stuff was obsolete.
81047
81048 2006-06-28  Bruno Haible  <bruno@clisp.org>
81049
81050         * modules/wcwidth (Files): Add m4/wchar_t.m4.
81051
81052 2006-06-28  Bruno Haible  <bruno@clisp.org>
81053
81054         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
81055         gt_TYPE_WCHAR_T.
81056
81057 2006-06-28  Bruno Haible  <bruno@clisp.org>
81058
81059         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
81060         declaration for wcwidth.
81061         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctype.h>.
81062
81063 2006-06-28  Bruno Haible  <bruno@clisp.org>
81064
81065         * lib/mkdtemp.c [MINGW]: Include <io.h>.
81066         (mkdir): Define using _mkdir.
81067
81068 2006-06-28  Bruno Haible  <bruno@clisp.org>
81069
81070         * lib/getaddrinfo.h: Fix POSIX URL.
81071         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
81072         _WIN32.
81073         (use_win32_p): Make static.
81074         (getaddrinfo): Reject service name if it is empty or does not consist
81075         solely of decimal digits, or if its value is > 65535.
81076         (getnameinfo): Remove useless casts.
81077
81078 2006-06-27  Simon Josefsson  <jas@extundo.com>
81079
81080         * modules/sys_select: New file, suggested by Bruno Haible, Paul
81081         Eggert and Martin Lambers.
81082
81083 2006-06-27  Simon Josefsson  <jas@extundo.com>
81084
81085         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
81086         Eggert and Martin Lambers.
81087
81088 2006-06-27  Bruno Haible  <bruno@clisp.org>
81089
81090         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
81091         result to 0, not to empty.
81092         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
81093
81094 2006-06-27  Bruno Haible  <bruno@clisp.org>
81095
81096         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
81097
81098 2006-06-26  Simon Josefsson  <jas@extundo.com>
81099
81100         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
81101         present.
81102
81103 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
81104
81105         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
81106         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
81107         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
81108
81109 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
81110
81111         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
81112
81113 2006-06-26  Bruno Haible  <bruno@clisp.org>
81114
81115         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
81116
81117 2006-06-26  Bruno Haible  <bruno@clisp.org>
81118
81119         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
81120
81121 2006-06-26  Bruno Haible  <bruno@clisp.org>
81122
81123         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
81124         SGI C compiler in pre-C99 mode.
81125         Suggested by Mark D. Baushke and Larry Jones.
81126
81127 2006-06-26  Bruno Haible  <bruno@clisp.org>
81128
81129         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
81130         WCHAR_MAX.
81131         Reported by Mark D. Baushke and Larry Jones.
81132
81133 2006-06-26  Bruno Haible  <bruno@clisp.org>
81134
81135         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
81136         in pre-C99 mode.
81137         Suggested by Mark D. Baushke and Larry Jones.
81138
81139 2006-06-23  Simon Josefsson  <jas@extundo.com>
81140             Bruno Haible  <bruno@clisp.org>
81141
81142         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
81143         Emit mostlyclean-local rule.
81144         (func_emit_tests_Makefile_am): Likewise.
81145         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
81146
81147 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
81148
81149         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
81150
81151 2006-06-23  Bruno Haible  <bruno@clisp.org>
81152
81153         * tests/test-stdint.c: Update to match ISO C 99 Technical
81154         Corrigendum 1.
81155
81156 2006-06-23  Bruno Haible  <bruno@clisp.org>
81157
81158         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
81159
81160 2006-06-23  Bruno Haible  <bruno@clisp.org>
81161
81162         * lib/stdint_.h: Treat IRIX like OpenBSD.
81163
81164 2006-06-23  Bruno Haible  <bruno@clisp.org>
81165
81166         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
81167         ISO C 99 Technical Corrigendum 1.
81168
81169 2006-06-22  Simon Josefsson  <jas@extundo.com>
81170
81171         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
81172         MinGW.
81173
81174 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
81175
81176         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
81177         needed.  Some compiler complained about some of them.  Problem reported
81178         by Larry Jones in
81179         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
81180
81181 2006-06-21  Simon Josefsson  <jas@extundo.com>
81182
81183         * tests/test-getaddrinfo.c: New file.
81184
81185         * modules/getaddrinfo-tests: New file.
81186
81187         * MODULES.html.sh: Add inet_pton.
81188
81189         * modules/inet_pton: New file.
81190
81191 2006-06-21  Simon Josefsson  <jas@extundo.com>
81192
81193         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
81194         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
81195         of using the (limited) gnulib implementation on Windows XP.
81196
81197         * m4/inet_pton.m4: New file.
81198
81199 2006-06-21  Simon Josefsson  <jas@extundo.com>
81200
81201         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
81202         variable.
81203
81204         * lib/socket_.h: Don't define WINVER.
81205
81206         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
81207         slightly modified to work in gnulib.
81208
81209 2006-06-21  Simon Josefsson  <jas@extundo.com>
81210
81211         * doc/gnulib.texi (Windows sockets): Add.
81212
81213 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
81214
81215         * lib/read-file.c (fread_file): Start with buffer allocation of
81216         0 bytes rather than 1 byte; this simplifies the code.
81217         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
81218         code to free buffer and save/restore errno.
81219         (internal_read_file): Remove unused local.
81220
81221 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
81222
81223         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
81224         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
81225         Problem reported by Denis Excoffier in
81226         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
81227
81228 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
81229
81230         * modules/sys_socket, modules/socklen: Include sys/types since
81231         FreeBSD 4.x's sys/socket.h needs it.
81232
81233 2006-06-19  Simon Josefsson  <jas@extundo.com>
81234
81235         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
81236
81237 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
81238
81239         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
81240
81241 2006-06-19  Bruno Haible  <bruno@clisp.org>
81242
81243         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
81244         and FULL_PATH_INTTYPES_H in angle brackets.
81245         Reported by Mark D. Baushke <mdb@gnu.org>.
81246
81247 2006-06-17  Eric Blake  <ebb9@byu.net>
81248
81249         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
81250         errno.
81251
81252 2006-06-17  Bruno Haible  <bruno@clisp.org>
81253
81254         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
81255         <sys/inttypes.h>.
81256
81257 2006-06-17  Bruno Haible  <bruno@clisp.org>
81258
81259         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
81260         whether errno is declared. Assume <errno.h> declares errno.
81261
81262 2006-06-17  Bruno Haible  <bruno@clisp.org>
81263
81264         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
81265
81266 2006-06-17  Bruno Haible  <bruno@clisp.org>
81267
81268         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
81269         problem on Solaris 2.5.1.
81270
81271 2006-06-16  Eric Blake  <ebb9@byu.net>
81272
81273         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
81274         * lib/unicodeio.c [!defined errno]: Likewise.
81275         * lib/strtol.c [!defined errno]: Likewise.
81276         * lib/strtod.c [!defined errno]: Likewise.
81277
81278 2006-06-15  Eric Blake  <ebb9@byu.net>
81279
81280         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
81281
81282 2006-06-15  Eric Blake  <ebb9@byu.net>
81283
81284         * config/srclist.txt (ssize_t.m4): Lose sync.
81285
81286 2006-06-15  Bruno Haible  <bruno@clisp.org>
81287
81288         * modules/stdint (Files): Include m4/full-header-path.m4,
81289         m4/size_max.m4, m4/wchar_t.m4.
81290         (Makefile.am): Many more substitutions.
81291         * modules/stdint-tests: New file.
81292         * tests/test-stdint.c: New file.
81293
81294 2006-06-15  Bruno Haible  <bruno@clisp.org>
81295
81296         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
81297         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
81298         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
81299         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
81300         gl_CHECK_TYPE_SAME): New macros.
81301
81302 2006-06-15  Bruno Haible  <bruno@clisp.org>
81303
81304         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
81305
81306 2006-06-15  Bruno Haible  <bruno@clisp.org>
81307
81308         * lib/stdint_.h: Rewritten to be fully auto-configured.
81309         Fixes bug on HP-UX/IA64.
81310
81311 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
81312
81313         * lib/getdate.y (__attribute__): Don't define if already defined.
81314         Problem reported by Larry Jones.
81315         * lib/utimens.c (__attribute__): Likewise.
81316
81317 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
81318
81319         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
81320         reported by Andreas Schwab.
81321
81322 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81323             Bruno Haible  <bruno@clisp.org>
81324
81325         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
81326         check for the declaration of strnlen and a run test that exposes the
81327         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
81328         rpl_strndup.
81329
81330 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81331             Bruno Haible  <bruno@clisp.org>
81332
81333         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
81334
81335 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81336
81337         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
81338         compile test, for Tru64 4.0D.
81339
81340 2006-05-28  Karl Berry  <karl@gnu.org>
81341
81342         * config/srclist.txt (printf-args.c): lose sync.
81343
81344 2006-05-26  Martin Lambers  <marlam@marlam.de>
81345
81346         * lib/getpass.c: Updates the test for the native W32 API, and adds
81347         missing includes, thus fixing compilation warnings.
81348
81349 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
81350
81351         * lib/exclude.c (exclude_fnmatch): New function.
81352         (excluded_file_name): Call exclude_fnmatch.
81353         * lib/exclude.h (excluded_file_name): New prototype
81354
81355 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
81356
81357         * lib/tempname.c (small_open, large_open): New macros.
81358         (__open, __open64) [!_LIBC]: Remove.
81359         (__gen_tempname): Use small_open and large_open instead of __open
81360         and __open64.  This fixes a portability bug on HP-UX 11.11i
81361         reported by Simon Wing-Tang in
81362         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
81363
81364 2006-05-24  Bruno Haible  <bruno@clisp.org>
81365
81366         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
81367         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
81368         Reported by Thorsten Maerz <torte@netztorte.de> via
81369         Aaron Stone <aaron@serendipity.cx>.
81370
81371 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
81372
81373         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
81374         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
81375         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
81376         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
81377         not really conditional on the cache.
81378         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
81379
81380 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
81381
81382         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
81383         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
81384         (my_usleep): Don't mishandle maximum value.
81385
81386 2006-05-19  Jim Meyering  <jim@meyering.net>
81387
81388         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
81389
81390 2006-05-17  Bruno Haible  <bruno@clisp.org>
81391
81392         Cygwin portability.
81393         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
81394
81395 2006-05-17  Bruno Haible  <bruno@clisp.org>
81396
81397         * lib/stdint_.h: Fix recognition of Cygwin.
81398
81399 2006-05-15  Bruno Haible  <bruno@clisp.org>
81400
81401         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
81402         on libtool patch by Ralf Wildenhues.
81403
81404 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
81405
81406         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
81407         test for C99 conformance; (bool) 0.5 is an integer constant
81408         expression, but (bool) -0.5 is not.  Problem reported by Fedor
81409         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
81410
81411 2006-05-11  Simon Josefsson  <jas@extundo.com>
81412
81413         * m4/xvasprintf.m4: Fix obvious typo.
81414
81415 2006-05-11  Jim Meyering  <jim@meyering.net>
81416
81417         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
81418         James Lemley.
81419
81420 2006-05-10  Simon Josefsson  <jas@extundo.com>
81421
81422         * lib/md4.c: Typo fix, update copyright years.
81423         (K1, K2): Don't use L because it turn computations into 64-bit on
81424         64-bit platforms.
81425
81426 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
81427
81428         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
81429         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
81430         unwanted sign propagation, e.g., on hosts with 64-bit int.
81431         There still are some problems with reeelly weird theoretical hosts
81432         (e.g., 33-bit int) but it's not worth worrying about now.
81433         * lib/sha1.c (rol): Likewise.
81434         (K1, K2, K3, K4): Remove unnecessary L suffix.
81435
81436 2006-05-10  Bruno Haible  <bruno@clisp.org>
81437
81438         * lib/des.c: Cast to avoid warnings.
81439
81440 2006-05-09  Bruno Haible  <bruno@clisp.org>
81441
81442         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
81443         (Depends-on): Depend also on xsize, stdarg.
81444         (configure.ac): Add gl_XVASPRINTF.
81445
81446 2006-05-09  Bruno Haible  <bruno@clisp.org>
81447
81448         * m4/xvasprintf.m4: New file.
81449
81450 2006-05-09  Bruno Haible  <bruno@clisp.org>
81451
81452         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
81453         (EOVERFLOW): Define fallback value.
81454         (xstrcat): New function.
81455         (xvasprintf): Recognize the special case of a string concatenation.
81456
81457 2006-05-08  Eric Blake  <ebb9@byu.net>
81458
81459         * gnulib-tool (func_version): Base copyright year on CVS date.
81460         (func_emit_copyright_notice): New function.
81461         (func_emit_lib_Makefile_am): Use it.
81462         (func_emit_tests_Makefile_am): Likewise.
81463         (func_import): Likewise.
81464
81465 2006-05-08  Bruno Haible  <bruno@clisp.org>
81466
81467         * modules/stdarg: New file.
81468         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
81469
81470 2006-05-08  Bruno Haible  <bruno@clisp.org>
81471
81472         * m4/stdarg.m4: New file, from GNU gettext.
81473
81474 2006-05-08  Bruno Haible  <bruno@clisp.org>
81475
81476         * config/srclist.txt (build-aux/config.rpath): different from latest
81477         release.
81478
81479 2006-05-08  Bruno Haible  <bruno@clisp.org>
81480
81481         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
81482
81483 2006-05-05  Jim Meyering  <jim@meyering.net>
81484
81485         * m4/warning.m4: New file, derived from bison's file by the same name.
81486
81487 2006-05-03  Bruno Haible  <bruno@clisp.org>
81488
81489         * lib/stdint_.h: Shorter URL.
81490         * lib/inttypes.h: Likewise.
81491
81492 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
81493
81494         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
81495
81496 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
81497
81498         * lib/verify.h: Document the internals better.  Most of this change
81499         was written by Bruno Haible.
81500
81501 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
81502
81503         * doc/verify.texi: New file, partly based on a proposal by
81504         Bruno Haible.
81505
81506 2006-05-02  Bruno Haible  <bruno@clisp.org>
81507
81508         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
81509         test from here...
81510         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
81511
81512 2006-04-29  Bruno Haible  <bruno@clisp.org>
81513
81514         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
81515         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
81516
81517 2006-04-29  Bruno Haible  <bruno@clisp.org>
81518
81519         * gnulib-tool: Make --update option actually work.
81520
81521 2006-04-29  Bruno Haible  <bruno@clisp.org>
81522
81523         * doc/gcd.texi: New file.
81524         * doc/gnulib.texi: Include it.
81525
81526 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
81527
81528         * lib/getdate.y (get_date): When adding relative date, start with the
81529         initial time, not with the result of the first mktime call.
81530
81531 2006-04-25  Bruno Haible  <bruno@clisp.org>
81532
81533         * gnulib-tool (func_import): Output the include directives in three
81534         blocks, sorted separately.
81535         Reported by Ben Pfaff <blp@cs.stanford.edu>.
81536
81537 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
81538
81539         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
81540         to define main with arguments, for C++.  Reported by Eric Blake.
81541         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
81542         Prefer 'int main ()' to 'int main (void)', for C++.
81543         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
81544         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
81545         for 'main', for C99 and C++.
81546
81547 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
81548
81549         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
81550         Don't assume that exit status -1 is valid.
81551         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
81552         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
81553         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
81554         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
81555         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
81556         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
81557         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
81558         functions can be used without declaring them, or that you can
81559         exit with status -1.
81560         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
81561
81562 2006-04-24  Karl Berry  <karl@gnu.org>
81563
81564         * config/srclist.txt (longdouble.m4): sync lost.
81565
81566 2006-04-24  Eric Blake  <ebb9@byu.net>
81567
81568         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
81569
81570 2006-04-24  Bruno Haible  <bruno@clisp.org>
81571
81572         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
81573         poll() implementation in AIX.
81574         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
81575
81576 2006-04-24  Bruno Haible  <bruno@clisp.org>
81577
81578         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
81579         assigned exactly once.
81580
81581 2006-04-23  Claudio Fontana  <claudio@gnu.org>
81582             Bruno Haible  <bruno@clisp.org>
81583
81584         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
81585         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
81586         for AM_CPPFLAGS.
81587
81588 2006-04-23  Bruno Haible  <bruno@clisp.org>
81589
81590         * modules/copy-file: Depend on unistd.
81591         * modules/execute: Likewise.
81592         * modules/fatal-signal: Likewise.
81593         * modules/findprog: Likewise.
81594         * modules/mkdtemp : Likewise.
81595         * modules/pipe: Likewise.
81596         * modules/wait-process: Likewise.
81597
81598 2006-04-23  Bruno Haible  <bruno@clisp.org>
81599
81600         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
81601         condition was already detected.
81602         Reported by Ben Pfaff <blp@cs.stanford.edu>.
81603
81604 2006-04-23  Bruno Haible  <bruno@clisp.org>
81605
81606         * lib/copy-file.c: Include <unistd.h> unconditionally.
81607         * lib/execute.c: Likewise.
81608         * lib/fatal-signal.c: Likewise.
81609         * lib/findprog.c: Likewise.
81610         * lib/mkdtemp.c: Likewise.
81611         * lib/pipe.h: Likewise.
81612         * lib/pipe.c: Likewise.
81613         * lib/wait-process.h: Likewise.
81614
81615 2006-04-23  Bruno Haible  <bruno@clisp.org>
81616
81617         * gnulib-tool (func_usage): Fix --import description. Document
81618         --update.
81619         (func_import): Create temporary file in a temporary directory, if
81620         --dry-run is specified. Silence errors from 'grep' when there are no
81621         m4 files in $m4dir.
81622         (func_create_testdir): Silence errors from 'grep' when there are no
81623         m4 files in $m4dir.
81624         Reported by Karl Berry <karl@freefriends.org>.
81625
81626 2006-04-20  Bruno Haible  <bruno@clisp.org>
81627
81628         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
81629         one argument, so that the code will be portable to Autoconf 2.60.
81630         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
81631         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
81632         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
81633
81634 2006-04-19  Derek Price  <derek@ximbiot.com>
81635             Eric Blake  <ebb9@byu.net>
81636
81637         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
81638         rather than "/full/path.h".  Update comment to match.  Shorten &
81639         generalize m4_translit call via AS_TR_CPP.
81640
81641 2006-04-19  Derek Price  <derek@ximbiot.com>
81642             Eric Blake  <ebb9@byu.net>
81643
81644         * lib/inttypes.h: Correct grammar in comment.
81645
81646 2006-04-18  Derek Price  <derek@ximbiot.com>
81647             Paul Eggert  <eggert@cs.ucla.edu>
81648
81649         * modules/inttypes: New file.
81650         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
81651
81652 2006-04-18  Derek Price  <derek@ximbiot.com>
81653             Paul Eggert  <eggert@cs.ucla.edu>
81654
81655         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
81656         New files.
81657
81658 2006-04-18  Derek Price  <derek@ximbiot.com>
81659             Paul Eggert  <eggert@cs.ucla.edu>
81660
81661         * lib/inttypes.h: New file.
81662         * lib/strtoimax.c: Assume <inttypes.h>.
81663
81664 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
81665
81666         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
81667         isn't mounted.  Problem reported by Kir Kolyshkin.
81668
81669 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
81670
81671         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
81672         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
81673         Derek R. Price.
81674         * lib/regex.h (RE_DUP_MAX): Update comment to match current
81675         implementation.
81676
81677 2006-04-12  Eric Blake  <ebb9@byu.net>
81678
81679         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
81680         is now done automatically by the corresponding Autoconf macro.
81681
81682 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
81683
81684         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
81685         time_r.h.
81686
81687 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
81688
81689         Merge regex changes from libc, removing some of our
81690         POSIX-conformance changes that were rejected and redoing them in a
81691         less-intrusive way.
81692
81693         * lib/regcomp.c (re_compile_internal, init_dfa):
81694         Length arg is now size_t, not Idx.  All uses changed.
81695         (peek_token): Forward decl now says internal_function.
81696         (__re_error_msgid, __re_error_msgid_idx):
81697         Now static rather than extern with attribute_hidden.
81698         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
81699         For some reason libc prefers K&R style defns for external functions.
81700         (regerror) [!defined _LIBC]: Likewise.
81701         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
81702         (seek_collating_symbol_entry, lookup_collation_sequence_value):
81703         (build_range_exp, build_collating_symbol):
81704         Use K&R-style defn.
81705         (re_compile_fastmap): Use '\0' to memset, not 0.
81706         (utf8_sb_map): Make the calculations more obvious.
81707         (init_dfa, parse_bracket_exp, build_charclass_op):
81708         Call calloc and cast result, as glibc does.
81709         (init_word_char, fetch_token, peek_token, peek_token_bracket):
81710         (build_range_exp, build_collating_symbol):
81711         Now internal functions.
81712
81713         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
81714
81715         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
81716         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
81717         Don't depend on VMS; depend on __VMS instead, for POSIX
81718         namespace cleanness.
81719         (regoff_t): Define to ssize_t, not long int.
81720
81721         Remove the REG_ macros named below.  Instead, make the old names
81722         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
81723         __USE_GNU_REGEX.
81724         (REG_BACKSLASH_ESCAPE_IN_LISTS):
81725         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
81726         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
81727         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
81728         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
81729         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
81730         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
81731         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
81732         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
81733         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
81734         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
81735         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
81736         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
81737         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
81738         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
81739         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
81740         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
81741         (REG_NREGS):
81742         Remove.  All uses replaced by the old RE_* names.
81743         (RE_BACKSLASH_ESCAPE_IN_LISTS):
81744         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
81745         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
81746         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
81747         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
81748         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
81749         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
81750         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
81751         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
81752         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
81753         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
81754         Don't bother having these macros be independent of each others'
81755         values, since they no longer exist in the POSIX name space.
81756
81757         Rename the following member names back to their old names,
81758         unless !__USE_GNU_REGEX.  All uses changed back.
81759         (buffer): Renamed from re_buffer.
81760         (allocated): Renamed from re_allocated.
81761         (used): Renamed from re_used.
81762         (syntax): Renamed from re_syntax.
81763         (fastmap): Renamed from re_fastmap.
81764         (translate): Renamed from re_translate.
81765         (can_be_null): Renamed from re_can_be_null.
81766         (regs_allocated): Renamed from re_regs_allocated.
81767         (fastmap_accurate): Renamed from re_fastmap_accurate.
81768         (no_sub): Renamed from re_no_sub.
81769         (not_bol): Renamed from re_not_bol.
81770         (not_eol): Renamed from re_not_eol.
81771         (newline_anchor): Renamed from re_newline_anchor.
81772         (num_regs): Renamed from rm_num_regs.
81773         (start): Renamed from rm_start.
81774         (end): Renamed from rm_end.
81775
81776         (free_state): Move up a bit.
81777
81778         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
81779         #define to be empty.
81780         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
81781         when that is what is intended.
81782         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
81783         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
81784         (MAX): New macro.
81785         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
81786         All uses changed back to re_malloc, etc.  It's now the caller's
81787         responsibility to check for overflow; all callers changed.
81788         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
81789         (re_x2nrealloc): Remove.
81790         (free_state): Remove decl.
81791
81792         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
81793         (re_set_registers, re_exec):
81794         Use K&R-style defn.
81795
81796         2006-01-31  Roland McGrath  <roland@redhat.com>
81797
81798         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
81799         Reported by Mike Frysinger <vapier@gentoo.org>.
81800
81801         2006-01-15  Andreas Jaeger  <aj@suse.de>
81802
81803         [BZ #1950]
81804         * lib/regex_internal.c (re_string_reconstruct): Adjust for
81805         build_wcs_upper_buffer change.
81806         (build_wcs_upper_buffer): Change return type.
81807
81808         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
81809
81810         * lib/regex_internal.h: Include <stdint.h> if available.
81811
81812         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
81813
81814         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
81815
81816         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
81817
81818         * lib/regcomp.c: Adjust for changed secondary hash function.
81819
81820         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
81821
81822         * lib/regex.h: Pretty printing.
81823         Clean up namespace a bit.
81824
81825         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
81826
81827         * lib/regexec.c (update_cur_sifted_state, check_arrival,
81828         check_arrival_add_next_nodes): Avoid using uninitialized variable.
81829
81830         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
81831                     Ulrich Drepper  <drepper@redhat.com>
81832
81833         [BZ #1302]
81834         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
81835         changed.
81836         (bitset_word_t): Renamed from bitset_word.  All uses changed.
81837
81838         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
81839
81840         [BZ #281]
81841         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
81842         * lib/regcomp.c: Remove unnecessary uses of
81843         unsigned RE_TRANSLATE_TYPE.
81844         * lib/regex_internal.h: Likewise.
81845         * lib/regex_internal.c: Likewise.
81846         * lib/regexec.c: Likewise.
81847         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
81848
81849         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
81850
81851         * lib/regexec.c (find_recover_state): Remove unnecessary
81852         initialization.
81853         (transit_state_bkref): Make DFA a const pointer.
81854         (get_subexp): Likewise.
81855         (check_arrival): Likewise.
81856         (update_cur_sifted_state): Likewise.
81857         (re_search_internal): Likewise.
81858         (prune_impossible_nodes): Likewise.
81859         (acquire_init_state_context): Likewise.
81860         (proceed_next_node): Likewise.
81861         (set_regs): Likewise.
81862         (free_fail_stack_return): Likewise.
81863         (check_arrival_expand_ecl): Mark DFA parameter as const.
81864         (check_arrival_expand_ecl_sub): Likewise.
81865         (check_subexp_limits): Likewise.
81866         (sub_epsilon_src_nodes):  Likewise.
81867         (add_epsilon_src_nodes):  Likewise.
81868         (merge_state_array): Likewise.
81869         (update_regs): Likewise.
81870         (build_trtable): Likewise.
81871         (sift_states_backward): Mark MCTX parameter as const.
81872         (build_sifted_states): Likewise.
81873         (update_cur_sifted_state): Likewise.
81874         (sift_states_mkref): Likewise.
81875         (check_arrival_expand_ecl): Mark eclosure as const.
81876         (check_dst_limits_calc_pos_1): Likewise.
81877         * lib/regex_internal.h (re_match_context_t): Make dfa a const
81878         pointer.
81879
81880         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
81881
81882         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
81883         (transit_state_sb): Likewise.
81884         (transit_state_mb): Likewise.
81885         (sift_states_iter_mb): Likewise.
81886         (check_arrival_add_next_nodes): Likewise.
81887         (check_node_accept_bytes): Change first parameter to pointer-to-const.
81888         [_LIBC] (re_search_2_stub): Use mempcpy.
81889
81890         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
81891         mbrtowc for very simple UTF-8 case.
81892
81893         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
81894         a pointer-to-const.
81895         (re_acquire_state_context): Likewise.
81896         * lib/regex_internal.h: Adjust prototypes.
81897
81898         * lib/regex.c: Prevent using C++ compilers.
81899
81900         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
81901         (re_acquire_state_context): Likewise.
81902
81903 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
81904
81905         * modules/regex (Depends-on): Add ssize_t.
81906
81907 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
81908
81909         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
81910         translation table.
81911
81912 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
81913
81914         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
81915
81916 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
81917             Bruno Haible  <bruno@clisp.org>
81918
81919         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
81920         <sys/types.h> and <inttypes.h>.
81921
81922 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81923
81924         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
81925         `__error_t_defined', so argp.h will not typedef the former.
81926
81927 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
81928
81929         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
81930         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
81931         glibc names.  Even if glibc is changed to conform to POSIX, the
81932         traditional names will be available anyway, since regex depends on
81933         the extensions module.  Also, fix a longstanding typo in the
81934         implementation of Spencer ERE test #75 from grep 2.3.  Problems
81935         reported by Emanuele Giaquinta.  Also, change sense of cached
81936         variable, so that the message makes sense.
81937
81938 2006-03-24  Simon Josefsson  <jas@extundo.com>
81939
81940         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
81941         including some doc fixes.
81942         (base64_encode_alloc): Fix +1 bug on allocation failures.
81943
81944 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81945
81946         * lib/base64.c (base64_encode): Do not read past end of array with
81947         unsanitized input on systems with CHAR_BIT > 8.
81948
81949 2006-03-24  Eric Blake  <ebb9@byu.net>
81950
81951         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
81952
81953 2006-03-22  Karl Berry  <karl@gnu.org>
81954
81955         * config/srclist.txt (*setenv.[ch]): get from coreutils.
81956         * config/srclistvars.sh (COREUTILS): new var.
81957
81958 2006-03-17  Jim Meyering  <jim@meyering.net>
81959
81960         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
81961         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
81962
81963 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
81964
81965         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
81966         no longer needs it.  Instead, check that regoff_t is as least
81967         as wide as ptrdiff_t.
81968
81969         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
81970         so that our regex.h stays compatible with the installed regex.
81971         This is helpful for installers who configure --without-included-regex.
81972         Problem reported by Emanuele Giaquinta.
81973
81974 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
81975
81976         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
81977         Typedef to long int, not to off_, as POSIX will likely change
81978         in that direction.
81979
81980 2006-03-15  Eric Blake  <ebb9@byu.net>
81981
81982         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
81983
81984 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
81985
81986         * lib/argp-help.c (validate_uparams): Fix typo
81987         * lib/argp-parse.c (argp_default_options): Consistently begin help
81988         messages with a lowercase letter.
81989
81990 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
81991
81992         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
81993         overrun buffers and shouldn't be used (much as gets shouldn't be
81994         used).
81995         * lib/time_r.c (asctime_r, ctime_r): Likewise.
81996
81997 2006-03-08  Simon Josefsson  <jas@extundo.com>
81998
81999         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
82000         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
82001
82002 2006-03-08  Simon Josefsson  <jas@extundo.com>
82003
82004         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
82005         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
82006
82007 2006-03-08  Simon Josefsson  <jas@extundo.com>
82008
82009         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
82010         signal that configure disabled the device.
82011
82012 2006-03-08  Simon Josefsson  <jas@extundo.com>
82013
82014         * build-aux/maint.mk: Fix refresh-po, to handle no translated
82015         languages.
82016
82017 2006-03-07  Simon Josefsson  <jas@extundo.com>
82018
82019         * modules/getopt (Depends-on): Add unistd.
82020
82021         * modules/unistd: New file.
82022
82023 2006-03-07  Simon Josefsson  <jas@extundo.com>
82024
82025         * modules/gc-random: New file.
82026
82027 2006-03-07  Simon Josefsson  <jas@extundo.com>
82028
82029         * m4/unistd_h.m4: New file.
82030
82031 2006-03-07  Simon Josefsson  <jas@extundo.com>
82032
82033         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
82034         test to be side-effect free by storing the result in the cache
82035         variable gl_cv_lib_readline, and moving the assignment of
82036         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
82037         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
82038
82039 2006-03-07  Simon Josefsson  <jas@extundo.com>
82040
82041         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
82042         error on missing devices (the functions will return an error).
82043
82044         * m4/gc.m4: Move random stuff to gc-random.m4
82045
82046 2006-03-07  Simon Josefsson  <jas@extundo.com>
82047
82048         * lib/unistd_.h: New file.
82049
82050 2006-03-07  Simon Josefsson  <jas@extundo.com>
82051
82052         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
82053
82054 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
82055
82056         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
82057         Problem reported by Juan Manuel Guerrero.
82058
82059 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
82060
82061         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
82062         the unistd module.
82063         * lib/getlogin_r.c: Likewise.
82064         * lib/getlogin_r.h: Likewise.
82065         * lib/glob.c: Likewise.
82066         * lib/pagealign_alloc.c: Likewise.
82067         * lib/unistd_.h: Remove; no longer needed.
82068
82069 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
82070
82071         * MODULES.html.sh (Support for systems lacking POSIX:2001):
82072         Add unistd.
82073         * modules/c-stack (Depends-on): Add unistd.
82074         * modules/getlogin_r: Likewise.
82075         * modules/glob: Likewise.
82076         * modules/pagealign_alloc: Likewise.
82077         * modules/unistd (Files): Remove lib/unistd_.h.
82078         (EXTRA_DIST): Remove.
82079         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
82080         need unistd_.h.
82081         (MOSTLYCLEANFILES): Remove unistd.h-t.
82082
82083 2006-03-03  Simon Josefsson  <jas@extundo.com>
82084
82085         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
82086
82087 2006-03-03  Simon Josefsson  <jas@extundo.com>
82088
82089         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
82090         libidn and bison.
82091
82092 2006-03-03  Simon Josefsson  <jas@extundo.com>
82093
82094         * build-aux/maint.mk: Add indent target.
82095
82096 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
82097
82098         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
82099         our replacement poll.h in any case, to avoid a differing
82100         declaration from a system header.  Seen on AIX.
82101
82102 2006-03-01  Simon Josefsson  <jas@extundo.com>
82103
82104         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
82105         <kasal@ucw.cz>.
82106
82107 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
82108
82109         * modules/gettime (Depends-on): Add extensions module.
82110         * modules/nanosleep (Depends-on): Likewise.
82111         * modules/settime (Depends-on): Likewise.
82112
82113 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
82114
82115         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
82116         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
82117         pedantically.
82118         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
82119         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
82120
82121         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
82122         not "==".  Reported by Ralf Wildenhues.
82123
82124 2006-03-01  Karl Berry  <karl@gnu.org>
82125
82126         * doc/Copyright/request-*: new files, synced from gnuorg.
82127
82128 2006-03-01  Karl Berry  <karl@gnu.org>
82129
82130         * config/srclist.txt (Copyright/*): new entries.
82131
82132 2006-02-28  Simon Josefsson  <jas@extundo.com>
82133
82134         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
82135
82136 2006-02-27  Simon Josefsson  <jas@extundo.com>
82137
82138         * lib/base64.h: Indent #define's.  From Jim Meyering
82139         <jim@meyering.net>.
82140
82141 2006-02-27  Jim Meyering  <jim@meyering.net>
82142
82143         Revert the change of 2006-02-24, so these files can continue
82144         to be sync'd from gettext.
82145         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
82146         of `config.h'.
82147
82148 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
82149
82150         * modules/intprops: New file.
82151         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
82152         Add intprops.
82153         * modules/getloadavg (Files): Remove lib/intprops.h.
82154         (Depends-on): Add intprops.
82155         * modules/human: Likewise.
82156         * modules/inttostr: Likewise.
82157         * modules/openat: Likewise.
82158         * modules/sig2str: Likewise.
82159         * modules/userspec: Likewise.
82160         * modules/utimecmp: Likewise.
82161         * modules/xnanosleep: Likewise.
82162         * modules/xstrtol: Likewise.
82163
82164 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
82165
82166         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
82167         * modules/lock-tests (TESTS): Use $(EXEEXT).
82168         * modules/tls-tests: Likewise.
82169         * modules/argp-tests: Likewise.
82170         (check_PROGRAMS): New var, replacing...
82171         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
82172
82173 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82174
82175         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
82176         `config.h'.
82177
82178 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
82179
82180         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
82181
82182 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82183
82184         Sync from coreutils.
82185         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
82186         gl_CHDIR_SAFER.
82187
82188 2006-02-22  Jim Meyering  <jim@meyering.net>
82189
82190         Sync from coreutils.
82191         * m4/chdir-safer.m4: New file.
82192
82193 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
82194
82195         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
82196         AT_FDCWD exceeds INT_MAX.
82197         * lib/openat.h (AT_FDCWD): Likewise.
82198
82199 2006-02-17  Eric Blake  <address@hidden>
82200
82201         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
82202
82203 2006-02-16  Simon Josefsson  <jas@extundo.com>
82204
82205         * modules/getaddrinfo (Depends-on): Add sys_socket.
82206
82207 2006-02-15  Simon Josefsson  <jas@extundo.com>
82208
82209         * build-aux/maint.mk: Add dsyntax-check rule.
82210
82211 2006-02-15  Eric Blake  <ebb9@byu.net>
82212
82213         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
82214         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
82215         'present but cannot compile' warnings on cygwin.
82216         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
82217         use ws2tcpip.h if sys/socket.h works.
82218         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
82219         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
82220
82221 2006-02-14  Simon Josefsson  <jas@extundo.com>
82222
82223         * modules/maintainer-makefile (Files): Rename.
82224
82225         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
82226         and (the local) Makefile.cfg to maint-cfg.mk.
82227
82228         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
82229         to the latter.
82230
82231         * modules/maintainer-makefile: New module.
82232
82233         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
82234         severaly stripped to make it possible to build it up from scratch
82235         with reliable tests.
82236
82237         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
82238         fixes to permit overriding the default actions when configure and
82239         makefile are not available.
82240
82241 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
82242
82243         Sync from coreutils.
82244         * modules/lstat (Depends-on): Don't depend on xalloc.
82245         (License): Change from GPL to LGPL, since this is now simply a
82246         replacement for a libc function.
82247
82248 2006-02-14  Jim Meyering  <jim@meyering.net>
82249
82250         Sync from coreutils.
82251
82252         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
82253         failure on deficient systems, and simplify gnulib lgpl dependencies.
82254         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
82255         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
82256
82257         * lib/xalloc-die.c: Remove unused definition of N_.
82258
82259 2006-02-14  Jim Meyering  <jim@meyering.net>
82260
82261         Sync from coreutils.
82262         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
82263         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
82264         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
82265         double-quote uses of that variable, to accommodate the rare case in
82266         which getmntent is available in none of the libraries checked.  This
82267         happens at least on FreeBSD 5.0.
82268
82269 2006-02-13  Simon Josefsson  <jas@extundo.com>
82270
82271         * gnulib-tool (Usage): Fix --import, from
82272         karl@freefriends.org (Karl Berry).
82273
82274 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
82275
82276         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
82277
82278 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
82279
82280         * lib/argp-namefrob.h: Restore changes accidentally lost during the
82281         "autoupdate" on 2005-12-12.
82282
82283 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
82284
82285         * modules/closeout (Depends-on): Remove atexit.
82286
82287 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
82288
82289         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
82290         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
82291
82292 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
82293
82294         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
82295         __EXTENSIONS__ if this causes compilation to fail.  Problem
82296         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
82297         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
82298
82299 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
82300
82301         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
82302         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
82303         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
82304         All uses changed.
82305
82306 2006-01-26  Simon Josefsson  <jas@extundo.com>
82307
82308         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
82309         prototype is visible on mingw32.
82310
82311         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
82312         for mingw32.
82313
82314         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
82315         mingw32).
82316
82317 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
82318
82319         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
82320         attempt to open for write; this always fails, at least on POSIX
82321         hosts.  This reinstates the 2006-01-09 change, which was
82322         inadvertently removed.
82323
82324 2006-01-26  Bruno Haible  <bruno@clisp.org>
82325
82326         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
82327         Reported by Paul Eggert.
82328
82329 2006-01-26  Bruno Haible  <bruno@clisp.org>
82330             Paul Eggert  <eggert@cs.ucla.edu>
82331
82332         * lib/stdbool_.h (_Bool)
82333         [(! (defined __cplusplus || defined __BEOS__)
82334           && !defined __GNUC__
82335           && !(defined __HP_cc || defined __xlc__
82336                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
82337                || defined __sgi))]:
82338         #define to signed char in these cases too; this simplifies
82339         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
82340         etc., separately) and makes it more conservative.
82341
82342 2006-01-25  Simon Josefsson  <jas@extundo.com>
82343
82344         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
82345         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
82346         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
82347
82348 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
82349
82350         * lib/argp-namefrob.h: Bugfix. Remove stray #
82351
82352 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
82353
82354         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
82355         so that we test the test.
82356         Check for yet another HP-UX cc bug involving *bool |= bool.
82357
82358 2006-01-25  Karl Berry  <karl@gnu.org>
82359
82360         * config/srclist.txt (vasnprintf.c): sync lost.
82361
82362 2006-01-25  Jim Meyering  <jim@meyering.net>
82363
82364         Sync from the stable (b5) branch of coreutils:
82365
82366         * lib/fts.c (fts_children): Don't let close() clobber errno from
82367         failed fchdir().
82368
82369         * lib/fts.c (fts_stat): When following a symlink-to-directory,
82370         don't necessarily interpret stat-fails+lstat-succeeds as indicating
82371         a dangling symlink.  That can also happen at least for ELOOP.
82372         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
82373         FYI, this bug predates the inclusion of fts.c in coreutils.
82374
82375         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
82376         in their own block, so pre-c99 compilers don't object.
82377
82378         Avoid the double-free (first in fts_read, second in fts_close) that
82379         would occur when an `active' directory is made inaccessible (e.g.,
82380         via chmod a-x) during a traversal.
82381         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
82382         before returning.  Reproduce this failure by
82383         mkdir -p a/b; cd a; chmod a-x . b
82384         Reported by Stavros Passas.
82385
82386 2006-01-25  Jim Meyering  <jim@meyering.net>
82387
82388         * lib/fileblocks.c: Remove more useless parentheses.
82389         * lib/readutmp.h: Likewise.
82390
82391 2006-01-25  Bruno Haible  <bruno@clisp.org>
82392
82393         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
82394         warnings.
82395         Reported by Paul Eggert.
82396
82397 2006-01-25  Bruno Haible  <bruno@clisp.org>
82398
82399         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
82400         rid of a trap command. For Solaris sh.
82401         Reported by Mark D. Baushke <mdb@gnu.org>.
82402
82403 2006-01-24  Simon Josefsson  <jas@extundo.com>
82404
82405         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
82406         Bruno.
82407
82408 2006-01-24  Karl Berry  <karl@gnu.org>
82409
82410         * config/srclist.txt (argp-namefrob.h): sync lost.
82411
82412 2006-01-24  Jim Meyering  <jim@meyering.net>
82413
82414         * modules/openat (Files): Add lib/intprops.h.
82415         From Mark D. Baushke.
82416
82417 2006-01-24  Jim Meyering  <jim@meyering.net>
82418
82419         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
82420         Reported by Mark D. Baushke.
82421
82422 2006-01-24  Jim Meyering  <jim@meyering.net>
82423
82424         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
82425
82426 2006-01-24  Bruno Haible  <bruno@clisp.org>
82427
82428         * modules/strnlen (Maintainer): Change from glibc to all.
82429
82430 2006-01-24  Bruno Haible  <bruno@clisp.org>
82431
82432         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
82433         Patch by Paul Eggert.
82434
82435 2006-01-24  Bruno Haible  <bruno@clisp.org>
82436
82437         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
82438         already has it.
82439         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
82440         2005-11-26.
82441
82442         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
82443         'signed char' to avoid problems with the built-in _Bool type.
82444         Reported by Paul Eggert on 2005-11-26.
82445
82446 2006-01-24  Bruno Haible  <bruno@clisp.org>
82447
82448         * gnulib-tool (func_import): Avoid constructing complicated sed
82449         expressions inside backquote.
82450         Report and solution by Mark D. Baushke <mdb@gnu.org>.
82451
82452 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
82453
82454         These changes imported from libc.
82455         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
82456         test and two separate function calls.
82457         * lib/strndup.c (__strndup): Add libc_hidden_def.
82458
82459 2006-01-23  Simon Josefsson  <jas@extundo.com>
82460
82461         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
82462         Remove the test_*_SOURCES variable: automake infers it by default.
82463         * modules/tls-tests: Likewise.
82464
82465 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
82466
82467         Work around porting bugs reported by Dieter in
82468         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
82469         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
82470         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
82471         Include "getopt.h" first, to check interface.
82472         (getenv): Declare only if defined HAVE_DECL_GETENV &&
82473         !HAVE_DECL_GETENV.
82474         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
82475         (__strndup): Revert to K&R-style function dfns, the glibc style.
82476         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
82477         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
82478         Include strnlen.h first, to get prototype properly.
82479         (strnlen): Renamed from __strnlen.
82480         Remove weak alias.
82481
82482 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
82483
82484         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
82485
82486 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
82487
82488         * config/srclist.txt: Adjust to reflect glibc reorganization.
82489         This affects only comments.
82490
82491 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
82492
82493          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
82494          Reported by Bruce Korb <bkorb@gnu.org>.
82495
82496 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
82497
82498         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
82499         to pacify gcc -Wswitch-default.
82500
82501 2006-01-22  Bruno Haible  <bruno@clisp.org>
82502
82503         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
82504         temporary buffer for sprintf, take into account the precision also
82505         for 'd', 'i', 'u', 'o', 'x', 'X'.
82506
82507 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
82508
82509         * modules/argp-tests: New module
82510         * tests/test-argp.c: New file
82511         * tests/test-argp-2.sh: New file
82512
82513 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
82514
82515         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
82516         (__argp_base_name): Removed
82517         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
82518         typo.
82519         (__argp_base_name): Provide macro definition or extern declaration
82520         depending on the configuration
82521
82522 2006-01-20  Simon Josefsson  <jas@extundo.com>
82523
82524         * modules/inet_ntop (Depends-on): Depend on sys_socket.
82525
82526 2006-01-20  Simon Josefsson  <jas@extundo.com>
82527
82528         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
82529
82530 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
82531
82532         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
82533         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
82534         Suggested by Bruno Haible.
82535
82536 2006-01-20  Karl Berry  <karl@gnu.org>
82537
82538         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
82539         until changes propagate, I guess.
82540
82541 2006-01-19  Simon Josefsson  <jas@extundo.com>
82542
82543         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
82544
82545 2006-01-19  Simon Josefsson  <jas@extundo.com>
82546
82547         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
82548
82549 2006-01-19  Simon Josefsson  <jas@extundo.com>
82550
82551         * gnulib-tool: Set check_PROGRAMS.
82552
82553         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
82554         modules/des-tests, modules/gc-arcfour-tests,
82555         modules/gc-arctwo-tests, modules/gc-des-tests,
82556         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
82557         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
82558         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
82559         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
82560         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
82561         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
82562         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
82563         test_*_SOURCES.
82564
82565 2006-01-18  Simon Josefsson  <jas@extundo.com>
82566
82567         * modules/socklen (Depends-on): Depend on sys_socket.
82568
82569 2006-01-18  Simon Josefsson  <jas@extundo.com>
82570
82571         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
82572         modules/des-tests, modules/gc-arcfour-tests,
82573         modules/gc-arctwo-tests, modules/gc-des-tests,
82574         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
82575         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
82576         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
82577         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
82578         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
82579         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
82580         $(EXEEXT) to automake TESTS variable, for mingw32.
82581
82582 2006-01-17  Simon Josefsson  <jas@extundo.com>
82583
82584         * modules/socklen (Include): Need sys/socket.h.
82585
82586 2006-01-17  Bruno Haible  <bruno@clisp.org>
82587
82588         * modules/ssize_t (Include): Add <sys/types.h>.
82589
82590 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
82591
82592         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
82593         it's not portable and it doesn't work with cross-compiles.
82594         Problem reported by Bruno Haible.  Fix missing-$ typo in
82595         'test "gl_cv_ignore_unused_libraries" ...' that prevented
82596         -zignore from being used with Sun's C compiler.
82597
82598 2006-01-12  Simon Josefsson  <jas@extundo.com>
82599
82600         * lib/base64.c: Fix warning, reported by Bruno Haible
82601         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
82602
82603 2006-01-12  Bruno Haible  <bruno@clisp.org>
82604
82605         * modules/ldd: New file.
82606         * build-aux/ldd.sh.in: New file.
82607         * MODULES.html.sh (Support for building libraries and executables): Add
82608         ldd.
82609
82610 2006-01-12  Bruno Haible  <bruno@clisp.org>
82611
82612         * m4/ldd.m4: New file.
82613
82614 2006-01-12  Bruno Haible  <bruno@clisp.org>
82615
82616         * gnulib-tool (func_import, func_create_testdir): Don't go into an
82617         endless loop while replacing $auxdir with build-aux.
82618
82619 2006-01-11  Simon Josefsson  <jas@extundo.com>
82620
82621         * lib/stdint_.h (SIZE_MAX): Add missing (.
82622
82623 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
82624
82625         Sync from coreutils.
82626         * lib/md5.c: Fix commentary typos.
82627         (alignof, UNALIGNED_P): No need for a GCC-specific version.
82628         * lib/md5.h (__attribute__): Remove; unused.
82629         * lib/sha1.c: Fix commentary to match md5 better.
82630         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
82631         so that we don't need to worry about alignment.  All uses changed.
82632         This merges the 2005-10-28 md5 change into sha1.
82633
82634 2006-01-11  Jim Meyering  <jim@meyering.net>
82635
82636         Sync from coreutils.
82637         * lib/md5.c (OP): Fix spacing.
82638
82639 2006-01-11  Bruno Haible  <bruno@clisp.org>
82640
82641         Ensure automatic ordering between gl_LOCK and gl_ARGP.
82642         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
82643         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
82644
82645 2006-01-11  Bruno Haible  <bruno@clisp.org>
82646
82647         Ensure automatic ordering between gl_LOCK and gl_ARGP.
82648         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
82649         the "early" section as well.
82650
82651 2006-01-11  Bruno Haible  <bruno@clisp.org>
82652
82653         Avoid "ar: no archive members specified" error on MacOS X.
82654         * gnulib-tool (func_modules_add_dummy): New function.
82655         (func_import, func_create_testdir): Invoke it.
82656
82657 2006-01-11  Bruno Haible  <bruno@clisp.org>
82658
82659         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
82660         with $auxdir in AC_CONFIG_FILES statements.
82661
82662 2006-01-11  Bruno Haible  <bruno@clisp.org>
82663
82664         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
82665         Initialize also noinst_HEADERS to empty.
82666
82667 2006-01-11  Bruno Haible  <bruno@clisp.org>
82668
82669         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
82670         variables.
82671         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
82672         autoreconf.
82673
82674 2006-01-11  Bruno Haible  <bruno@clisp.org>
82675
82676         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
82677         overridable by the user.
82678         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
82679
82680 2006-01-10  Simon Josefsson  <jas@extundo.com>
82681
82682         * modules/sys_socket: New file.
82683
82684 2006-01-10  Simon Josefsson  <jas@extundo.com>
82685
82686         * m4/sys_socket_h.m4: New file.
82687
82688 2006-01-10  Simon Josefsson  <jas@extundo.com>
82689
82690         * lib/socket_.h: New file.
82691
82692 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
82693
82694         * modules/readutmp (Maintainer): Add myself.
82695
82696 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
82697
82698         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
82699         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
82700         People who are still concerned with buggy memcmp implementations
82701         can invoke gl_FUNC_MEMCMP themselves.
82702
82703 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
82704
82705         * lib/regex_internal.h (BITSET_WORD_BITS):
82706         Work around a bug in 64-bit PGC (before version 6.1-2), where the
82707         preprocessor mishandles large unsigned values as if they were signed.
82708         Problem reported by Claudio Fontana in
82709         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
82710
82711 2006-01-10  Jim Meyering  <jim@meyering.net>
82712
82713         Avoid the double-free (first in fts_read, second in fts_close) that
82714         would occur when an `active' directory is made inaccessible (e.g.,
82715         via chmod a-x) during a traversal.
82716         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
82717         before returning.  Reproduce this failure by
82718         mkdir -p a/b; cd a; chmod a-x . b
82719         Reported by Stavros Passas.
82720
82721         Sync from coreutils.
82722         * lib/sha1.c: Tweak grammar in a comment.
82723
82724 2006-01-10  Jim Meyering  <jim@meyering.net>
82725
82726         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
82727         Patch by Joerg Sonnenberger.
82728
82729 2006-01-10  Bruno Haible  <bruno@clisp.org>
82730
82731         * modules/readutmp: Depend on module free.
82732         * modules/strtok_r: Depend on module restrict.
82733
82734 2006-01-10  Bruno Haible  <bruno@clisp.org>
82735
82736         * modules/gettext (configure.ac): Add an invocation of
82737         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
82738
82739 2006-01-10  Bruno Haible  <bruno@clisp.org>
82740
82741         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
82742         Reported by Werner Lemberg <wl@gnu.org>.
82743
82744 2006-01-10  Bruno Haible  <bruno@clisp.org>
82745
82746         * lib/localcharset.c: Update from GNU gettext.
82747
82748 2006-01-10  Bruno Haible  <bruno@clisp.org>
82749
82750         * lib/argp.h (__const): Remove macro. Use const instead.
82751         * lib/argp-fmtstream.h (__const): Likewise.
82752         * lib/glob_.h (__const): Remove macro.
82753         * lib/glob-libc.h: Use const instead of __const.
82754
82755 2006-01-10  Bruno Haible  <bruno@clisp.org>
82756
82757         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
82758         variable.
82759         Needed to avoid an automake error regarding the 'gettext' module.
82760
82761 2006-01-09  Simon Josefsson  <jas@extundo.com>
82762
82763         * modules/inet_ntop (Depends-on): Add restrict.
82764
82765 2006-01-09  Simon Josefsson  <jas@extundo.com>
82766
82767         * modules/gc-rijndael-tests (License): Put under LGPL.
82768
82769         * modules/gc-des-tests (License): Likewise.
82770
82771         * modules/gc-arcfour-tests (License): Likewise.
82772
82773         * modules/gc-arctwo-tests (License): Likewise.
82774
82775         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
82776
82777         * modules/gc-hmac-sha1-tests (Files): Likewise.
82778
82779         * modules/gc-hmac-md5-tests (License): Likewise.
82780
82781         * modules/gc-sha1-tests (License): Likewise.
82782
82783         * modules/gc-md5-tests (License): Likewise.
82784
82785         * modules/gc-md4-tests (License): Likewise.
82786
82787         * modules/gc-md2-tests (License): Likewise.
82788
82789         * modules/gc-tests (License): Likewise.
82790
82791         * modules/des-tests (License): Likewise.
82792
82793         * modules/md4-tests (License): Likewise.
82794
82795         * modules/md2-tests (License): Likewise.
82796
82797 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
82798
82799         Sync from coreutils:
82800
82801         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
82802         * modules/lib-ignore: New file.
82803         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
82804         chdir-safer.m4, lchmod.m4.
82805         * modules/openat: Add mkdirat.c, openat-priv.h.
82806
82807 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
82808
82809         Sync from coreutils.
82810         * m4/lib-ignore.m4: New file.
82811         * m4/lchmod.m4: New file.
82812
82813 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
82814
82815         Sync from coreutils.
82816         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
82817         for write access: POSIX says that must fail.
82818         * lib/fts.c (diropen): Likewise.
82819         * lib/save-cwd.c (save_cwd): Likewise.
82820         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
82821         well, for minor improvements on hosts that lack O_DIRECTORY.
82822         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
82823         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
82824         Fall back on chown if open failed with EACCES.
82825
82826         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
82827         Report an error at compile-time if only a 1-second nominal clock
82828         resolution is found.
82829
82830         * lib/lchmod.h: New file.
82831         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
82832         (make_dir_parents): Use lchown rather than chown, and
82833         lchmod rather than chmod.
82834
82835         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
82836         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
82837         "proc" reported by n0dalus.
82838
82839         * lib/mountlist.c: Include <limits.h>.
82840         (dev_from_mount_options)
82841         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
82842         New function.  It no longer assumes "dev=" has the System V meaning
82843         on Linux (since it doesn't).  It also parses "dev=" more carefully.
82844         (read_file_system_list)
82845         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
82846         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
82847         dev= in that case.
82848
82849         * lib/posixtm.h (PDS_PRE_2000): New macro.
82850         * lib/posixtm.c (year): Arg is now syntax_bits rather than
82851         allow_century.  All usages changed.  Reject dates outside the range
82852         1969-1999 if PDS_PRE_2000 is used.
82853
82854 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
82855
82856         Sync from coreutils.
82857         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
82858         (Time of day items): Mention the possibility of leap seconds.
82859         Problem reported by Dr. David Alan Gilbert.
82860
82861 2006-01-09  Jim Meyering  <jim@meyering.net>
82862
82863         Sync from coreutils.
82864
82865         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
82866
82867         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
82868
82869         * lib/modechange.c (mode_compile): Reject an invalid mode string
82870         that starts with an octal digit.  From Andreas Gruenbacher.
82871
82872         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
82873         and dup to open_safer and dup_safer, respectively.
82874         (openat_permissive): Fix typo in comment.
82875
82876         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
82877         "gettext.h"; either no longer needed or are guaranteed by openat.h.
82878         (_): Remove; no longer needed.
82879         (openat): Renamed from rpl_openat; no need for rpl_openat
82880         since openat.h renames openat for us.
82881         Replace most of the body with a call to openat_permissive,
82882         to avoid duplicate code.
82883         Port to (probably hypothetical) environments were mode_t is
82884         wider than int.
82885         (openat_permissive): Require mode arg, so that we can check
82886         types better.  Put it just after flags.  Change cwd failure
82887         indicator from pointer-to-bool to pointer-to-errno-value.
82888         All callers changed.
82889         Invoke openat_save_fail and/or openat_restore_fail if
82890         cwd_errno is null, so that openat can call us.
82891         (openat_permissive, fdopendir, fstatat, unlinkat):
82892         Simplify errno handling to avoid some duplicate code,
82893         as it's OK to set errno on success.
82894         * lib/openat.h: Revamp code so that function macros depend on
82895         __OPENAT_PREFIX only, not also on AT_FDCWD.
82896         (openat_ro): Remove.  Caller changed to use openat_permissive.
82897         (openat_permissive): Now a macro, if not a function.
82898         (openat_restore_fail, openat_save_fail): Now always functions,
82899         since mkdirat needs them even if __OPENAT_PREFIX is defined.
82900
82901         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
82902         and openat.c.
82903         * lib/mkdirat.c: Include openat-priv.h.
82904         Remove definitions of macros defined therein.
82905         * lib/openat.c: Likewise.
82906
82907         * lib/mkdirat.c (mkdirat): New file and function.
82908         * lib/openat.h (mkdirat): Declare.
82909
82910         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
82911
82912         * lib/openat.h (openat_permissive): Declare.
82913         (openat_ro): Define.
82914
82915         * lib/openat.c (EXPECTED_ERRNO): New macro.
82916         (openat_permissive): New function -- used in remove.c rewrite.
82917         (all functions): Set errno just before returning, only if there
82918         was an actual failure.
82919         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
82920
82921         Emulate openat-family functions using Linux's procfs, if possible.
82922         Idea and some code based on Ulrich Drepper's glibc changes.
82923
82924         * lib/openat.c: (BUILD_PROC_NAME): New macro.
82925         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
82926         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
82927         before falling back on save_cwd and restore_cwd.
82928         (fdopendir, fstatat, unlinkat): Likewise.
82929
82930         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
82931         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
82932
82933         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
82934         as second argument to va_arg.  Otherwise, some versions of gcc
82935         warn that `if this code is reached, the program will abort'.
82936
82937 2006-01-09  Jim Meyering  <jim@meyering.net>
82938
82939         Sync from coreutils.
82940         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
82941         Require openat-priv.h.
82942
82943 2006-01-09  Bruno Haible  <bruno@clisp.org>
82944
82945         * modules/strnlen (Include): Use strnlen.h.
82946
82947 2006-01-09  Bruno Haible  <bruno@clisp.org>
82948
82949         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
82950
82951 2006-01-09  Bruno Haible  <bruno@clisp.org>
82952
82953         * lib/sysexit_.h (EX_OK): New macro.
82954         Suggested by Martin Lambers <marlam@marlam.de>.
82955
82956 2006-01-09  Bruno Haible  <bruno@clisp.org>
82957
82958         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
82959         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
82960
82961 2006-01-09  Bruno Haible  <bruno@clisp.org>
82962
82963         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
82964         numbers.
82965
82966 2006-01-09  Bruno Haible  <bruno@clisp.org>
82967
82968         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
82969         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
82970         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
82971         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
82972
82973 2006-01-09  Bruno Haible  <bruno@clisp.org>
82974
82975         * build-aux/javacomp.sh.in: New file, moved from lib/.
82976         * modules/javacomp-script (Files): Update.
82977         (configure.ac): Add AC_CONFIG_FILES invocation.
82978         (EXTRA_DIST): Remove variable.
82979
82980         * build-aux/javaexec.sh.in: New file, moved from lib/.
82981         * modules/javaexec (Files): Update.
82982         (configure.ac): Add AC_CONFIG_FILES invocation.
82983         (EXTRA_DIST): Remove javaexec.sh.in.
82984
82985         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
82986         * modules/csharpcomp-script (Files): Update.
82987         (configure.ac): Add AC_CONFIG_FILES invocation.
82988         (EXTRA_DIST): Remove variable.
82989
82990         * build-aux/csharpexec.sh.in: New file, moved from lib/.
82991         * modules/csharpexec (Files): Update.
82992         (configure.ac): Add AC_CONFIG_FILES invocation.
82993         (EXTRA_DIST): Remove csharpexec.sh.in.
82994
82995 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
82996
82997         Sync from coreutils.
82998
82999         Add POSIX ACL support
83000         * lib/acl.h (copy_acl, set_acl): Add declarations.
83001         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
83002         systems other than Linux.
83003         (chmod_or_fchmod): New function: use fchmod when possible,
83004         and chmod otherwise.
83005         (file_has_acl): Add a POSIX ACL implementation, with a
83006         Linux-specific subcase.
83007         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
83008         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
83009         acls are unsupported.
83010         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
83011         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
83012         are unsupported.
83013
83014 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
83015
83016         Sync from coreutils.
83017         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
83018
83019 2006-01-07  Bruno Haible  <bruno@clisp.org>
83020
83021         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
83022         gl_EARLY.
83023
83024 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
83025
83026         * lib/strftime.c (tzname): Don't declare if it is already #defined.
83027         Problem reported for Mingw by Mark Junker.
83028
83029 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
83030
83031         * README: Gnulib normally doesn't generate a tarball.
83032
83033 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
83034
83035         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
83036         long int, not int, for nanosecond counts, so that people who are
83037         used to POSIX struct timespec won't be surprised.  Reported by Jim
83038         Meyering.
83039
83040 2005-12-28  Bruno Haible  <bruno@clisp.org>
83041
83042         * build-aux/config.rpath: Update from GNU gettext.
83043
83044 2005-12-16  Jim Meyering  <jim@meyering.net>
83045
83046         * modules/fprintftime: New module.
83047         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
83048
83049 2005-12-16  Jim Meyering  <jim@meyering.net>
83050
83051         * m4/fprintftime.m4: New file.
83052
83053 2005-12-16  Jim Meyering  <jim@meyering.net>
83054
83055         * lib/fprintftime.c, lib/fprintftime.h: New files.
83056
83057 2005-12-15  Simon Josefsson  <jas@extundo.com>
83058
83059         * modules/socklen (configure.ac): Fix M4 macro name, to align with
83060         new m4/socklen.m4.
83061
83062 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
83063
83064         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
83065         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
83066
83067 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
83068
83069         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
83070         * lib/argp-help.c (fill_in_uparams): Check if the constructed
83071         struct uparams is valid. Fall back to the default values if it is
83072         not.
83073
83074 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
83075
83076         * modules/argp (Files): Add argp-pin.c
83077         (Depends-on): dirname
83078         (lib_SOURCES): Add argp-pin.c
83079
83080 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
83081
83082         * m4/argp.m4:  Check if program_invocation_name and
83083         program_invocation_short_name are declared and define appropriate
83084         macros if they are not.
83085
83086 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
83087
83088         * lib/argp-help.c (__argp_base_name): New function
83089         (__argp_short_program_name): Rewrite using __argp_base_name
83090         * lib/argp-namefrob.h: Define program_invocation_name and
83091         program_invocation_short_name if requested
83092         (__argp_base_name): Add prototype
83093         * lib/argp-parse.c (argp_def): Use gettext wrappers
83094         (argp_default_parser): Use __argp_base_name
83095         * lib/argp-pin.c: New file. Defines program_invocation_name and
83096         program_invocation_short_name on systems that lack them.
83097
83098 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
83099
83100         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
83101         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
83102         porting problem reported by Georg Schwarz in
83103         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
83104
83105 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
83106
83107         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
83108         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
83109         porting problem reported by Georg Schwarz in
83110         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
83111
83112 2005-12-05  Bruno Haible  <bruno@clisp.org>
83113
83114         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
83115         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
83116         Reported by Mark Junker <mjscod@gmx.de>.
83117
83118 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
83119
83120         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
83121         Use implementation from Albert Chin, with some
83122         comments/corrections by Stepan Kasal and myself.
83123
83124 2005-12-02  Bruno Haible  <bruno@clisp.org>
83125
83126         * gnulib-tool (func_import): Accept GPLed build tool modules when
83127         --lgpl is given.
83128         * modules/csharpcomp-script: New file.
83129         * modules/csharpcomp: Depend on it.
83130         * modules/javacomp-script: New file.
83131         * modules/javacomp: Depend on it.
83132         Suggested by Simon Josefsson.
83133
83134 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
83135
83136         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
83137         statement, to work around an HP-UX 10.20 compiler bug reported by
83138         Peter O'Gorman.
83139
83140 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
83141
83142         * modules/savedir (Depends-on): Add openat.
83143
83144 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
83145
83146         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
83147         (uintmax_t) [defined uintmax_t]: Do not declare.
83148         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
83149         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
83150         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
83151         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
83152         sake of portability to weird hosts that C allows (though we don't
83153         know of any practical examples).
83154
83155         * lib/savedir.h (fdsavedir): New decl.
83156         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
83157         contains most of the former guts of savedir.
83158         (savedir): Use savedirstream.
83159         Include "openat.h".
83160
83161 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
83162
83163         * modules/obstack (Files): Add m4/ulonglong.m4.
83164         Problem reported by Davide Angelocola.
83165
83166 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
83167
83168         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
83169         coreutils no longer futzes with rounding modes.
83170
83171 2005-11-14  Jim Meyering  <jim@meyering.net>
83172
83173         * lib/mkstemp-safer.c: Include <config.h>, required for possible
83174         replacement of mkstemp.
83175
83176 2005-11-10  Simon Josefsson  <jas@extundo.com>
83177
83178         * lib/readline.c: Remove EOL.
83179
83180 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
83181
83182         * modules/gethrxtime (Depends-on): Add gettime.
83183
83184 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
83185
83186         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
83187         or gettimeofday; no longer needed.
83188
83189 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
83190
83191         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
83192         time business.
83193         (gethrxtime) [! (HAVE_NANOUPTIME
83194         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
83195         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
83196         our own approximation.
83197
83198 2005-11-08  Eric Blake  <ebb9@byu.net>
83199
83200         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
83201
83202 2005-11-08  Eric Blake  <ebb9@byu.net>
83203
83204         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
83205
83206 2005-11-04  Bruno Haible  <bruno@clisp.org>
83207
83208         * gnulib-tool: Implement --update mode.
83209
83210 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
83211
83212         Fix porting problem reported by Theodoros V. Kalamatianos.
83213         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
83214         Don't assume that futimes failing means we must fail.
83215
83216 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
83217
83218         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
83219         variables to suggest the intended function of the PATH_MAX check.
83220
83221 2005-10-30  Kean Johnston  <jkj@sco.com>
83222
83223         Trivial changes to support SCO systems.
83224         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
83225         as PATH_MAX.
83226         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
83227         where __ptr is null when no I/O is pending.
83228
83229 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
83230
83231         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
83232         leave errno alone.  Problem reported by Dmitry V. Levin.
83233
83234 2005-10-28  Simon Josefsson  <jas@extundo.com>
83235
83236         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
83237         Test more.
83238
83239         * tests/test-gc-md2.c, tests/test-md2.c: New files.
83240
83241         * modules/md2, modules/md2-tests: New files.
83242
83243 2005-10-28  Simon Josefsson  <jas@extundo.com>
83244
83245         * m4/inet_ntop.m4: More tests.
83246
83247         * m4/gc-md2.m4, md2.m4: New file.
83248
83249 2005-10-28  Simon Josefsson  <jas@extundo.com>
83250
83251         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
83252         "restrict" keywords, as per POSIX.  Protect the function
83253         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
83254         Don't use K&R prototypes.  Check the sprintf return values.
83255         Re-define EAFNOSUPPORT if not present.  Indent.
83256
83257         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
83258         suggested by Bruno Haible <bruno@clisp.org>.
83259
83260         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
83261
83262         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
83263
83264         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
83265         libgcrypt).
83266
83267         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
83268
83269         * lib/md2.h, lib/md2.c: New files.
83270
83271 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
83272
83273         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
83274         errno alone.  Problem reported by Frederic Jolliton.
83275
83276 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
83277
83278         * modules/verify (License): Change from GPL to LGPL.  This is a
83279         tiny module and there are apparently near-equivalents that are
83280         under the BSD license.
83281
83282 2005-10-24  Simon Josefsson  <jas@extundo.com>
83283
83284         * modules/sha1: Relicense to LGPL.
83285
83286 2005-10-24  Simon Josefsson  <jas@extundo.com>
83287
83288         * lib/md4.h: Shrink buffer size, now that we changed the type.
83289
83290 2005-10-23  Simon Josefsson  <jas@extundo.com>
83291
83292         * gnulib-tool (func_import): Fix --tests-base.
83293
83294 2005-10-22  Simon Josefsson  <jas@extundo.com>
83295
83296         * modules/arcfour (Depends-on): Need stdint.
83297
83298 2005-10-22  Simon Josefsson  <jas@extundo.com>
83299
83300         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
83301         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
83302
83303 2005-10-22  Simon Josefsson  <jas@extundo.com>
83304
83305         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
83306         suggested by Bruno Haible <bruno@clisp.org>.
83307
83308 2005-10-22  Simon Josefsson  <jas@extundo.com>
83309
83310         * lib/crc.h: Include stddef.h, for size_t.
83311
83312 2005-10-22  Simon Josefsson  <jas@extundo.com>
83313
83314         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
83315         arcfour_context struct (simplify test vector testing in GNU
83316         Shishi).
83317
83318 2005-10-21  Simon Josefsson  <jas@extundo.com>
83319
83320         * modules/des, modules/des-tests: New files.
83321
83322         * modules/gc-des, modules/gc-des-tests: New files.
83323
83324         * tests/test-des.c, tests/test-gc-des.c: New file.
83325
83326 2005-10-21  Simon Josefsson  <jas@extundo.com>
83327
83328         * modules/arctwo, modules/arctwo-tests: New files.
83329
83330         * tests/test-arctwo.c: New file.
83331
83332         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
83333
83334         * tests/test-gc-arctwo.c: New file.
83335
83336 2005-10-21  Simon Josefsson  <jas@extundo.com>
83337
83338         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
83339         Bruno Haible <bruno@clisp.org>.
83340
83341         * m4/gc-des.m4: New file.
83342
83343 2005-10-21  Simon Josefsson  <jas@extundo.com>
83344
83345         * m4/arctwo.m4: New file.
83346
83347         * m4/gc-arctwo.m4: New file.
83348
83349 2005-10-21  Simon Josefsson  <jas@extundo.com>
83350
83351         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
83352         block.
83353
83354 2005-10-21  Simon Josefsson  <jas@extundo.com>
83355
83356         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
83357         <bruno@clisp.org>.
83358
83359         * lib/hmac-sha1.c (hmac_sha1): Likewise.
83360
83361         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
83362         Bruno Haible <bruno@clisp.org>.
83363
83364         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
83365         <bruno@clisp.org>.
83366
83367 2005-10-21  Simon Josefsson  <jas@extundo.com>
83368
83369         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
83370
83371 2005-10-21  Simon Josefsson  <jas@extundo.com>
83372
83373         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
83374
83375 2005-10-21  Simon Josefsson  <jas@extundo.com>
83376
83377         * lib/des.h, lib/des.c: New files.
83378
83379         * lib/gc-gnulib.c: Support DES.c
83380
83381 2005-10-21  Simon Josefsson  <jas@extundo.com>
83382
83383         * lib/arctwo.h, lib/arctwo.c: New files.
83384
83385         * lib/gc-gnulib.c: Support ARCTWO.
83386
83387 2005-10-21  Simon Josefsson  <jas@extundo.com>
83388
83389         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
83390         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
83391
83392 2005-10-21  Simon Josefsson  <jas@extundo.com>
83393
83394         * gnulib-tool (func_import, func_create_testdir): Define automake
83395         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
83396         Makefile.am snippet),
83397         suggested by Bruno Haible <bruno@clisp.org>.
83398
83399         * modules/gc (Makefile.am): Use it.
83400
83401 2005-10-21  Bruno Haible  <bruno@clisp.org>
83402
83403         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
83404         patch.
83405
83406 2005-10-19  Simon Josefsson  <jas@extundo.com>
83407
83408         * tests/test-gc-rijndael.c: New file.
83409
83410         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
83411
83412 2005-10-19  Simon Josefsson  <jas@extundo.com>
83413
83414         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
83415         interface too.
83416
83417 2005-10-19  Simon Josefsson  <jas@extundo.com>
83418
83419         * tests/test-gc-arcfour.c: New file.
83420
83421         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
83422
83423 2005-10-19  Simon Josefsson  <jas@extundo.com>
83424
83425         * modules/gc-md4, modules/gc-md4-tests: New file.
83426
83427         * tests/test-gc-md4.c: New file.
83428
83429 2005-10-19  Simon Josefsson  <jas@extundo.com>
83430
83431         * m4/gc-md4.m4: New file.
83432
83433 2005-10-19  Simon Josefsson  <jas@extundo.com>
83434
83435         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
83436         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
83437         <kasal@ucw.cz>.
83438
83439 2005-10-19  Simon Josefsson  <jas@extundo.com>
83440
83441         * m4/gc-arcfour.m4: New file.
83442
83443         * m4/gc-rijndael.m4: New file.
83444
83445 2005-10-19  Simon Josefsson  <jas@extundo.com>
83446
83447         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
83448
83449 2005-10-19  Simon Josefsson  <jas@extundo.com>
83450
83451         * lib/gc-gnulib.c: Support ARCFOUR.
83452
83453 2005-10-19  Simon Josefsson  <jas@extundo.com>
83454
83455         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
83456         support.
83457
83458         * lib/gc.h: Add ECB enum type.
83459
83460         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
83461
83462 2005-10-18  Simon Josefsson  <jas@extundo.com>
83463
83464         * tests/test-md5.c: New file.
83465
83466         * modules/md5-tests: New file.
83467
83468 2005-10-18  Simon Josefsson  <jas@extundo.com>
83469
83470         * tests/test-md4.c: New file.
83471
83472         * modules/md4, modules/md4-tests: New files.
83473
83474 2005-10-18  Simon Josefsson  <jas@extundo.com>
83475
83476         * m4/md4.m4: New file.
83477
83478 2005-10-18  Simon Josefsson  <jas@extundo.com>
83479
83480         * lib/md4.h, lib/md4.c: New files, based on md5.?.
83481
83482 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
83483
83484         * gnulib-tool (func_create_testdir): Omit the second check whether
83485         BUILT_SOURCES in nonempty.
83486
83487 2005-10-17  Simon Josefsson  <jas@extundo.com>
83488
83489         * tests/test-rijndael.c: New file.
83490
83491 2005-10-17  Simon Josefsson  <jas@extundo.com>
83492
83493         * modules/sha1: Depend on stdint instead of md5.
83494
83495         * modules/md5: Depend on stdint, remove uint32_t.
83496
83497 2005-10-17  Simon Josefsson  <jas@extundo.com>
83498
83499         * modules/gc-sha1-tests: New file.
83500
83501         * tests/test-gc-sha1.c: New file.
83502
83503 2005-10-17  Simon Josefsson  <jas@extundo.com>
83504
83505         * m4/md5.m4: Remove call to uint32_t.m4.
83506
83507 2005-10-17  Simon Josefsson  <jas@extundo.com>
83508
83509         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
83510
83511         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
83512         md5.h.
83513
83514         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
83515
83516         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
83517
83518 2005-10-17  Simon Josefsson  <jas@extundo.com>
83519
83520         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
83521
83522 2005-10-17  Simon Josefsson  <jas@extundo.com>
83523
83524         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
83525
83526 2005-10-17  Simon Josefsson  <jas@extundo.com>
83527
83528         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
83529
83530         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
83531
83532 2005-10-17  Bruno Haible  <bruno@clisp.org>
83533
83534         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
83535         that it can also be used in a test.
83536
83537 2005-10-16  Bruno Haible  <bruno@clisp.org>
83538
83539         * gnulib-tool (func_emit_tests_Makefile_am): Also define
83540         TESTS_ENVIRONMENT, so that individual tests can augment it.
83541
83542         * gnulib-tool (func_create_testdir): Use an intermediate target for
83543         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
83544         macros, like $(ALLOCA_H), which cannot be passed through the command
83545         line.
83546
83547 2005-10-15  Simon Josefsson  <jas@extundo.com>
83548
83549         * modules/rijndael-tests: New file.
83550
83551         * modules/rijndael: New file.
83552
83553 2005-10-15  Simon Josefsson  <jas@extundo.com>
83554
83555         * m4/rijndael.m4: New file.
83556
83557 2005-10-15  Simon Josefsson  <jas@extundo.com>
83558
83559         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
83560
83561         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
83562
83563 2005-10-14  Simon Josefsson  <jas@extundo.com>
83564
83565         * tests/test-arcfour.c: New file.
83566
83567         * modules/arcfour, modules/arcfour-tests: New files.
83568
83569 2005-10-14  Simon Josefsson  <jas@extundo.com>
83570
83571         * m4/arcfour.m4: New file.
83572
83573 2005-10-14  Simon Josefsson  <jas@extundo.com>
83574
83575         * lib/arcfour.h, lib/arcfour.c: New files.
83576
83577 2005-10-14  Roland McGrath  <roland@redhat.com>
83578
83579         Import from libc.  [BZ #1331]
83580         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
83581         macro argument.
83582         Reported by Matej Vela <vela@debian.org>.
83583
83584 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
83585
83586         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
83587         include <wchar.h>; no longer needed.
83588
83589 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
83590
83591         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
83592
83593 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
83594         and  Ulrich Drepper  <drepper@redhat.com>
83595
83596         Import from libc.
83597         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
83598         instead of inline stream orientation test and two separate
83599         function calls.  Pay no attention to USE_IN_LIBIO.
83600
83601 2005-10-13  Simon Josefsson  <jas@extundo.com>
83602
83603         * modules/gc-hmac-md5-tests: New file.
83604
83605         * tests/test-gc-hmac-sha1.c: New file.
83606
83607         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
83608
83609         * modules/gc-hmac-md5-tests: New file.
83610
83611         * tests/test-gc-md5.c: New file.
83612
83613         * modules/gc-md5-tests: New file.
83614
83615 2005-10-13  Simon Josefsson  <jas@extundo.com>
83616
83617         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
83618         Move memory allocation outside of loop.
83619
83620 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
83621
83622         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
83623         intermediate directory is in a read-only file system.  Problem
83624         reported by Eric Blake.
83625
83626 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
83627
83628         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
83629
83630 2005-10-12  Simon Josefsson  <jas@extundo.com>
83631
83632         * tests/test-hmac-sha1.c: New file.
83633
83634         * modules/hmac-sha1-tests: New file.
83635
83636         * modules/hmac-sha1: New file.
83637
83638 2005-10-12  Simon Josefsson  <jas@extundo.com>
83639
83640         * modules/gc-sha1: New file.
83641
83642 2005-10-12  Simon Josefsson  <jas@extundo.com>
83643
83644         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
83645
83646         * tests/test-gc-pbkdf2-sha1.c: New file.
83647
83648 2005-10-12  Simon Josefsson  <jas@extundo.com>
83649
83650         * modules/gc-md5, modules/gc-hmac-md5: New files.
83651
83652         * modules/gc (Files): Remove md5, memxor and hmac files.
83653
83654 2005-10-12  Simon Josefsson  <jas@extundo.com>
83655
83656         * m4/gc-pbkdf2-sha1.m4: New file.
83657
83658         * m4/gc-hmac-sha1.m4: New file.
83659
83660         * m4/gc-sha1: New file.
83661
83662         * m4/hmac-sha1.m4: New file.
83663
83664 2005-10-12  Simon Josefsson  <jas@extundo.com>
83665
83666         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
83667
83668         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
83669
83670 2005-10-12  Simon Josefsson  <jas@extundo.com>
83671
83672         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
83673         suggested by Bruno Haible <bruno@clisp.org>.
83674
83675 2005-10-12  Simon Josefsson  <jas@extundo.com>
83676
83677         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
83678
83679 2005-10-12  Simon Josefsson  <jas@extundo.com>
83680
83681         * lib/gc-pbkdf2-sha1.c: New file.
83682
83683         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
83684
83685 2005-10-12  Simon Josefsson  <jas@extundo.com>
83686
83687         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
83688
83689         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
83690
83691 2005-10-12  Simon Josefsson  <jas@extundo.com>
83692
83693         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
83694         GC_USE_HMAC_MD5, respectively.
83695
83696         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
83697         (gc_md5): Fix typo.
83698
83699         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
83700
83701         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
83702
83703         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
83704
83705 2005-10-12  Bruno Haible  <bruno@clisp.org>
83706
83707         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
83708         Reported by Stepan Kasal <kasal@ucw.cz>.
83709
83710 2005-10-11  Simon Josefsson  <jas@extundo.com>
83711
83712         * tests/test-crc.c: New file.
83713
83714         * modules/crc, modules/crc-tests: New files.
83715
83716 2005-10-11  Simon Josefsson  <jas@extundo.com>
83717
83718         * m4/crc.m4: New file.
83719
83720 2005-10-11  Simon Josefsson  <jas@extundo.com>
83721
83722         * lib/gc.h: Add gc_hash and gc_hash_buffer.
83723
83724         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
83725
83726         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
83727
83728 2005-10-11  Simon Josefsson  <jas@extundo.com>
83729
83730         * lib/crc.h, lib/crc.c: New files.
83731
83732         * lib/gc.h (gc_hash_buffer): Add doc.
83733
83734 2005-10-11  Bruno Haible  <bruno@clisp.org>
83735
83736         * modules/c-strcasestr: New file.
83737         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
83738
83739 2005-10-11  Bruno Haible  <bruno@clisp.org>
83740
83741         * modules/c-strcase: New file.
83742         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
83743
83744 2005-10-11  Bruno Haible  <bruno@clisp.org>
83745
83746         * lib/strcasecmp.c: Include limits.h.
83747         (strcasecmp): Avoid integer overflow on exotic platforms.
83748         * lib/strncasecmp.c: Include limits.h.
83749         (strncasecmp): Avoid integer overflow on exotic platforms.
83750         Reported by Paul Eggert.
83751
83752 2005-10-11  Bruno Haible  <bruno@clisp.org>
83753
83754         * lib/c-strcasestr.h: New file, from GNU gettext.
83755         * lib/c-strcasestr.c: New file, from GNU gettext.
83756
83757 2005-10-11  Bruno Haible  <bruno@clisp.org>
83758
83759         * lib/c-strcase.h: New file, from GNU gettext.
83760         * lib/c-strcasecmp.c: New file, from GNU gettext.
83761         * lib/c-strncasecmp.c: New file, from GNU gettext.
83762
83763 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
83764
83765         * modules/mempcpy (License): GPL -> LGPL.
83766         * modules/strchrnul (License): Likewise.
83767         * modules/sysexits (License): Likewise.
83768
83769 2005-10-08  Simon Josefsson  <jas@extundo.com>
83770
83771         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
83772
83773 2005-10-07  Simon Josefsson  <jas@extundo.com>
83774
83775         * m4/memxor.m4: Remove gl_C_RESTRICT call.
83776
83777 2005-10-06  Simon Josefsson  <jas@extundo.com>
83778
83779         * tests/test-hmac-md5.c: New file.
83780
83781         * modules/hmac-md5-tests: New file.
83782
83783         * modules/hmac-md5: New file.
83784
83785 2005-10-06  Simon Josefsson  <jas@extundo.com>
83786
83787         * m4/hmac-md5.m4: New file.
83788
83789         * m4/memxor.m4: Require gl_C_RESTRICT.
83790
83791 2005-10-06  Simon Josefsson  <jas@extundo.com>
83792
83793         * lib/memxor.c (memxor): Avoid casts and warnings.
83794
83795 2005-10-06  Simon Josefsson  <jas@extundo.com>
83796
83797         * lib/hmac-md5.c: New file.
83798
83799         * lib/hmac.h: New file.
83800
83801 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
83802
83803         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
83804         promotes to int, not unsigned int, to catch the AIX 5.3
83805         compiler bug.
83806
83807 2005-10-05  Simon Josefsson  <jas@extundo.com>
83808
83809         * modules/memxor: New file.
83810
83811         * modules/iconv (Files): Move config.rpath to havelib, it is used
83812         there.
83813
83814         * modules/havelib (Files): Add config.rpath.
83815
83816 2005-10-05  Simon Josefsson  <jas@extundo.com>
83817
83818         * m4/memxor.m4: New file.
83819
83820 2005-10-05  Simon Josefsson  <jas@extundo.com>
83821
83822         * lib/memxor.c (memxor): Fix compiler error.
83823
83824         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
83825         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
83826
83827         * lib/memxor.h, lib/memxor.c: New files.
83828
83829         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
83830         we assume all systems have it, suggested by Jim Meyering
83831         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
83832         any systems lack sys/socket.h; mingw32 is known to lack it, but we
83833         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
83834         same reasons.
83835
83836 2005-10-05  Simon Josefsson  <jas@extundo.com>
83837
83838         * config/srclist.txt: Add glibc bug 1423 for md5.h.
83839
83840 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
83841
83842         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
83843         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
83844         needed, since the source code now assumes these .h files.
83845
83846 2005-10-05  Derek Price  <derek@ximbiot.com>
83847
83848         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
83849
83850 2005-10-05  Bruno Haible  <bruno@clisp.org>
83851
83852         * modules/stdint (License): Change to LGPL.
83853
83854 2005-10-04  Simon Josefsson  <jas@extundo.com>
83855
83856         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
83857         D. Baushke" <mdb@gnu.org>.
83858
83859 2005-10-04  Bruno Haible  <bruno@clisp.org>
83860
83861         * lib/verify.h (verify_true): Provide alternative definition for C++.
83862
83863 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
83864
83865         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
83866         (SSIZE_MAX): New macro, if not already defined.
83867         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
83868         than 2 GiB.
83869
83870 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
83871
83872         Sync from coreutils.
83873         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
83874         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
83875         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
83876         ULLONG_MAX doesn't work with 2.7.2.1.
83877
83878 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
83879
83880         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
83881         From Ben Pfaff.
83882
83883         * modules/exclude (Depends-on): Depend on verify.
83884         * modules/strtoimax (Depends-on): Likewise.
83885         * modules/utimecmp (Depends-on): Likewise.
83886
83887 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
83888
83889         * lib/exclude.c: Include verify.h.
83890         (verify): Remove.  All callers changed to use verify.h's version.
83891         * lib/strtoimax.c: Likewise.
83892         * lib/utimecmp.c: Likewis.e
83893
83894         Sync from coreutils.
83895         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
83896         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
83897         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
83898         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
83899         bother returning ENOSYS if settimeofday or stime fails; just let
83900         them return whatever errno they want to return.
83901         * lib/utimens.c: Include unistd.h, for dup2.
83902         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
83903         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
83904
83905 2005-10-02  Jim Meyering  <jim@meyering.net>
83906
83907         Sync from coreutils.
83908         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
83909         from glibc-2.2.5 that fails for read-only files.
83910
83911 2005-10-02  Jim Meyering  <jim@meyering.net>
83912
83913         Sync from coreutils.
83914         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
83915         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
83916         `#if HAVE_CONFIG_H'.
83917         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
83918         Remove AT_FDCWD test.
83919         Do not consume the fd unless successful.
83920         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
83921         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
83922         block, so that we don't even try to compile it if settimeofday is
83923         available.  This works around a compilation failure on OSF1 V5.1,
83924         due to stime requiring a `long int*' while tv_sec is `int'.
83925
83926 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
83927
83928         Sync from coreutils.
83929         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
83930         against `yes', rather than just testing for nonempty.
83931
83932 2005-10-01  Simon Josefsson  <jas@extundo.com>
83933
83934         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
83935         and Darwin.
83936
83937         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
83938         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
83939         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
83940         freeaddrinfo and gai_strerror are declared by the POSIX headers.
83941         Check if struct addrinfo is declared.
83942
83943 2005-10-01  Simon Josefsson  <jas@extundo.com>
83944
83945         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
83946         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
83947         AI_* and EAI_* definitions.  Protect function declarations.
83948
83949 2005-10-01  Jim Meyering  <jim@meyering.net>
83950
83951         Sync from coreutils.
83952
83953         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
83954         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
83955         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
83956         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
83957         in the inet and nsl libraries.  Required on Solaris 5.7.
83958
83959 2005-10-01  Jim Meyering  <jim@meyering.net>
83960
83961         Sync from coreutils.
83962         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
83963         in the inet and nsl libraries.  Required on Solaris 5.7.
83964
83965 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
83966
83967         * lib/getdelim.c (getdelim): Remove unused variables.
83968
83969 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
83970
83971         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
83972         so that the code works even with ancient cpp.  Portability problem
83973         with GCC 2.7.2.1 reported by Thomas M.Ott.
83974
83975 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
83976
83977         * modules/regex (Depends-on): Add strcase.
83978
83979         * modules/gethostname (Licence): Change from GPL to LGPL, since
83980         gethostname.c is a trivial implementation of a standard library
83981         function.
83982         * modules/poll (License): Change from GPL to LGPL, since it's
83983         derived from LGPL code.
83984
83985 2005-09-27  Jim Meyering  <jim@meyering.net>
83986
83987         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
83988         HAVE_CONFIG_H.
83989
83990         * lib/intprops.h (signed_type_or_expr__): Define.
83991         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
83992         for unsigned types.
83993
83994 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
83995
83996         * lib/verify.h (verify_expr): Remove, replacing with:
83997         (verify_true): New macro that returns true instead of void.
83998         (verify_type__): Remove.
83999         (verify): Use verify_true rather than verify_type__.
84000
84001 2005-09-26  Bruno Haible  <bruno@clisp.org>
84002
84003         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
84004         is necessary.
84005         (lib_SOURCES): Remove mbchar.c.
84006         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
84007         (Files): Add m4/mbrtowc.m4.
84008         * modules/mbiter: Likewise.
84009         * modules/mbuiter: Likewise.
84010
84011 2005-09-26  Bruno Haible  <bruno@clisp.org>
84012
84013         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
84014         compile mbchar.c if they are not both present.
84015         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
84016         * m4/mbiter.m4 (gl_MBITER): Likewise.
84017         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
84018         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
84019         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
84020
84021 2005-09-25  Jim Meyering  <jim@meyering.net>
84022
84023         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
84024         also uses socklen_t.
84025
84026 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
84027
84028         * lib/utimens.c (ENOSYS): Define if not already defined.
84029         (futimens): Support having a null PATH if the file descriptor
84030         is nonnegative.
84031
84032         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
84033         Remove.
84034         (__attribute): Define to empty unless GCC 3.1 or later.
84035         This works around a core dump on OpenBSD 3.4, which has GCC
84036         2.95.3, which dumps core when given __attribute__(()).  It also
84037         simplifies other tests, since we really don't want to bother with
84038         worrying about which ancient version of GCC supported what.
84039         Original problem reported by Yoann Vandoorselaere, with part of
84040         the fix suggested by Derek Price.
84041
84042 2005-09-24  Jim Meyering  <jim@meyering.net>
84043
84044         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
84045         so we can once again use a positive bitfield width of 1 -- now we
84046         don't have to explain why we were using a bitfield width of 2.
84047
84048 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
84049
84050         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
84051         and similarly for the other external symbols.  Problem reported
84052         by James Gallager.
84053
84054         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
84055         bug reported by Jim Meyering.
84056
84057         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
84058         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
84059         not needed, since socklen is a prerequisite module.
84060
84061 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
84062
84063         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
84064         Problem reported by Eric Blake.
84065         (getaddrinfo): Initialize se so that it's not garbage.
84066         Redo internal storage allocation so that it doesn't make unportable
84067         assumptions about alignment.
84068         Fix a memory leak.
84069
84070         * lib/utimens.c (futimens): Use futimesat if available.
84071         Prefer it to futimes since it doesn't have the futimes bug.
84072
84073         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
84074         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
84075         Instead, declare a function that returns a pointer to an array,
84076         and use verify_type__ to declare the size of the array.
84077         Problem and germ of a solution reported by Bruno Haible.
84078         (verify_type__): Use 2, not 1, for bitfield size, to avoid
84079         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
84080
84081 2005-09-23  Jim Meyering  <jim@meyering.net>
84082
84083         Sync from coreutils.
84084         Correct build failure (socklen_t not defined) on at least
84085         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
84086         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
84087
84088 2005-09-23  Jim Meyering  <jim@meyering.net>
84089
84090         * modules/getaddrinfo (Depends-on): Add socklen.
84091
84092 2005-09-23  Bruno Haible  <bruno@clisp.org>
84093
84094         * tests/test-verify.c: New file.
84095
84096 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
84097
84098         Sync from coreutils.
84099
84100         * modules/argmatch (Depends-on): Add verify.
84101         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
84102         unistd-safer.
84103         * modules/save-cwd (Depends-on): Likewise.
84104
84105         * modules/openat (Files): Add lib/openat-die.c.
84106         (Depends-on): Remove error, exitfail.
84107         Add dirname.
84108
84109         * modules/verify: New file.
84110         * MODULES.html.sh (Diagnostics <assert.h>): New section,
84111         with "verify" module.
84112
84113 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
84114
84115         Sync from coreutils.
84116
84117         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
84118         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
84119         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
84120         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
84121         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
84122         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
84123         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
84124         Don't bother checking for string.h, stdlib.h, unistd.h.
84125         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
84126         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
84127         module's job.
84128         * m4/jm-macros.m4 (gl_MACROS): Likewise.
84129         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
84130
84131         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
84132         (gl_GETDATE): Use it.
84133
84134         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
84135
84136 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
84137
84138         Sync from coreutils.
84139
84140         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
84141         stat-time.h.
84142         * lib/argmatch.h: Include verify.h
84143         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
84144         (ARGMATCH_ASSERT): Remove; unused.
84145         * lib/canonicalize.c: Assume STDC_HEADERS.
84146         * lib/exclude.c: Include "strcase.h".
84147         * lib/regex_internal.h [!defined _LIBC]: Likewise.
84148         * lib/getusershell.c: Include stdio--.h rather than stdio.h
84149         and stdio-safer.h.
84150         (getusershell): Call fopen, not fopen_safer.
84151         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
84152         Do not include unistd-safer.h.
84153         (save_cwd): Don't call fd_safer; no longer needed
84154         now that we include fcntl--.h.
84155
84156         * lib/getdate.y (relative_time): New type.
84157         (RELATIVE_TIME_0): New constant.
84158         (parser_control): Use relative_time instead of doing it ourselves.
84159         (%union): Add new relative_time rel member.
84160         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
84161         Now typeless.
84162         (relunit, relunit_snumber): Now of type rel.
84163         (zone, rel, relunit, get_date): Adjust to above changes.
84164
84165         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
84166         Do not include unistd-safer.h.
84167         (getloadavg): Don't call fd_safer; no longer needed
84168         now that we include fcntl--.h.
84169
84170         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
84171         (make_dir_parents): Treat ENOSYS like EEXIST.
84172
84173         Improve quality of diagnostics on restore_cwd failure.
84174         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
84175         (make_dir_parents): Last arg is now int * (for errno), not bool *.
84176         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
84177         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
84178         each time through the loop.  Do not diagnose restore_cwd failure;
84179         that is the caller's job (and perhaps the caller does not care).
84180
84181         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
84182         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
84183         If the file already exists but is not a directory, don't bother
84184         to try to make its parents.
84185         Close potential file descriptor leak if we can't chdir("/") (!).
84186         Don't always return true if chdir($PWD) fails; return true only
84187         if the requested action was done successfully (except for the
84188         chdir($PWD)).
84189         Don't log final directory unless we actually made it.
84190         Refactor to avoid duplicate code to fix up permissions.
84191         Don't attempt to fix up parent permissions if chdir($PWD) fails.
84192
84193         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
84194         to make it a bit faster and (I hope) clearer.
84195         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
84196         Fix bug in formats like %2N.
84197
84198         * lib/verify.h: New file.
84199
84200 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
84201
84202         Sync from coreutils.
84203         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
84204
84205 2005-09-22  Jim Meyering  <jim@meyering.net>
84206
84207         Sync from coreutils.
84208
84209         * m4/lstat.m4 (gl_FUNC_LSTAT):
84210         Use AC_LIBSOURCES to require lstat.c and lstat.h.
84211         Remove obsolete comment.
84212         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
84213         * m4/xstrtod.m4: Likewise.
84214
84215         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
84216
84217 2005-09-22  Jim Meyering  <jim@meyering.net>
84218
84219         Sync from coreutils.
84220
84221         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
84222
84223         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
84224         the .tm_year member, since otherwise gcc-4.0 would now warn about
84225         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
84226
84227         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
84228         order to avoid an unsuppressible warning from gcc on 64-bit systems.
84229
84230         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
84231         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
84232         when run in a time zone for which daylight savings time is in effect
84233         for the starting date.
84234
84235         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
84236         stop us from restricting permissions of just-created absolute-named
84237         directories.
84238         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
84239         to restore initial working directory.
84240         * lib/mkdir-p.c (make_dir_parents): New parameter:
84241         different_working_dir, to tell caller if/when we change the working
84242         directory and are unable to return to the initial one.
84243         * lib/mkdir-p.h (make_dir_parents): Update prototype.
84244         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
84245         `return false'.  This fixes a bug introduced on 2004-07-30.
84246
84247         * lib/openat.c (fdopendir): Be sure to close the supplied
84248         file descriptor before returning.  This makes our replacement
84249         implementation a little closer to Solaris's, where fdopendir
84250         ties the file descriptor to the returned DIR* pointer.
84251         * lib/openat.c (unlinkat): New function.
84252         * lib/openat.h (unlinkat): Add prototype.
84253         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
84254         (openat_restore_fail): Rename from openat_restore_die.
84255         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
84256
84257         Provide an alternative to exiting immediately upon save_cwd or
84258         restore_cwd failure.  Now, an application can arrange e.g.,
84259         to perform a longjump in that case.
84260         * lib/openat.c: Include dirname.h.
84261         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
84262         (rpl_openat, fdopendir, fstatat): Call openat_save_die
84263         and openat_restore_die rather than calling error directly.
84264         Don't include "error.h" or "exitfail.h"; they're no longer needed.
84265
84266         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
84267         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
84268         define.
84269
84270         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
84271         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
84272                             int utc, int nanoseconds);
84273         Background:
84274         date should not have to allocate a megabyte of virtual memory to
84275         handle a format argument like +%1048575T.  When implemented with
84276         strftime, it must allocate such a buffer, use strftime to fill it
84277         in, print it, then free it.
84278         With fprintftime, it simply prints everything and exits.
84279         With no need for memory allocation, that's one fewer way to fail.
84280         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
84281         optional field width, not before, so we accept %9:z, not %:9z.
84282         (my_strftime): Be sure to use L_('x') for literals.
84283
84284         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
84285         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
84286         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
84287         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
84288         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
84289         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
84290         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
84291         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
84292         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
84293         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
84294         * lib/xgethostname.c, lib/xreadlink.c:
84295         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
84296
84297         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
84298         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
84299         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
84300         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
84301         and don't include <sys/file.h>).
84302
84303 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
84304
84305         Sync from coreutils.
84306
84307         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
84308         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
84309         [!LDAV_DONE]: Avoid unused variable warning.
84310
84311 2005-09-21  Bruno Haible  <bruno@clisp.org>
84312
84313         * lib/unicodeio.h (unicode_to_mb): New declaration.
84314
84315 2005-09-20  Derek Price  <derek@ximbiot.com>
84316
84317         * lib/getaddrinfo.c: Don't include <netdb.h> included from
84318         getaddrinfo.h.
84319
84320 2005-09-20  Bruno Haible  <bruno@clisp.org>
84321
84322         * gnulib-tool: Remove trailing slashes from the values specified for
84323         --source-base, --m4-base, --tests-base, --aux-dir.
84324         Suggested by Simon Josefsson <jas@extundo.com>.
84325
84326 2005-09-20  Bruno Haible  <bruno@clisp.org>
84327
84328         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
84329         func_modules_to_filelist, func_import, func_create_testdir): Make all
84330         sorting results locale-independent, so that gnulib-cache.m4 doesn't
84331         change when gnulib-tool is invoked in a different locale.
84332
84333 2005-09-19  Simon Josefsson  <jas@extundo.com>
84334
84335         * m4/socklen.m4: Fix typo.
84336
84337 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
84338
84339         Use a consistent style for including <config.h>.
84340         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
84341         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
84342         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
84343         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
84344         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
84345         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
84346         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
84347         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
84348         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
84349         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
84350         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
84351         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
84352         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
84353         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
84354         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
84355         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
84356         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
84357         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
84358         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
84359         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
84360         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
84361         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
84362         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
84363         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
84364         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
84365         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
84366         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
84367         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
84368         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
84369         lib/xstrtoumax.c, lib/yesno.c:
84370         Standardize inclusion of config.h.
84371         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
84372         lib/inttostr.h:  Removed inclusion of config.h from header files.
84373         * lib/inttostr.c:  Adjusted in-tree users.
84374         * lib/timespec.h: Remove superfluous warning to include config.h.
84375         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
84376         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
84377         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
84378         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
84379         config.h with HAVE_CONFIG_H.
84380
84381 2005-09-19  Jim Meyering  <jim@meyering.net>
84382
84383         * modules/pathmax (License): Change to LGPL.
84384
84385 2005-09-19  Derek Price  <derek@ximbiot.com>
84386
84387         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
84388
84389 2005-09-19  Bruno Haible  <bruno@clisp.org>
84390
84391         * gnulib-tool (import): Provide default for --tests-base.
84392
84393 2005-09-19  Bruno Haible  <bruno@clisp.org>
84394
84395         * doc/quote.texi: New file, extracted from gnulib.texi.
84396         * doc/ctime.texi: New file, extracted from gnulib.texi.
84397         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
84398         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
84399         * doc/gnulib.texi: Include them.
84400
84401 2005-09-18  Bruno Haible  <bruno@clisp.org>
84402
84403         Portability fix.
84404         * gnulib-tool (func_readlink): New function.
84405         (func_ln_if_changed): Use it.
84406
84407 2005-09-18  Bruno Haible  <bruno@clisp.org>
84408
84409         * gnulib-tool: Support --with-tests also with --import.
84410         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
84411         (func_import): Use variables $testsbase and $inctests. Emit a
84412         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
84413         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
84414         SUBDIRS += $testsdir.
84415         (func_create_testdir): Update.
84416
84417 2005-09-18  Bruno Haible  <bruno@clisp.org>
84418
84419         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
84420         instead of $dry_run.
84421         (func_cp_if_changed, func_mv_if_changed): Remove functions.
84422         (func_ln_if_changed): Don't handle dry-run here.
84423         (func_import): In dry-run mode, detect more precisely which actions
84424         would be performed, and don't use "...ing" verbs.
84425
84426 2005-09-18  Bruno Haible  <bruno@clisp.org>
84427
84428         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
84429         (func_import): Use join on two temporary files instead of three nested
84430         loops, in order to determine which files are new or old.
84431
84432 2005-09-18  Bruno Haible  <bruno@clisp.org>
84433
84434         * gnulib-tool (func_import): Comment out code that spits out the
84435         new files with --dry-run.
84436
84437 2005-09-18  Bruno Haible  <bruno@clisp.org>
84438
84439         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
84440
84441 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
84442
84443         * lib/stat-time.h: New file.
84444         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
84445         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
84446         in a different way.
84447         (timespec_cmp): New function.
84448         * lib/utimecmp.c: Include stat-time.h.
84449         (SYSCALL_RESOLUTION): Depend on whether various struct stat
84450         members exist, not on the obsolescent ST_MTIM_NSEC.
84451         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
84452
84453 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
84454
84455         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
84456
84457 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
84458
84459         * MODULES.html.sh (File system functions): Add stat-time.
84460         * modules/stat-time: New file.
84461         * modules/timespec (Files): Remove m4/st_mtim.m4; this
84462         is now done in a different way, by the stat-time module.
84463         * modules/utimecmp (Depends-on): Add stat-time.
84464
84465 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
84466
84467         * m4/st_mtim.m4: Remove.  Superseded by...
84468         * m4/stat-time.m4: New file.
84469         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
84470         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
84471
84472 2005-09-15  Derek Price  <derek@ximbiot.com>
84473
84474         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
84475
84476 2005-09-15  Derek Price  <derek@ximbiot.com>
84477
84478         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
84479         * lib/regex_internal.c: Ditto, using this...
84480         (__GNUC_PREREQ): ...new macro.
84481         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
84482         using...
84483         (__GNUC_PREREQ): ...this new macro.
84484
84485         * lib/strstr.h: Include string.h. Define strstr as a macro here.
84486
84487 2005-09-15  Derek Price  <derek@ximbiot.com>
84488             Paul Eggert  <eggert@cs.ucla.edu>
84489
84490         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
84491         changes, consolidating in...
84492         * lib/regex_internal.h: ...this file.
84493
84494 2005-09-13  Jim Meyering  <jim@meyering.net>
84495
84496         * lib/canon-host.c: Filter through gnu indent and reword comments
84497         slightly.
84498         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
84499
84500 2005-09-13  Derek Price  <derek@ximbiot.com>
84501
84502         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
84503         failure.
84504         Reported by Jim Meyering  <jim@meyering.net>.
84505
84506 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
84507
84508         * lib/base64.c: Typo.
84509         (base64_encode): Put b64str in initialized data section.
84510
84511 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
84512
84513         Merge glibc and coreutils changes into gnulib, plus a few
84514         extra fixes.
84515         * lib/md5.c: Use #error rather than a string.
84516         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
84517         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
84518         (__attribute__): Define to empty for non recent-GCC.
84519         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
84520         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
84521         Renamed from their non-__ counterparts, with new macros replacing
84522         them if not _LIBC.  Add __THROW attribute.
84523         (rol): Remove.
84524         (struct md5_ctx): Align buffer if using GCC.
84525         * lib/sha1.h (struct sha1_ctx): Likewise.
84526         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
84527         The old name was backwards.
84528         (NOTSWAP): Remove; not used.
84529         (rol): New macro, moved here from md5.h.
84530         (sha1_process_block): Remove a FIXME that doesn't make sense.
84531
84532 2005-09-12  Derek Price  <derek@ximbiot.com>
84533
84534         Return usable errors from canon-host.
84535         * lib/canon-host.h: New file.
84536         * lib/canon-host.c (canon_host): Wrap...
84537         (canon_host_r): ...this new function, which now relies exclusively on
84538         getaddrinfo.
84539         (ch_strerror): New function.
84540         (last_cherror): New global.
84541         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
84542         interface.
84543         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
84544         void *.
84545         (freeaddrinfo): Free ai->ai_canonname when set.
84546
84547 2005-09-12  Derek Price  <derek@ximbiot.com>
84548
84549         Make canon-host require getaddrinfo.
84550         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
84551         AC_LIBSOURCE canon-host.h.  Call...
84552         (gl_PREREQ_CANON_HOST): ...this new function, which requires
84553         gl_GETADDRINFO.
84554         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
84555
84556 2005-09-12  Derek Price  <derek@ximbiot.com>
84557
84558         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
84559         LGPL.
84560         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
84561
84562 2005-09-12  Derek Price  <derek@ximbiot.com>
84563
84564         * lib/gai_strerror.c: Include config.h when available.  Include
84565         getaddrinfo.h before other headers to test interface.
84566         Reported by Larry Jones <lawrence.jones@ugs.com>.
84567
84568 2005-09-12  Derek Price  <derek@ximbiot.com>
84569             Paul Eggert  <eggert@cs.ucla.edu>
84570
84571         * modules/glob (Files): Add glob-libc.h.
84572
84573 2005-09-12  Derek Price  <derek@ximbiot.com>
84574             Paul Eggert  <eggert@cs.ucla.edu>
84575
84576         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
84577         glob_.h, glob-libc.h.
84578         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
84579
84580 2005-09-12  Derek Price  <derek@ximbiot.com>
84581             Paul Eggert  <eggert@cs.ucla.edu>
84582
84583         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
84584         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
84585         protecting things that should be done only in gnulib contexts.
84586         * lib/glob_.h: New file, containing only the glob things needed for
84587         gnulib.
84588         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
84589         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
84590         (glob, globfree, glob_pattern_p): Now defined simply in terms of
84591         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
84592         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
84593         and to respect the namespace rules better.
84594
84595 2005-09-08  Simon Josefsson  <jas@extundo.com>
84596
84597         * modules/socklen: New file.
84598
84599 2005-09-08  Simon Josefsson  <jas@extundo.com>
84600
84601         * m4/socklen.m4: New file.
84602
84603 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
84604
84605         * modules/utimens (Files): Add m4/utimbuf.m4, since
84606         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
84607         Reported by Sergey Poznyakoff.
84608
84609 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
84610
84611         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
84612         definitions, since that's the preferred style in glibc.
84613         Fix a minor spacing issue, and update copyright notice to match
84614         glibc's.
84615
84616 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
84617
84618         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
84619
84620 2005-09-06  Simon Josefsson  <jas@extundo.com>
84621
84622         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
84623         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
84624
84625 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
84626
84627         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
84628         warning.
84629
84630 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
84631
84632         * config/srclist.txt: Add glibc bug 1302.
84633
84634 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
84635
84636         Change bitset word type from unsigned int to unsigned long int,
84637         as this has better performance on typical 64-bit hosts.
84638         Port bitset code to hosts with unusual word sizes.
84639         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
84640         (build_collating_symbol):
84641         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
84642         argument is a bitset.  This is merely a style issue, but it makes
84643         it clearer that an entire array is expected.
84644         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
84645         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
84646         Port to the case where bitset_word is not the same as unsigned int.
84647         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
84648         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
84649         Likewise.
84650         * lib/regexec.c (check_dst_limits_calc_pos_1,
84651         check_subexp_matching_top):
84652         (build_trtable, group_nodes_into_DFAstates):
84653         Likewise.
84654         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
84655         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
84656         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
84657         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
84658         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
84659         * lib/regcomp.c (optimize_subexps, lower_subexp):
84660         Work even if bitset_word has holes in its bitwise representation.
84661         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
84662         * lib/regexec.c (check_dst_limits_calc_pos_1,
84663         check_subexp_matching_top):
84664         Likewise.
84665         * lib/regex_internal.c (re_string_reconstruct):
84666         Don't assume UCHAR_MAX == 255.
84667         * lib/regex_internal.h (bitset_set_all): Likewise.
84668         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
84669         All uses changed.
84670         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
84671         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
84672         All uses changed.
84673         (BITSET_WORD_MAX): New macro.
84674         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
84675         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
84676         (bitset_empty, bitset_copy):
84677         Prefer sizeof (bitset) to multiplying it out ourselves.
84678         (bitset_not_merge): Remove; unused.
84679         (bitset_contain): Return bool, not unsigned int with one bit on.
84680         All callers changed.
84681         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
84682         alignment than re_node_set; do this by defining a new internal
84683         type struct dests_alloc and using it to allocate memory.
84684
84685 2005-09-05  Bruno Haible  <bruno@clisp.org>
84686
84687         * gnulib-tool (func_import): Fix comparison in handling of symbolic
84688         links.
84689
84690 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
84691
84692         * modules/size_max (Makefile.am): Add size_max.h
84693
84694 2005-09-04  Derek Price  <derek@ximbiot.com>
84695
84696         * gnulib-tool (func_import): Fix reversed $symbolic logic.
84697
84698 2005-09-03  Simon Josefsson  <jas@extundo.com>
84699
84700         * gnulib-tool: Fix typo.
84701
84702 2005-09-03  Simon Josefsson  <jas@extundo.com>
84703
84704         * config/srclist.txt: Add glibc bug 1293.
84705
84706 2005-09-03  Derek Price  <derek@ximbiot.com>
84707
84708         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
84709         From Larry Jones <lawrence.jones@ugs.com>.
84710
84711 2005-09-02  Simon Josefsson  <jas@extundo.com>
84712
84713         * modules/socklen: New file.
84714
84715 2005-09-02  Simon Josefsson  <jas@extundo.com>
84716
84717         * modules/havelib: New module.
84718
84719         * modules/gettext, modules/iconv, modules/lock, modules/readline:
84720         Use havelib.
84721
84722 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
84723
84724         Check for arithmetic overflow when calculating sizes, to prevent
84725         some buffer-overflow issues.  These patches are conservative, in the
84726         sense that when I couldn't determine whether an overflow was possible,
84727         I inserted a run-time check.
84728         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
84729         macros.
84730         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
84731         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
84732         (re_xnrealloc, re_x2nrealloc): New inline functions.
84733         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
84734         parse_bracket_exp):
84735         (build_equiv_class, build_charclass): Check for arithmetic overflow
84736         in size expression calculations.
84737         * lib/regex_internal.c (re_string_realloc_buffers):
84738         (build_wcs_upper_buffer, re_node_set_add_intersect):
84739         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
84740         (re_dfa_add_node, register_state): Likewise.
84741         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
84742         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
84743         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
84744         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
84745
84746 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
84747
84748         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
84749         m4/ulonglong.m4.  Problem reported by Martin Lambers.
84750
84751 2005-09-02  Bruno Haible  <bruno@clisp.org>
84752
84753         Support for lib vs. lib64 distinction on biarch platforms.
84754         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
84755         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
84756         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
84757
84758 2005-09-02  Bruno Haible  <bruno@clisp.org>
84759
84760         * gnulib-tool (import): In the other first-use case, provide defaults
84761         as well.
84762
84763 2005-09-02  Bruno Haible  <bruno@clisp.org>
84764
84765         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
84766         patches not yet found in the latest gettext release.
84767
84768 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
84769
84770         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
84771         to avoid a collision with bits/local_lim.h in glibc.
84772         All uses changed.  Problem reported by Dmitry V. Levin in
84773         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
84774
84775         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
84776         bugs in int versus size_t comparisons.
84777         (re_string_context_at): Fix bug where the code assumed that
84778         Idx is signed.
84779
84780         Use bool where appropriate.
84781         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
84782         All callers changed.
84783         (calc_eclosure_iter): Likewise, for ROOT arg.
84784         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
84785         (build_charclass_op): Likewise, for NON_MATCH arg.
84786         * lib/regex_internal.c (re_string_allocate, re_string_construct):
84787         (re_string_construct_common): Likewise, for ICASE arg.
84788         * lib/regexec.c (re_search_2_stub, re_search_stub):
84789         Likewise, for RET_LEN arg.
84790         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
84791         (set_regs): Likewise, for FL_BACKTRACK arg.
84792         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
84793         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
84794         (calc_eclosure_iter, parse_bracket_exp):
84795         Use bool for internal variables that are booleans.
84796         * lib/regexec.c (re_search_internal, check_matching,
84797         proceed_next_node):
84798         (set_regs, build_sifted_states, sift_states_bkref):
84799         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
84800         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
84801         (find_collation_sequence_value):
84802         Likewise.
84803         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
84804         (re_node_set_compare):
84805         Return bool, not int. All callers changed.
84806         * lib/regexec.c (check_halt_node_context, check_dst_limits):
84807         (build_trtable, check_node_accept): Likewise.
84808         * lib/regex_internal.h: Include stdbool.h.
84809
84810         Fix bugs uncovered when converting to bool.
84811         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
84812         failure instead of charging ahead blindly.
84813         * lib/regex_internal.c (register_state): Likewise.
84814         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
84815         for freeing internal storage.
84816         (group_nodes_into_DFA_states): Use unsigned int, not int, for
84817         bitset pieces used as boolean, to avoid undefined behavior
84818         on hosts that do int overflow checking.
84819
84820 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
84821
84822         * config/srclist.txt: Add glibc bugs 1285-1287.
84823
84824 2005-09-01  Jim Meyering  <jim@meyering.net>
84825
84826         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
84827         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
84828         Require gl_STAT_MACROS, too.
84829
84830 2005-09-01  Bruno Haible  <bruno@clisp.org>
84831
84832         * gnulib-tool (import): In the first-use case, provide defaults.
84833
84834 2005-09-01  Bruno Haible  <bruno@clisp.org>
84835
84836         * gnulib-tool (func_import): Remove the .tmp files.
84837
84838 2005-09-01  Bruno Haible  <bruno@clisp.org>
84839
84840         * gnulib-tool (func_import): Fix handling of symbolic links.
84841
84842 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
84843
84844         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
84845         old glibc regex code mishandles strings longer than 2**31 bytes.
84846         This patch fixes this when the regex code is used in gnulib
84847         (i.e., outside glibc).
84848
84849         This patch should not affect the use of the regex code inside
84850         glibc.  No doubt this problem also needs to be handled for glibc
84851         as well, but the result will be an incompatible change to the
84852         glibc ABI, and the old ABI will have to be supported too.  That
84853         can be the the subject for another patch.
84854
84855         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
84856         governing whether the rest of this patch is active.  By default,
84857         the macro is disabled and the patch has no effect.
84858         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
84859         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
84860         (struct re_pattern_buffer, re_search, re_search_2, re_match):
84861         (re_match_2, re_set_registers): Use the new types.
84862         * lib/regex_internal.h (Idx, re_hashval_t): New types.
84863         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
84864         New macros.
84865         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
84866         (re_string_context_at, bin_tree_t, re_dfastate_t):
84867         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
84868         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
84869         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
84870         (re_string_char_size_at, re_string_wchar_at):
84871         (re_string_elem_size_at):
84872         Use the new types and macros to port to 64-bit hosts.
84873         Use unsigned types for internal values, so that the code
84874         mostly works even for arrays larger than SSIZE_MAX.
84875         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
84876         (search_duplicated_node, calc_eclosure_iter, fetch_number):
84877         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
84878         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
84879         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
84880         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
84881         (calc_inveclosure, parse_dup_op, build_range_exp):
84882         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
84883         (fetch_number, create_token_tree, mark_opt_subexp):
84884         Likewise.
84885         * lib/regex_internal.c (re_string_construct_common,
84886         create_ci_newstate):
84887         (create_cd_newstate, re_string_allocate, re_string_construct):
84888         (re_string_realloc_buffers, build_wcs_upper_buffer):
84889         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
84890         (re_string_reconstruct, re_string_peek_byte_case):
84891         (re_string_fetch_byte_case, re_string_context_at):
84892         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
84893         (re_node_set_init_copy, re_node_set_add_intersect):
84894         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
84895         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
84896         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
84897         (re_acquire_state, re_acquire_state_context, register_state):
84898         Likewise.
84899         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
84900         search_cur_bkref_entry):
84901         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
84902         (re_search_internal, re_search_2_stub, re_search_stub)
84903         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
84904         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
84905         (update_cur_sifted_state, check_dst_limits):
84906         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
84907         (check_subexp_limits, sift_states_bkref, merge_state_array):
84908         (check_subexp_matching_top, get_subexp, get_subexp_sub):
84909         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
84910         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
84911         (expand_bkref_cache, check_node_accept_bytes):
84912         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
84913         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
84914         (acquire_init_state_context, check_halt_node_context):
84915         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
84916         (sift_states_backward, clean_state_log_if_needed):
84917         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
84918         (find_recover_state, transit_state_sb, transit_state_mb):
84919         (transit_state_bkref, build_trtable, match_ctx_clean):
84920         Likewise.
84921         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
84922         to work around an assumption that REG_MISSING is negative.
84923
84924         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
84925         (seek_collating_symbol_entry) [defined _LIBC]:
84926         (lookup_collation_sequence_value) [defined _LIBC]:
84927         (build_range_exp, build_collating_symbol) [defined _LIBC]:
84928         Use prototypes rather than old-style function definitions.
84929         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
84930         (transit_state_sb) [0]:
84931         (find_collation_sequence_value) [defined _LIBC]: Likewise.
84932
84933         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
84934         rm_eo.
84935
84936         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
84937         (optimize_subexps, lower_subexp):
84938         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
84939         since the signed shift might overflow.  Use 1u<<31 instead.
84940         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
84941         Likewise.
84942         * lib/regexec.c (check_dst_limits_calc_pos_1,
84943         check_subexp_matching_top): Likewise.
84944
84945         * lib/regcomp.c (optimize_subexps, lower_subexp):
84946         Use CHAR_BIT rather than 8, for clarity.
84947         * lib/regexec.c (check_dst_limits_calc_pos_1):
84948         (check_subexp_matching_top): Likewise.
84949         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
84950         have to worry about portability issues when shifting it left.
84951         Remove no-longer-needed test for table_size > 0.
84952         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
84953         in a word, as the resulting behavior is undefined.
84954         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
84955         in one case, a <= should have been an <, and in another case the
84956         whole test was missing.
84957         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
84958         the standard name CHAR_BIT.
84959         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
84960         this is not true on one's complement and signed-magnitude hosts.
84961
84962         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
84963         next_last_offset.
84964         (struct re_dfa_t): Remove unused member states_alloc.
84965         * lib/regcomp.c (init_dfa): Don't initialize unused members.
84966
84967 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
84968
84969         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
84970         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
84971         and large-file glibc and in 32-bit large-file Solaris.
84972
84973 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
84974
84975         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
84976         lengths fit in regoff_t; this isn't true if regoff_t is the same
84977         width as size_t.
84978         * lib/regex.c (re_search_internal): 5th arg is LAST_START
84979         (= START + RANGE) instead of RANGE.  This avoids overflow
84980         problems when regoff_t is the same width as size_t.
84981         All callers changed.
84982         (re_search_2_stub): Check for overflow when adding the
84983         sizes of the two strings.
84984         (re_search_stub): Check for overflow when adding START
84985         to RANGE; if it occurs, substitute the extreme value.
84986
84987 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
84988
84989         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
84990
84991 2005-08-31  Jim Meyering  <jim@meyering.net>
84992
84993         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
84994         a pointer-to-const.
84995         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
84996         (register_state): Likewise.
84997         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
84998         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
84999         (group_nodes_into_DFAstates): Likewise.
85000
85001 2005-08-31  Jim Meyering  <jim@meyering.net>
85002
85003         * check-module: Add a FIXME comment.
85004
85005 2005-08-31  Eric Blake  <ebb9@byu.net>
85006
85007         * modules/unistd-safer (Files): Add unistd--.h.
85008         * modules/stdio-safer (Files): Add stdio--.h.
85009
85010 2005-08-31  Derek Price  <derek@ximbiot.com>
85011
85012         * lib/getdelim.c (getdelim): Return EOF on EOF.
85013         Reported by Larry Jones <lawrence.jones@ugs.com>.
85014
85015 2005-08-31  Bruno Haible  <bruno@clisp.org>
85016
85017         Avoid unnecessary diffs in the generated lib/Makefile.am.
85018         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
85019         the generated files.
85020         (func_import): Don't set cmd.
85021
85022 2005-08-31  Bruno Haible  <bruno@clisp.org>
85023
85024         * lib/strstr.c: Include <stddef.h>, for NULL.
85025         * lib/strcasestr.c: Likewise.
85026         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
85027
85028 2005-08-31  Bruno Haible  <bruno@clisp.org>
85029
85030         * gnulib-tool: New option --macro-prefix.
85031         (func_import): Use macro_prefix.
85032         (import): Handle option --macro-prefix.
85033
85034 2005-08-31  Bruno Haible  <bruno@clisp.org>
85035
85036         * gnulib-tool (import): Rename most ac_* variables to cached_*.
85037         Also use new variables cached_lgpl, cached_libtool.
85038
85039 2005-08-31  Bruno Haible  <bruno@clisp.org>
85040
85041         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
85042         always instantiating them.
85043
85044 2005-08-31  Bruno Haible  <bruno@clisp.org>
85045
85046         * gnulib-tool (func_import): Read the previous cached settings
85047         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
85048         earlier added by gnulib but are now dropped. Warn when a gnulib file
85049         overwrites a non-gnulib file.
85050
85051 2005-08-31  Bruno Haible  <bruno@clisp.org>
85052
85053         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
85054         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
85055         projects that don't keep autogenerated files in CVS. Put into
85056         actioncmd only the specified modules, not the transitive closure.
85057
85058 2005-08-31  Bruno Haible  <bruno@clisp.org>
85059
85060         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
85061         Create directories that shall be filled.
85062         (import): Don't look for gl_* macros in configure.ac. Recurse across
85063         all directories containing a gnulib-cache.m4 files, if meaningful.
85064
85065 2005-08-31  Bruno Haible  <bruno@clisp.org>
85066
85067         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
85068         (import): Set seen_libtool when we see gl_LIBTOOL.
85069
85070 2005-08-31  Bruno Haible  <bruno@clisp.org>
85071
85072         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
85073         declaration macro definitions from generated gnulib.m4.
85074
85075 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
85076
85077         * lib/iconvme.h: Add prototype for iconv_alloc.
85078
85079 2005-08-29  Simon Josefsson  <jas@extundo.com>
85080
85081         * lib/iconvme.c: Fix errno.
85082
85083 2005-08-29  Bruno Haible  <bruno@clisp.org>
85084
85085         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
85086         that it works when the directory contains spaces.
85087
85088 2005-08-29  Bruno Haible  <bruno@clisp.org>
85089
85090         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
85091
85092 2005-08-29  Bruno Haible  <bruno@clisp.org>
85093
85094         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
85095         Emit more advice.
85096
85097 2005-08-29  Bruno Haible  <bruno@clisp.org>
85098         and Stepan Kasal  <kasal@ucw.cz>
85099
85100         * check-module: If more parameters are given, check each of them
85101         separately; add more exceptions, as noted by Jim Meyering.
85102         (check_module): New procedure.
85103         (%exempt_header): Now contains all exceptions.
85104
85105 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
85106
85107         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
85108
85109 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
85110
85111         * lib/iconvme.c: Split iconv_string into iconv_alloc.
85112
85113 2005-08-28  Bruno Haible  <bruno@clisp.org>
85114
85115         * m4/gnulib-tool.m4: New file.
85116
85117 2005-08-27  Jim Meyering  <jim@meyering.net>
85118
85119         * modules/unistd-safer (Files): Add pipe-safer.c.
85120         * modules/fcntl-safer (Files): Add creat-safer.c.
85121
85122 2005-08-27  Jim Meyering  <jim@meyering.net>
85123
85124         * m4/stdlib-safer.m4: New file.  From coreutils.
85125         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
85126         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
85127         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
85128         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
85129         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
85130
85131 2005-08-27  Jim Meyering  <jim@meyering.net>
85132
85133         * lib/fopen-safer.c: Merge minor changes from coreutils.
85134         * lib/dup-safer.c: Likewise.
85135         * lib/fd-safer.c: Likewise.
85136
85137         Merge from coreutils.
85138         * lib/stdio--.h: New file.
85139         * lib/stdlib--.h: New file.
85140         * lib/mkstemp-safer.c: New file.
85141
85142         GNU tar needs these.
85143         * lib/pipe-safer.c: New file.
85144         * lib/creat-safer.c: New file.
85145         * lib/fcntl--.h (creat): Define to creat_safer.
85146         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
85147         * lib/unistd--.h (pipe): Define to pipe_safer.
85148         * lib/unistd-safer.h: Declare pipe_safer.
85149
85150 2005-08-26  Simon Josefsson  <jas@extundo.com>
85151
85152         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
85153         Haible <bruno@clisp.org>.
85154
85155 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
85156
85157         * lib/regex_internal.h: Remove all references to
85158         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
85159         or better.
85160         (bitset_not, bitset_merge, bitset_not_merge):
85161         (bitset_mask, re_string_allocate, re_string_construct):
85162         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
85163         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
85164         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
85165         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
85166         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
85167         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
85168         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
85169         (re_acquire_state_context):
85170         Remove unnecessary forward decls.
85171         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
85172         Put __attribute at function definition,
85173         now that the function decl has been removed.
85174         * lib/regex_internal.c (re_string_peek_byte_case):
85175         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
85176         Likewise.
85177
85178 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
85179
85180         * m4/regex.m4: Add AC_PREREQ(2.50).
85181         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
85182
85183 2005-08-25  Simon Josefsson  <jas@extundo.com>
85184
85185         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
85186         __fsetlocking.
85187
85188 2005-08-25  Simon Josefsson  <jas@extundo.com>
85189
85190         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
85191         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
85192         GLIBC specific code.
85193
85194 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
85195
85196         Make regex safe for g++.  This fixes one real bug (an "err"
85197         that should have been "*err").  g++ problem reported by
85198         Sam Steingold.
85199         * lib/regex_internal.h (re_calloc): New macro, consistent with
85200         re_malloc etc.  All callers of calloc changed to use re_calloc.
85201         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
85202         not int.  All callers changed.
85203         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
85204         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
85205         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
85206         (find_recover_state): Change "err" to "*err"; this fixes what
85207         appears to be a real bug.
85208         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
85209         versus int.
85210
85211 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
85212
85213         * modules/regex (Depends-on): Add malloc, since the code
85214         assumes that !malloc(0) means failure.
85215
85216 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
85217
85218         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
85219
85220         alloca modernization/simplification for regex.
85221         * lib/regex.c: Remove portability cruft for alloca.  This no longer
85222         needs to be at the start of the file, and can be moved into
85223         regex_internal.h and simplified.
85224         * lib/regex_internal.h: Include <alloca.h>.
85225         (__libc_use_alloca) [!defined _LIBC]: New macro.
85226         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
85227         now works outside glibc.
85228
85229 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
85230
85231         * config/srclist.txt: Add glibc bugs 1241, 1245.
85232
85233 2005-08-25  Jim Meyering  <jim@meyering.net>
85234
85235         * lib/open-safer.c: Include <config.h>.
85236         Otherwise, we'd lose LARGEFILE support in any file using
85237         e.g. "fcntl--.h"
85238
85239 2005-08-25  Bruno Haible  <bruno@clisp.org>
85240
85241         * m4/minmax.m4: Require autoconf 2.52.
85242         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
85243         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
85244         alternatives of translit over the alphabet.
85245         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
85246
85247 2005-08-24  Simon Josefsson  <jas@extundo.com>
85248
85249         * tests/test-getpass.c: New file.
85250
85251 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
85252
85253         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
85254         for GNU regex features.
85255
85256 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
85257
85258         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
85259         * lib/regex.h (regerror): Likewise.
85260
85261         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
85262         requires this.  (The code never needed it.)
85263
85264         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
85265         All uses of recently-renamed identifiers changed to use the new,
85266         POSIX-compliant names.  The code will build and run just fine
85267         without these changes, but it's better to eat our own dog food
85268         and use the standard-conforming names.
85269
85270         * lib/regex.h: Fix a multitude of POSIX name space violations.
85271         These changes have an effect only for programs that define
85272         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
85273         do not change anything for programs compiled in the normal way.
85274         Also, there is no effect on the ABI.
85275
85276         (_REGEX_SOURCE): New macro.
85277         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
85278         defined and _GNU_SOURCE is not; this fixes a name space violation.
85279
85280         Rename the following macros to obey POSIX requirements.
85281         The old names are still visible as macros if _REGEX_SOURCE is defined.
85282         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
85283         RE_BACKSLASH_ESCAPE_IN_LISTS.
85284         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
85285         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
85286         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
85287         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
85288         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
85289         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
85290         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
85291         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
85292         (REG_INTERVALS): renamed from RE_INTERVALS.
85293         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
85294         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
85295         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
85296         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
85297         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
85298         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
85299         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
85300         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
85301         RE_UNMATCHED_RIGHT_PAREN_ORD.
85302         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
85303         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
85304         (REG_DEBUG): renamed from RE_DEBUG.
85305         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
85306         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
85307         unusual, since we can't clash with the POSIX REG_ICASE.
85308         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
85309         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
85310         (REG_NO_SUB): renamed from RE_NO_SUB.
85311         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
85312         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
85313         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
85314         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
85315         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
85316         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
85317         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
85318         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
85319         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
85320         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
85321         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
85322         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
85323         RE_SYNTAX_POSIX_MINIMAL_BASIC.
85324         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
85325         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
85326         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
85327         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
85328         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
85329         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
85330         (REG_FIXED): Renamed from REGS_FIXED.
85331         (REG_NREGS): Renamed from RE_NREGS.
85332
85333         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
85334         of other REG_* macros, since POSIX says the user is allowed to
85335         #undef these macros selectively.
85336
85337         (reg_errcode_t): Update comment stating what other tables need
85338         to be consistent.
85339
85340         Rename the following enum values to obey POSIX requirements.
85341         The old names are still visible as macros.
85342         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
85343         is not defined, since GNU is supposed to be a superset of POSIX as
85344         much as possible, and since we want reg_errcode_t to be a signed
85345         type for implementation consistency.
85346         (_REG_NOERROR): Renamed from REG_NOERROR.
85347         (_REG_NOMATCH): Renamed from REG_NOMATCH.
85348         (_REG_BADPAT): Renamed from REG_BADPAT.
85349         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
85350         (_REG_ECTYPE): Renamed from REG_ECTYPE.
85351         (_REG_EESCAPE): Renamed from REG_EESCAPE.
85352         (_REG_ESUBREG): Renamed from REG_ESUBREG.
85353         (_REG_EBRACK): Renamed from REG_EBRACK.
85354         (_REG_EPAREN): Renamed from REG_EPAREN.
85355         (_REG_EBRACE): Renamed from REG_EBRACE.
85356         (_REG_BADBR): Renamed from REG_BADBR.
85357         (_REG_ERANGE): Renamed from REG_ERANGE.
85358         (_REG_ESPACE): Renamed from REG_ESPACE.
85359         (_REG_BADRPT): Renamed from REG_BADRPT.
85360         (_REG_EEND): Renamed from REG_EEND.
85361         (_REG_ESIZE): Renamed from REG_ESIZE.
85362         (_REG_ERPAREN): Renamed from REG_ERPAREN.
85363         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
85364         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
85365         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
85366         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
85367
85368         (_REG_RE_NAME, _REG_RM_NAME): New macros.
85369         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
85370         changed.  But support the old name if the new one is not defined
85371         and if _REGEX_SOURCE.
85372
85373         Change the following member names in struct re_pattern_buffer.
85374         The old names are still supported if !_REGEX_SOURCE.
85375         The new names are always supported, regardless of _REGEX_SOURCE.
85376         (re_buffer): Renamed from buffer.
85377         (re_allocated): Renamed from allocated.
85378         (re_used): Renamed from used.
85379         (re_syntax): Renamed from syntax.
85380         (re_fastmap): Renamed from fastmap.
85381         (re_translate): Renamed from translate.
85382         (re_can_be_null): Renamed from can_be_null.
85383         (re_regs_allocated): Renamed from regs_allocated.
85384         (re_fastmap_accurate): Renamed from fastmap_accurate.
85385         (re_no_sub): Renamed from no_sub.
85386         (re_not_bol): Renamed from not_bol.
85387         (re_not_eol): Renamed from not_eol.
85388         (re_newline_anchor): Renamed from newline_anchor.
85389
85390         Change the following member names in struct re_registers.
85391         The old names are still supported if !_REGEX_SOURCE.
85392         The new names are always supported, regardless of _REGEX_SOURCE.
85393         (rm_num_regs): Renamed from num_regs.
85394         (rm_start): Renamed from start.
85395         (rm_end): Renamed from end.
85396
85397         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
85398         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
85399         Prepend __ to parameter names.
85400
85401         Undo yesterday's changes.
85402
85403 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
85404
85405         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
85406         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
85407         lib/regex.c.
85408
85409 2005-08-24  Jim Meyering  <jim@meyering.net>
85410
85411         Sync from coreutils.
85412         * m4/fcntl-safer.m4: New file.
85413
85414         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
85415         and object files for this module.
85416
85417 2005-08-24  Jim Meyering  <jim@meyering.net>
85418
85419         Sync from coreutils.
85420         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
85421
85422 2005-08-24  Jim Meyering  <jim@meyering.net>
85423
85424         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
85425         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
85426
85427 2005-08-24  Jim Meyering  <jim@meyering.net>
85428
85429         * modules/fcntl-safer: New module.
85430         * modules/fts (Depends-on): Add fcntl-safer.
85431         * MODULES.html.sh (File descriptor based Input/Output):
85432         Add fcntl-safer.
85433
85434 2005-08-24  Bruno Haible  <bruno@clisp.org>
85435
85436         Support for unit test modules.
85437         * modules/README: Mention tests modules.
85438         * modules/TEMPLATE-TESTS: New file.
85439         * gnulib-tool: New options --extract-tests-module, --with-tests and
85440         --tests-base (unused for the moment).
85441         (testsbase, inctests): New variables.
85442         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
85443         (func_verify_module): Exclude TEMPLATE-TESTS.
85444         (func_verify_nontests_module, func_verify_tests_module): New functions.
85445         (func_get_dependencies): Add implicit dependency for tests modules.
85446         (func_get_tests_module): New function.
85447         (func_modules_transitive_closure): When --with-tests was specified,
85448         include the unit tests as well, unless explicitly avoided.
85449         (func_emit_lib_Makefile_am): Ignore the tests modules here.
85450         (func_emit_tests_Makefile_am): New function.
85451         (func_create_testdir): When --with-tests was specified, emit a
85452         tests/ directory.
85453         * MODULES.html.sh (Future developments): Update.
85454
85455 2005-08-24  Bruno Haible  <bruno@clisp.org>
85456
85457         * modules/tls-tests: New file.
85458         * tests/test-tls.c: New file, from GNU gettext.
85459
85460 2005-08-24  Bruno Haible  <bruno@clisp.org>
85461
85462         * modules/lock-tests: New file.
85463         * tests/test-lock.c: New file, from GNU gettext.
85464
85465 2005-08-24  Bruno Haible  <bruno@clisp.org>
85466
85467         * lib/lock.h: Add multiple inclusion guard.
85468         * lib/tls.h: Add multiple inclusion guard.
85469
85470 2005-08-24  Bruno Haible  <bruno@clisp.org>
85471
85472         * gnulib-tool: Add support for the --aux-dir option to
85473         --create-testdir, --create-megatestdir, --test, --megatest.
85474         (func_create_testdir, func_create_megatestdir): Optionally emit a
85475         AC_CONFIG_AUX_DIR directive.
85476         (create-testdir, create-megatestdir, test, megatest): Provide a
85477         default value for $auxdir.
85478
85479 2005-08-24  Bruno Haible  <bruno@clisp.org>
85480
85481         * gnulib-tool (import): Use compound statement instead of subshell
85482         where possible.
85483
85484 2005-08-24  Bruno Haible  <bruno@clisp.org>
85485
85486         * gnulib-tool (import): Change --aux-dir default to "build-aux".
85487
85488 2005-08-24  Bruno Haible  <bruno@clisp.org>
85489
85490         * gnulib-tool (func_version): Update.
85491
85492 2005-08-24  Bruno Haible  <bruno@clisp.org>
85493
85494         * gnulib-tool (func_import, func_create_testdir,
85495         func_create_megatestdir): Quote all autoconf macro arguments.
85496
85497 2005-08-24  Bruno Haible  <bruno@clisp.org>
85498
85499         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
85500         option --force, because --force causes the aclocal.m4 of each
85501         subdirectory to be newer than the corresponding config.h.in.
85502
85503 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
85504
85505         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
85506         All contents moved to gl_REGEX.
85507         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
85508         assume that it does.
85509
85510 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
85511
85512         * lib/regex.h (REG_NOSYS)
85513         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
85514         Define, since POSIX requires it as of 2001.
85515         (_REG_ENOSYS)
85516         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
85517         New private symbol, used to keep the enum signed in all cases.
85518         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
85519         Youngman in
85520         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
85521
85522         * lib/regex_internal.c (re_string_skip_chars, register_state):
85523         (calc_state_hash):
85524         Remove forward decls; no longer needed now that we use prototypes.
85525         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
85526         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
85527         (clean_state_log_if_needed): Likewise.
85528
85529 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
85530
85531         * config/srclist.txt: Add glibc bugs 1231-1233.
85532
85533 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
85534
85535         Fix problems reported by Sam Steingold in
85536         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
85537         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
85538         assumed that reg_errcode_t is a signed type, which is not
85539         necessarily true if _XOPEN_SOURCE is not defined.
85540         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
85541         since some compilers warn about it otherwise.
85542
85543 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
85544
85545         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
85546         (init_word_char, create_initial_state, duplicate_node_closure):
85547         (fetch_token, peek_token_bracket, build_range_exp):
85548         (build_collating_symbol): Remove forward decls; no longer needed
85549         now that we use prototypes.
85550
85551         * lib/regcomp.c:
85552         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
85553         (re_compile_fastmap_iter, regcomp, regerror, regfree):
85554         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
85555         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
85556         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
85557         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
85558         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
85559         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
85560         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
85561         (build_range_exp, build_collating_symbol, parse_bracket_exp):
85562         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
85563         (build_charclass, build_charclass_op, fetch_number, create_tree):
85564         (create_token_tree, mark_opt_subexp, duplicate_tree):
85565         Use prototypes rather than old-style definitions.
85566
85567         * lib/regex_internal.c:
85568         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
85569         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
85570         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
85571         (re_string_reconstruct, re_string_peek_byte_case):
85572         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
85573         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
85574         (re_node_set_init_copy, re_node_set_add_intersect):
85575         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
85576         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
85577         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
85578         (re_acquire_state, re_acquire_state_context, register_state):
85579         (create_ci_newstate, create_cd_newstate, free_state):
85580         Likewise.
85581         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
85582         re_search_2):
85583         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
85584         (re_search_internal, prune_impossible_nodes):
85585         (acquire_init_state_context, check_matching, static):
85586         (check_halt_node_context, check_halt_state_context, proceed_next_node):
85587         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
85588         (update_regs, sift_states_backward, build_sifted_states):
85589         (clean_state_log_if_needed, merge_state_array):
85590         (update_cur_sifted_state, add_epsilon_src_nodes):
85591         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
85592         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
85593         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
85594         (find_recover_state, check_subexp_matching_top, transit_state_mb):
85595         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
85596         (check_arrival, check_arrival_add_next_nodes):
85597         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
85598         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
85599         (check_node_accept_bytes, check_node_accept, extend_buffers):
85600         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
85601         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
85602         (sift_ctx_init):
85603         Likewise.
85604
85605         * lib/regex_internal.h:
85606         (re_string_allocate, re_string_construct, re_string_reconstruct):
85607         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
85608         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
85609         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
85610         (re_string_context_at, re_string_peek_byte_case):
85611         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
85612         is defined, since we now use prototypes always.
85613
85614         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
85615         C89 or better.  All uses removed.
85616
85617 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
85618
85619         * config/srclist.txt: Add glibc bugs 1220-1227.
85620
85621 2005-08-20  Jim Meyering  <jim@meyering.net>
85622
85623         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
85624         of unused local, dfa.
85625
85626 2005-08-20  Bruno Haible  <bruno@clisp.org>
85627
85628         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
85629
85630 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
85631
85632         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
85633         (re_node_set_insert_last, re_dfa_add_node):
85634         Rename local variables to avoid GCC shadowing warnings.
85635
85636 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
85637
85638         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
85639         [defined lint]: Suppress bogus uninitialized-variable warnings.
85640
85641         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
85642         and let the caller return REG_ESPACE if out of space.  This
85643         removes an uninitialied-variable warning with GCC 4.0.1, and also
85644         avoids taking the address of a local variable.  All callers
85645         changed.
85646
85647 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
85648
85649         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
85650         $LIBCSRC/posix/regexec.c.
85651         Add glibc bug 1217 for regcomp.c.
85652
85653 2005-08-19  Jim Meyering  <jim@meyering.net>
85654
85655         * lib/regexec.c (proceed_next_node): Redo local variables to
85656         avoid GCC shadowing warnings.
85657
85658 2005-08-18  Bruno Haible  <bruno@clisp.org>
85659
85660         * lib/strstr.c (strstr): Fix return value in multibyte case.
85661         * lib/strcasestr.c (strcasestr): Likewise.
85662
85663 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
85664
85665         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
85666
85667 2005-08-17  Jim Meyering  <jim@meyering.net>
85668
85669         Make the %s format (seconds since the epoch) work for a negative
85670         number and when used with a zero-padded field width, e.g. %015s.
85671
85672         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
85673         label so that it precedes the code to set `digits'.  Otherwise,
85674         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
85675         print `00-22'.  Now, it prints `-0022', as it should.
85676
85677 2005-08-17  Bruno Haible  <bruno@clisp.org>
85678
85679         * modules/strstr (Files): Add m4/mbrtowc.m4.
85680         (Depends-on): Add mbuiter.
85681
85682 2005-08-17  Bruno Haible  <bruno@clisp.org>
85683
85684         * modules/strcasestr: New file.
85685         * MODULES.html.sh (String handling, based on ANSI C 89): Add
85686         strcasestr.
85687
85688 2005-08-17  Bruno Haible  <bruno@clisp.org>
85689
85690         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
85691
85692 2005-08-17  Bruno Haible  <bruno@clisp.org>
85693
85694         * modules/mbuiter: New file.
85695         * MODULES.html.sh (Extended multibyte and wide character utilities):
85696         Add mbuiter.
85697
85698 2005-08-17  Bruno Haible  <bruno@clisp.org>
85699
85700         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
85701         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
85702
85703 2005-08-17  Bruno Haible  <bruno@clisp.org>
85704
85705         * m4/strcasestr.m4: New file.
85706
85707 2005-08-17  Bruno Haible  <bruno@clisp.org>
85708
85709         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
85710         * lib/strstr.c: Completely rewritten, with multibyte locale support.
85711
85712 2005-08-17  Bruno Haible  <bruno@clisp.org>
85713
85714         * lib/strcasestr.h: New file.
85715         * lib/strcasestr.c: New file.
85716
85717 2005-08-17  Bruno Haible  <bruno@clisp.org>
85718
85719         * lib/strcasecmp.c: Use mbuiter.h.
85720
85721 2005-08-17  Bruno Haible  <bruno@clisp.org>
85722
85723         * lib/mbuiter.h: New file.
85724
85725 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
85726
85727         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
85728         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
85729         and gl_GETOPT are both invoked via different paths (as happens
85730         with GNU tar CVS because it uses both argp and getopt), the former
85731         wins.
85732
85733 2005-08-16  Bruno Haible  <bruno@clisp.org>
85734
85735         * modules/tls: New file.
85736         * MODULES.html.sh (Multithreading): Add tls.
85737
85738 2005-08-16  Bruno Haible  <bruno@clisp.org>
85739
85740         * modules/strnlen1: New file.
85741         * MODULES.html.sh (String handling): Add strnlen1.
85742
85743 2005-08-16  Bruno Haible  <bruno@clisp.org>
85744
85745         * modules/strcase (Files): Add m4/mbrtowc.m4.
85746         (Depends-on): Add strnlen1, mbchar.
85747
85748 2005-08-16  Bruno Haible  <bruno@clisp.org>
85749
85750         * modules/mbiter: New file.
85751         * MODULES.html.sh (Extended multibyte and wide character utilities):
85752         Add mbiter.
85753
85754 2005-08-16  Bruno Haible  <bruno@clisp.org>
85755
85756         * modules/mbfile: New file.
85757         * MODULES.html.sh (Extended multibyte and wide character utilities):
85758         Add mbfile.
85759
85760 2005-08-16  Bruno Haible  <bruno@clisp.org>
85761
85762         * modules/mbchar: New file.
85763         * MODULES.html.sh (Extended multibyte and wide character utilities):
85764         New section.
85765
85766 2005-08-16  Bruno Haible  <bruno@clisp.org>
85767
85768         * m4/tls.m4: New file, from GNU gettext.
85769
85770 2005-08-16  Bruno Haible  <bruno@clisp.org>
85771
85772         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
85773         always.
85774         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
85775
85776 2005-08-16  Bruno Haible  <bruno@clisp.org>
85777
85778         * m4/mbiter.m4: New file.
85779
85780 2005-08-16  Bruno Haible  <bruno@clisp.org>
85781
85782         * m4/mbfile.m4: New file.
85783
85784 2005-08-16  Bruno Haible  <bruno@clisp.org>
85785
85786         * m4/mbchar.m4: New file.
85787
85788 2005-08-16  Bruno Haible  <bruno@clisp.org>
85789
85790         * lib/tls.h: New file, from GNU gettext.
85791         * lib/tls.c: New file, from GNU gettext.
85792
85793 2005-08-16  Bruno Haible  <bruno@clisp.org>
85794
85795         * lib/strnlen1.h: New file.
85796         * lib/strnlen1.c: New file.
85797
85798 2005-08-16  Bruno Haible  <bruno@clisp.org>
85799
85800         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
85801         (mbi_init): Update.
85802         (mbi_avail, mbi_advance): Let the iteration end before the terminating
85803         NUL byte, not after it.
85804
85805 2005-08-16  Bruno Haible  <bruno@clisp.org>
85806
85807         * lib/strcase.h (strcasecmp): Add note in comments.
85808         * lib/strncasecmp.c: Use code from strcasecmp.c.
85809         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
85810         (strcasecmp): Work correctly in multibyte locales.
85811
85812 2005-08-16  Bruno Haible  <bruno@clisp.org>
85813
85814         * lib/mbiter.h: New file.
85815
85816 2005-08-16  Bruno Haible  <bruno@clisp.org>
85817
85818         * lib/mbfile.h: New file.
85819
85820 2005-08-16  Bruno Haible  <bruno@clisp.org>
85821
85822         * lib/mbchar.h: New file.
85823         * lib/mbchar.c: New file.
85824
85825 2005-08-16  Bruno Haible  <bruno@clisp.org>
85826
85827         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
85828         the valid ones. Makes the comparison operations transitive:
85829         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
85830         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
85831
85832 2005-08-15  Simon Josefsson  <jas@extundo.com>
85833
85834         * modules/ssize_t (License): Change to 'unlimited'.
85835
85836         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
85837
85838 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
85839
85840         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
85841         Add comments for each pending glibc patch.
85842
85843 2005-08-15  Bruno Haible  <bruno@clisp.org>
85844
85845         * lib/regex.h (__restrict_arr): Don't define to __restrict if
85846         __cplusplus is defined.
85847
85848 2005-08-14  Jim Meyering  <jim@meyering.net>
85849
85850         Sync from coreutils.
85851
85852         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
85853         Use the hash-table-based cycle-detection code not just when
85854         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
85855         Reported by James Youngman in
85856         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
85857         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
85858         FTS_TIGHT_CYCLE_CHECK.
85859         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
85860         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
85861         once again.
85862         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
85863         * lib/fts.c (fd_safer): Remove decl.
85864         Include fcntl--.h rather than unistd-safer.h
85865         (fts_safe_changedir): Don't call fd_safer; no longer needed
85866         now that we include fcntl--.h.
85867
85868 2005-08-12  Simon Josefsson  <jas@extundo.com>
85869
85870         * modules/getndelim2: Use ssize_t module.
85871         * modules/getnline: Likewise.
85872         * modules/safe-read: Likewise.
85873         * modules/xreadlink: Likewise.
85874
85875         * modules/ssize_t: New file.
85876
85877 2005-08-12  Simon Josefsson  <jas@extundo.com>
85878
85879         * m4/readline.m4: Look for termcap, curses or ncurses if required.
85880
85881 2005-08-12  Simon Josefsson  <jas@extundo.com>
85882
85883         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
85884         ssize_t.
85885
85886 2005-08-12  Simon Josefsson  <jas@extundo.com>
85887
85888         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
85889         readline, getdelim and check_version.
85890         (Support for systems lacking ISO C 99: Sizes of integer types):
85891         Add size_max.
85892
85893 2005-08-12  Bruno Haible  <bruno@clisp.org>
85894
85895         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
85896
85897 2005-08-11  Simon Josefsson  <jas@extundo.com>
85898
85899         * modules/readline: New file.
85900
85901         * modules/strnlen (Files): Add strnlen.h.
85902
85903 2005-08-11  Simon Josefsson  <jas@extundo.com>
85904
85905         * m4/readline.m4: New file.
85906
85907 2005-08-11  Simon Josefsson  <jas@extundo.com>
85908
85909         * lib/readline.h, readline.c: New file.
85910
85911 2005-08-11  Simon Josefsson  <jas@extundo.com>
85912
85913         * doc/gnulib.texi (Initial import, Finishing touches): Mention
85914         gl_AVOID.
85915
85916 2005-08-11  Bruno Haible  <bruno@clisp.org>
85917
85918         * lib/strnlen.h (strnlen): Change parameter name to match comment.
85919
85920 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
85921
85922         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
85923
85924 2005-08-10  Simon Josefsson  <jas@extundo.com>
85925
85926         * tests/test-iconvme.c: New file.
85927
85928 2005-08-10  Simon Josefsson  <jas@extundo.com>
85929
85930         * m4/strnlen.m4: New file.
85931
85932         * m4/strndup.m4: Don't check for strnlen declaration, done in
85933         strnlen.m4.
85934
85935 2005-08-10  Simon Josefsson  <jas@extundo.com>
85936
85937         * lib/strndup.c: Use strnlen.h.
85938
85939         * lib/strnlen.h: New file.
85940
85941 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
85942
85943         * README: Typos.
85944
85945 2005-08-02  Simon Josefsson  <jas@extundo.com>
85946
85947         * modules/readline: New file.
85948
85949 2005-08-02  Simon Josefsson  <jas@extundo.com>
85950
85951         * modules/getdelim: New file.
85952
85953         * modules/getline: Rewrite, don't use getndelim2.
85954
85955 2005-08-02  Simon Josefsson  <jas@extundo.com>
85956
85957         * m4/getline.m4: Separate out getdelim stuff into separate module.
85958
85959         * m4/getdelim.m4: New file.
85960
85961 2005-08-02  Simon Josefsson  <jas@extundo.com>
85962
85963         * lib/getline.h, getline.c: Rewrite.
85964
85965         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
85966
85967 2005-07-31  Bruno Haible  <bruno@clisp.org>
85968
85969         * lib/lock.h (gl_lock_initializer): New macro.
85970         (gl_lock_define_initialized): Use it.
85971         (gl_rwlock_initializer): New macro.
85972         (gl_rwlock_define_initialized): Use it.
85973         (gl_recursive_lock_initializer): New macro.
85974         (gl_recursive_lock_define_initialized): Use it.
85975
85976 2005-07-30  Karl Berry  <karl@gnu.org>
85977
85978         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
85979         Report from Ben Pfaff, regarding getopt.
85980
85981 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
85982
85983         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
85984         normal way.
85985         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
85986         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
85987         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
85988         (gl_GETOPT): Use the new macros.  Most of the implementation
85989         is moved to the new macros.  This is for programs like Emacs
85990         that don't want all the functionality of gl_GETOPT.
85991
85992 2005-07-26  Bruno Haible  <bruno@clisp.org>
85993
85994         * m4/lock.m4: Update from GNU gettext.
85995
85996 2005-07-26  Bruno Haible  <bruno@clisp.org>
85997
85998         * lib/lock.h: Update from GNU gettext.
85999         * lib/lock.c: Update from GNU gettext.
86000
86001 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
86002
86003         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
86004         obsolescent AC_TRY_RUN.  Include the default includes files, for
86005         'exit'.
86006
86007 2005-07-24  Bruno Haible  <bruno@clisp.org>
86008
86009         * modules/visibility: New file.
86010         * MODULES.html.sh (Misc): Add visibility.
86011
86012 2005-07-24  Bruno Haible  <bruno@clisp.org>
86013
86014         * m4/visibility.m4: New file.
86015
86016 2005-07-24  Bruno Haible  <bruno@clisp.org>
86017
86018         * doc/visibility.texi: New file.
86019
86020 2005-07-22  Bruno Haible  <bruno@clisp.org>
86021
86022         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
86023         $(ALLOCA_H), redundant through BUILT_SOURCES.
86024         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
86025         redundant through BUILT_SOURCES.
86026         * modules/byteswap (Makefile.am): Remove explicit dependency on
86027         $(BYTESWAP_H), redundant through BUILT_SOURCES.
86028         * modules/fnmatch (Makefile.am): Remove explicit dependency on
86029         $(FNMATCH_H), redundant through BUILT_SOURCES.
86030         * modules/getopt (Makefile.am): Remove explicit dependency on
86031         $(GETOPT_H), redundant through BUILT_SOURCES.
86032         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
86033         redundant through BUILT_SOURCES.
86034         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
86035         redundant through BUILT_SOURCES.
86036         * modules/stdbool (Makefile.am): Remove explicit dependency on
86037         $(STDBOOL_H), redundant through BUILT_SOURCES.
86038         * modules/stdint (Makefile.am): Remove explicit dependency on
86039         $(STDINT_H), redundant through BUILT_SOURCES.
86040         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
86041         Remove explicit dependency on $(SYSEXITS_H).
86042         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
86043
86044 2005-07-18  Simon Josefsson  <jas@extundo.com>
86045
86046         * lib/check-version.c (check_version): Accept identical versions too.
86047
86048 2005-07-18  Bruno Haible  <bruno@clisp.org>
86049
86050         * modules/lock: New file.
86051         * MODULES.html.sh (Multithreading): New section.
86052
86053 2005-07-18  Bruno Haible  <bruno@clisp.org>
86054
86055         * m4/lock.m4: New file, from GNU gettext.
86056
86057 2005-07-18  Bruno Haible  <bruno@clisp.org>
86058
86059         * lib/lock.h: New file, from GNU gettext.
86060         * lib/lock.c: New file, from GNU gettext.
86061
86062 2005-07-18  Bruno Haible  <bruno@clisp.org>
86063
86064         * lib/lock.h (gl_once_t): New type.
86065         (gl_once_define, gl_once): New macros.
86066         * lib/lock.c (fresh_once): New variable.
86067         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
86068         functions.
86069
86070 2005-07-16  Simon Josefsson  <jas@extundo.com>
86071
86072         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
86073         workaround, suggested by Bruno.
86074
86075 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
86076
86077         * modules/xalloc (Depends-on): Add xalloc-die.
86078         * modules/xvasprintf (Depends-on): Add xalloc-die.
86079
86080 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
86081
86082         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
86083         with a minor change.
86084
86085 2005-07-15  Bruno Haible  <bruno@clisp.org>
86086
86087         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
86088         When using lib/poll.c, define poll as rpl_poll.
86089
86090 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
86091
86092         * modules/argp (Depends-on): Remove unlocked-io.
86093
86094 2005-07-14  Derek Price  <derek@ximbiot.com>
86095
86096         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
86097         for glob symlink bug.
86098
86099 2005-07-14  Bruno Haible  <bruno@clisp.org>
86100
86101         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
86102         Instead, test for *_unlocked function declarations directly.
86103
86104 2005-07-11  Simon Josefsson  <jas@extundo.com>
86105
86106         * modules/size_max: New file.
86107
86108         * modules/xsize: Depend on size_max module for size_max.m4.
86109
86110 2005-07-11  Simon Josefsson  <jas@extundo.com>
86111
86112         * lib/size_max.h: New file.
86113
86114 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
86115
86116         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
86117         copyright symbol and the year.
86118         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
86119         (version_etc_va): Use parameterized copyright notice.
86120         Reword to conform to the current GNU coding standards.
86121
86122 2005-07-11  Karl Berry  <karl@gnu.org>
86123
86124         * doc/gnulib.texi (Quoting): new node.
86125         (Initial import): more info, from Patrice.
86126
86127 2005-07-11  Bruno Haible  <bruno@clisp.org>
86128
86129         * gnulib-tool (func_usage): Document option --avoid.
86130         (Command line options): Handle --avoid.
86131         (func_acceptable): New function.
86132         (func_modules_transitive_closure): Use it.
86133
86134 2005-07-11  Bruno Haible  <bruno@clisp.org>
86135
86136         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
86137         Reported by Jim Meyering.
86138
86139 2005-07-10  Bruno Haible  <bruno@clisp.org>
86140
86141         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
86142         Needed when size_t is smaller than 'unsigned int'.
86143         Reported by Paul Eggert.
86144
86145 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
86146
86147         * modules/argp (Depends-on): Add unlocked-io
86148
86149 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
86150
86151         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
86152         block of defines.
86153
86154 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
86155
86156         * config/srclist.txt: Comment out regcomp.c, since we have a porting
86157         fix now.
86158
86159 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
86160         and Paul Eggert  <eggert@cs.ucla.edu>
86161
86162         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
86163         in wint_t, not wchar_t.  Remove now-unnecessary cast.
86164
86165 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
86166
86167         * modules/regex (Files): Add lib/regex_internal.c,
86168         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
86169         (Depends-on): Add extensions.
86170         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
86171
86172 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
86173
86174         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
86175         pathconf.
86176         * m4/same.m4 (gl_SAME): Likewise.
86177         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
86178
86179         * m4/regex.m4: Adjust to new libc regex implementation.
86180         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
86181         all the .c and .h parts of (the new) regex.
86182         Quote the m4 stuff better.
86183         Check for RE_ICASE bug of old gnulib.
86184         Check for REG_STARTEND of recent libc.
86185         Rename local variables from jm_* to gl_*.
86186         Quote operand of "test -f".
86187         Say "recent enough" version of libc, not "version 2".
86188         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
86189         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
86190         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
86191         Remove check for btowc, isascii.
86192         Require AM_LANGINFO_CODESET.
86193
86194 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
86195
86196         * lib/regex.c, regex.h: Sync from libc.
86197         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
86198         * lib/regexec.c:
86199         New files, synced from libc, except that regex_internal.h
86200         currently has a small porting fix.
86201
86202 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
86203
86204         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
86205         regex_internal.c, regexec.c.
86206         Add regex_internal.h too, but as a comment, since the libc version
86207         is currently broken in gnulib mode.
86208
86209 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
86210
86211         Support programs like Emacs that use gnulib but not gettext.
86212         * MODULES.html.sh (Internationalization functions): Add gettext-h.
86213         * modules/gettext-h: New file.
86214         * modules/gettext (Files): Remove lib/gettext.h.
86215         (Depends-on): Add gettext-h.
86216         (Makefile.am): Remove lib_SOURCES.
86217         * modules/argmatch, modules/c-stack, modules/closeout:
86218         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
86219         * modules/execute, modules/file-type, modules/getaddrinfo:
86220         * modules/getopt, modules/human, modules/javacomp:
86221         * modules/javaexec, modules/mkdir-p, modules/obstack:
86222         * modules/openat, modules/pagealign_alloc, modules/pipe:
86223         * modules/quotearg, modules/regex, modules/rpmatch:
86224         * modules/unicodeio, modules/userspec, modules/version-etc:
86225         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
86226         * modules/xsetenv:
86227         Depend on gettext-h, not gettext.
86228
86229 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
86230
86231         * gnulib-tool (func_import): Add support for 'public domain' license.
86232         * modules/alloca, modules/atexit, modules/memmove:
86233         Now public domain, not GPL.
86234         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
86235         * modules/realloc, modules/strerror, modules/strtod:
86236         Now LGPL, not GPL.
86237
86238 2005-07-05  Bruno Haible  <bruno@clisp.org>
86239
86240         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
86241         autoconf CVS. Needed for mingw.
86242
86243 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
86244
86245         Remove the dependency of the strftime module on the tzset module.
86246         * modules/strftime (Depends-on): Remove dependency on tzset.
86247
86248 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
86249
86250         Remove the dependency of the strftime module on the tzset module.
86251         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
86252         gl_FUNC_TZSET_CLOBBER.
86253
86254 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
86255
86256         Remove the dependency of the strftime module on the tzset module.
86257         * lib/strftime.c (my_strftime)
86258         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
86259         Copy the input structure, to work around some of the bug with
86260         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
86261         Solaris releases, you should also use the tzset module, but we won't
86262         require it as a dependency any more since we don't want LGPLed code
86263         to depend on GPLed code.
86264
86265 2005-07-02  Jim Meyering  <jim@meyering.net>
86266
86267         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
86268         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
86269         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
86270         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
86271
86272 2005-07-02  Jim Meyering  <jim@meyering.net>
86273
86274         * lib/backupfile.c (backup_args): Change a `0' to NULL.
86275
86276 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
86277
86278         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
86279         declares only 'struct timespec;' (!).
86280
86281 2005-07-01  Jim Meyering  <jim@meyering.net>
86282
86283         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
86284         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
86285         * lib/save-cwd.c, tempname.c:
86286         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
86287         and don't include <sys/file.h>).
86288
86289 2005-06-29  Jim Meyering  <jim@meyering.net>
86290
86291         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
86292         type name.  Use the variable name instead.
86293         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
86294         Likewise.
86295
86296 2005-06-28  Simon Josefsson  <jas@extundo.com>
86297
86298         * modules/check-version (Files): Add check-version.m4.
86299
86300 2005-06-28  Simon Josefsson  <jas@extundo.com>
86301
86302         * m4/check-version.m4: New file, suggested by Jim Meyering
86303         <jim@meyering.net>.
86304
86305 2005-06-28  Simon Josefsson  <jas@extundo.com>
86306
86307         * lib/check-version.h, lib/check-version.c: New files.
86308
86309 2005-06-28  Simon Josefsson  <jas@extundo.com>
86310
86311         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
86312         collision with global variable.  Better indentation.  Don't
86313         increment buffer pointer beyond buffer end.  Based on comments
86314         from Paul Eggert <eggert@cs.ucla.edu>.
86315
86316         * lib/base64.h: Indent.
86317
86318 2005-06-28  Simon Josefsson  <jas@extundo.com>
86319
86320         * doc/gnulib.texi (Library version handling): New section.
86321
86322 2005-06-28  Jim Meyering  <jim@meyering.net>
86323
86324         * check-module (find_included_lib_files): Hard-code another
86325         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
86326         but modules/fts-lgpl (correctly) does not list those files.
86327
86328         * modules/canonicalize (Files): Add lib/pathmax.h.
86329
86330 2005-06-25  Simon Josefsson  <jas@extundo.com>
86331
86332         * modules/check-version: New file.
86333
86334 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
86335
86336         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
86337         initializer of struct addrinfo, as an indication that we don't
86338         care how many members the structure has.
86339
86340 2005-06-24  Derek Price  <derek@ximbiot.com>
86341         and Bruno Haible  <bruno@clisp.org>
86342
86343         Remove stat module & update lstat.
86344         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
86345         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
86346         * m4/stat.m4: Remove this file.
86347
86348 2005-06-24  Derek Price  <derek@ximbiot.com>
86349         and Bruno Haible  <bruno@clisp.org>
86350
86351         Remove stat module & update lstat.
86352         * lib/stat.c: Remove this file...
86353         (slash_aware_lstat): ...moving this content and its support...
86354         * lib/lstat.c (rpl_lstat): ...into here.
86355         * lib/lstat.h: New file.
86356
86357 2005-06-24  Derek Price  <derek@ximbiot.com>
86358         and Bruno Haible  <bruno@clisp.org>
86359
86360         Remove stat module & update lstat.
86361         * config/srclist.txt (libc sources): Remove stat.
86362
86363 2005-06-24  Derek Price  <derek@ximbiot.com>
86364         and Bruno Haible  <bruno@clisp.org>
86365
86366         Remove stat module & update lstat.
86367         * MODULES.html.sh (stat): Remove.
86368         * MODULES.html: Regenerated.
86369         * modules/lstat (Description): Correct function name.
86370         (Files): Add "lstat.h".
86371         (Depends-on): Remove stat, add xalloc, stat-macros.
86372         * modules/stat: Remove this file.
86373         (Include): Add "lstat.h", remove <sys/stat.h>.
86374
86375 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
86376
86377         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
86378         (ranged_convert): Don't save conversion in a temporary struct.
86379         This causes a warning with GCC 4.0.0, and anyway in the typical
86380         case it's not worth the extra 100 bytes or so of code.
86381         (ranged_convert, __mktime_internal): When calling a function via a
86382         pointer P, use P () rather than (*P) (), as we now assume C89 or
86383         better.
86384
86385 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
86386
86387         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
86388         "who -r" failed to give output.  Problem reported by Tim Waugh.
86389
86390         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
86391         (xcalloc): Use it to avoid needless tests.
86392         Problem reported by Jim Meyering.
86393
86394 2005-06-20  Derek Price  <derek@ximbiot.com>
86395
86396         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
86397         unnecessary for Autoconfs > 2.59c.
86398
86399 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
86400
86401         * lib/argp.h (__option_is_short): Check upper limit of
86402         __key. Isprint() requires its argument to have the value
86403         of an unsigned char or EOF.
86404
86405 2005-06-16  Jim Meyering  <jim@meyering.net>
86406
86407         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
86408         when either N or S is zero.
86409
86410 2005-06-16  Derek Price  <derek@ximbiot.com>
86411
86412         * m4/bison.m4: Declare YACC & YFLAGS precious.
86413
86414 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
86415
86416         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
86417         multibyte string or pattern, fall back on unibyte matching.
86418         Problem reported by James Youngman.
86419
86420 2005-06-08  Bruno Haible  <bruno@clisp.org>
86421
86422         * modules/csharpcomp: New file.
86423         * MODULES.html.sh (C#): Add csharpcomp.
86424
86425 2005-06-08  Bruno Haible  <bruno@clisp.org>
86426
86427         * m4/csharpcomp.m4: New file, from GNU gettext.
86428
86429 2005-06-08  Bruno Haible  <bruno@clisp.org>
86430
86431         * lib/csharpcomp.h: New file, from GNU gettext.
86432         * lib/csharpcomp.c: New file, from GNU gettext.
86433         * lib/csharpcomp.sh.in: New file, from GNU gettext.
86434
86435 2005-06-08  Bruno Haible  <bruno@clisp.org>
86436
86437         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
86438         warning on mingw.
86439
86440 2005-06-07  Derek Price  <derek@ximbiot.com>
86441
86442         Sync from CVS.
86443         * lib/glob_.h: Indent nested #ifdef.
86444
86445 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
86446
86447         Sync from coreutils.
86448         Use "file name" when talking about file names, instead of "filename"
86449         or "path", as per the GNU coding standards.
86450         * lib/mkdir-p.c: Renamed from makepath.c.
86451         (make_dir_parents): Renamed from make_path.  All callers changed.
86452         * lib/mkdir-p.h: Likewise.  All includers changed.
86453         * lib/filenamecat.c: Renamed from path-concat.c.
86454         (file_name_concat): Renamed from path_concat.  All callers changed.
86455         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
86456         * lib/filenamecat.h: Likewise.  All includers changed.
86457         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
86458         in comments or local variable names.
86459         * lib/basename.c: Likewise.
86460         * lib/canonicalize.c, canonicalize.h: Likewise.
86461         * lib/dirname.c, dirname.h: Likewise.
86462         * lib/euidaccess.c: Likewise.
86463         * lib/exclude.c: Likewise
86464         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
86465         * lib/fsusage.c, fsuage.h: Likewise.
86466         * lib/fts.c, fts_.h: Likewise.
86467         * lib/getcwd.c: Likewise.
86468         * lib/getloadavg.c: Likewise.
86469         * lib/mkstemp.c: Likewise.
86470         * lib/mountlist.c, mountlist.h: Likewise.
86471         * lib/openat.c, openat.h: Likewise.
86472         * lib/readlink-stub.c: Likewise.
86473         * lib/readutmp.c, readutmp.h: Likewise.
86474         * lib/rename.c: Likewise.
86475         * lib/rmdir.c: Likewise.
86476         * lib/same.c: Likewise.
86477         * lib/savedir.c: Likewise.
86478         * lib/stripslash.c: Likewise.
86479         * lib/tempname.c: Likewise.
86480         * lib/xreadlink.c: Likewise.
86481         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
86482         All uses changed.
86483         * lib/exclude.h: Likewise.
86484
86485         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
86486         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
86487         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
86488         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
86489         * lib/pathmax.h: Include <limits.h> unconditionally, since other
86490         files have been getting away with it for years (MORE/BSD 4.3
86491         is extinct now).
86492         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
86493         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
86494
86495         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
86496         Define to 256, not 255, as per modern POSIX.
86497
86498 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
86499
86500         Sync from coreutils.
86501         Use "file name" when talking about file names, instead of "filename"
86502         or "path", as per the GNU coding standards.
86503         * MODULES.html.sh: mkdir-p renamed from makepath.
86504         filenamecat renamed from path-concat.
86505         * modules/filenamecat: Renamed from modules/path-concat.
86506         (Files): filenamecat.h and filenamecat.c renamed from
86507         path-concat.h and path-concat.c.
86508         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
86509         (Include): filenamecat.h, not path-concat.h.
86510         * modules/mkdir-p: Renamed from modules/makepath.
86511         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
86512         makepath.c.
86513         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
86514         (Include): mkdir-p.h, not makepath.h.
86515
86516 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
86517
86518         Sync from coreutils.
86519         * m4/mkdir-p.m4: Renamed from makepath.m4.
86520         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
86521         Rename files from makepath.c to mkdir-p.c, and from
86522         makepath.h to mkdir-p.h.
86523         * m4/filenamecat.m4: Renamed from path-concat.m4.
86524         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
86525         Rename files from path-concat.c to filenamecat.c,
86526         and from path-concat.h to filenamecat.h.
86527         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
86528         "file name" in local variables or comments.
86529         * m4/rename.m4: Likewise.
86530
86531 2005-06-01  Bruno Haible  <bruno@clisp.org>
86532
86533         * modules/csharpexec: New file.
86534         * MODULES.html.sh (C#): New section.
86535
86536 2005-06-01  Bruno Haible  <bruno@clisp.org>
86537
86538         * m4/csharp.m4: New file, from GNU gettext.
86539         * m4/csharpexec.m4: New file, from GNU gettext.
86540
86541 2005-06-01  Bruno Haible  <bruno@clisp.org>
86542
86543         * lib/csharpexec.h: New file, from GNU gettext.
86544         * lib/csharpexec.c: New file, from GNU gettext.
86545         * lib/csharpexec.sh.in: New file, from GNU gettext.
86546
86547 2005-05-31  Derek Price  <derek@ximbiot.com>
86548             Paul Eggert  <eggert@cs.ucla.edu>
86549
86550         Sync from cvs.
86551         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
86552
86553 2005-05-31  Derek Price  <derek@ximbiot.com>
86554             Paul Eggert  <eggert@cs.ucla.edu>
86555
86556         Sync from cvs.
86557         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
86558
86559 2005-05-29  Derek Price  <derek@ximbiot.com>
86560
86561         * config/srclist.txt (glob_.h, glob.c): Add these files.
86562
86563 2005-05-29  Derek Price  <derek@ximbiot.com>
86564
86565         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
86566         * modules/glob: New file.
86567         * modules/getlogin_r: Add link to POSIX spec in description.
86568
86569 2005-05-29  Derek Price  <derek@ximbiot.com>
86570             Paul Eggert  <eggert@cs.ucla.edu>
86571
86572         * m4/glob.m4: New file.
86573
86574 2005-05-29  Derek Price  <derek@ximbiot.com>
86575             Paul Eggert  <eggert@cs.ucla.edu>
86576
86577         * lib/glob_.h, lib/glob.c: New files.
86578
86579 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
86580
86581         * modules/fts (Files): Remove m4/inttypes-pri.m4.
86582         * modules/fts-lgpl (Depends-on): Remove gettext.
86583
86584 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
86585
86586         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
86587         and don't require gt_INTTYPES_PRI.
86588
86589 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
86590
86591         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
86592
86593         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
86594         the configuration hassle isn't worth it.
86595         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
86596         (LONGEST_MODIFIER, PRIuMAX): Remove.
86597
86598 2005-05-27  Bruno Haible  <bruno@clisp.org>
86599
86600         * lib/getlogin_r.h: Remove second include of <stddef.h>.
86601
86602 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
86603
86604         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
86605         _POSIX_PTHREAD_SEMANTICS for Solaris.
86606
86607 2005-05-25  Derek Price  <derek@ximbiot.com>
86608
86609         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
86610
86611 2005-05-25  Derek Price  <derek@ximbiot.com>
86612             Paul Eggert  <eggert@cs.ucla.edu>
86613
86614         * modules/getlogin_r, m4/getlogin_r.m4: New files.
86615         * lib/getlogin_r.c, getlogin_r.h: New files.
86616
86617 2005-05-25  Bruno Haible  <bruno@clisp.org>
86618             Derek Price  <derek@ximbiot.com>
86619
86620         * lib/getlogin_r.h: Simplify API documentation.
86621
86622 2005-05-23  Derek Price  <derek@ximbiot.com>
86623
86624         * modules/minmax (Files): Add m4/minmax.m4.
86625         (configure.ac): Add gl_MINMAX.
86626
86627 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
86628
86629         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
86630         so that unistd-safer.h (GPL'ed code) need not be included.
86631
86632 2005-05-22  Bruno Haible  <bruno@clisp.org>
86633
86634         * m4/minmax.m4: New file.
86635         Based on a patch by Derek Price <derek@ximbiot.com>.
86636
86637 2005-05-22  Bruno Haible  <bruno@clisp.org>
86638
86639         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
86640         (INT64_MIN): Fix definition.
86641         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
86642
86643         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
86644         NEED_SIGNED_INT_TYPES.
86645
86646         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
86647         HAVE_SYSTEM_INTTYPES.
86648
86649 2005-05-22  Bruno Haible  <bruno@clisp.org>
86650
86651         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
86652         Also include <sys/param.h> if it defines MIN, MAX.
86653         Based on a patch by Derek Price <derek@ximbiot.com>.
86654
86655 2005-05-21  Jim Meyering  <jim@meyering.net>
86656
86657         * modules/fts (Files): Add m4/inttypes-pri.m4.
86658         (Depends-on): Add lstat and remove gettext.  Alphabetize.
86659
86660 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
86661
86662         New fts module.
86663         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
86664         (setup_dir, free_dir): New functions.
86665         (enter_dir, leave_dir): Define trivial
86666         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
86667         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
86668         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
86669         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
86670         Move to fts-cycle.c.
86671         (fts_open): Use setup_dir.
86672         (fts_close): Use free_dir.
86673         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
86674         This adds a label and some gotos, but the alternatives were messier.
86675         Check for memory allocation failure when entering a dir.
86676         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
86677         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
86678         (FTS): New member fts_cycle, that is a union that contains the
86679         old active_dir_ht and cycle_state.  All uses changed to mention
86680         fts_cycle.ht and fts_cycle.state.
86681         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
86682         fts.c, with the following changes:
86683         (setup_dir, free_dir): New functions.
86684         (enter_dir): Now returns bool.  Return true if successful, false
86685         if memory exhausted.  All callers changed.
86686         Do not bother partly cleaning up on
86687         memory allocation failure; that is free_dir's job.
86688         However, free ad if hash_insert fails, to avoid memory leak.
86689         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
86690         fts->fts_options to see which union member to use.
86691
86692 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
86693
86694         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
86695         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
86696
86697 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
86698
86699         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
86700
86701 2005-05-20  Jim Meyering  <jim@meyering.net>
86702
86703         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
86704         Now a macro, to pacify GCC.
86705
86706 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
86707
86708         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
86709         of -1.
86710
86711 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
86712
86713         * lib/chown.c (rpl_chown): Return -1 on failure.
86714
86715 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
86716
86717         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
86718         Don't check for stddef.h.
86719         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
86720         don't use its results.
86721         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
86722         since we include them unconditionally.  Don't require
86723         AM_STDBOOL_H, since stdbool is a prerequisite.
86724         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
86725         since we assume C89 or better.
86726         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
86727         as we don't use their results.
86728         Don't check for fchdir, memmove, memset, strrchr, as we use
86729         them unconditionally.
86730         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
86731         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
86732
86733 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
86734
86735         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
86736         Include <stddef.h> unconditionally, since we assume C89 now.
86737         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
86738         * lib/fts.c: Include fts_.h first, to check interface.
86739         Do not include intprops.h; no longer needed.
86740         Include cycle-check.h and hash.h, since fts_.h no longer does.
86741         Remove unnecessary casts of closedir to void.
86742         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
86743         decide whether to decrement nlinks.
86744         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
86745         (FTS): Use struct hash_table * instead of Hash_table, so that
86746         we no longer need to include hash.h here.
86747
86748 2005-05-18  Jim Meyering  <jim@meyering.net>
86749
86750         * modules/dirfd (License): Change to LGPL.  Most of the code
86751         is already in the public domain.
86752
86753 2005-05-18  Jim Meyering  <jim@meyering.net>
86754
86755         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
86756         Reported by Yoann Vandoorselaere.
86757
86758 2005-05-17  Jim Meyering  <jim@meyering.net>
86759
86760         * m4/fts.m4: New file, from coreutils.
86761
86762 2005-05-17  Jim Meyering  <jim@meyering.net>
86763
86764         * lib/fts.c, lib/fts_.h: New files, from coreutils.
86765
86766 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
86767
86768         Sync from coreutils.
86769         * m4/unlinkdir.m4: New file.
86770
86771 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
86772
86773         Sync from coreutils.
86774         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
86775         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
86776         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
86777         White space changes only.
86778         * lib/makepath.c (make_path): Port to hosts where leading "//" is
86779         special.
86780         * lib/yesno.c: Include getline.h, not ctype.h.
86781         (yesno): Don't remove leading white space; POSIX doesn't allow it.
86782         Use getline to remove arbitrary restriction on response length.
86783
86784 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
86785
86786         * config/srclist-update: Spell out "Street" in FSF postal
86787         mail address; this is the style the FSF seems to prefer.
86788
86789         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
86790         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
86791         this updates FSF postal mail address.
86792
86793         Sync from coreutils.
86794         * modules/unlinkdir: New file.
86795         * modules/yesno (Depends-on): Add getline.
86796         * MODULES.html.sh (File system functions): Add unlinkdir.
86797
86798 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
86799
86800         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
86801         lib/strsep.h:
86802         Change the initial comment to refer to GPL, not LGPL.
86803         gnulib-tool will change it to LGPL as needed.
86804
86805         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
86806         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
86807         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
86808         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
86809         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
86810         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
86811         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
86812         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
86813         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
86814         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
86815         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
86816         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
86817         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
86818         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
86819         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
86820         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
86821         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
86822         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
86823         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
86824         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
86825         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
86826         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
86827         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
86828         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
86829         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
86830         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
86831         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
86832         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
86833         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
86834         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
86835         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
86836         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
86837         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
86838         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
86839         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
86840         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
86841         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
86842         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
86843         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
86844         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
86845         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
86846         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
86847         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
86848         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
86849         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
86850         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
86851         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
86852         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
86853         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
86854         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
86855         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
86856         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
86857         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
86858         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
86859         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
86860         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
86861         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
86862         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
86863         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
86864         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
86865         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
86866         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
86867         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
86868         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
86869         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
86870         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
86871         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
86872         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
86873         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
86874         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
86875         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
86876         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
86877         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
86878         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
86879         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
86880         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
86881         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
86882         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
86883         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
86884         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
86885         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
86886         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
86887         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
86888         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
86889         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
86890         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
86891         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
86892         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
86893         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
86894         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
86895         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
86896         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
86897         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
86898         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
86899         lib/yesno.c, lib/yesno.h:
86900         Update FSF postal mail address.
86901
86902 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
86903
86904         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
86905         tests/test-memmem.c, tests/test-stpncpy.c:
86906         Update FSF postal mail address.
86907
86908 2005-05-13  Bruno Haible  <bruno@clisp.org>
86909
86910         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
86911         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
86912         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
86913         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
86914         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
86915         Add support for 64-bit integers in the MSVC compiler.
86916
86917 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
86918
86919         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
86920
86921 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
86922
86923         * gnulib-tool (func_import): Sort and uniquify recommended includes.
86924
86925 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
86926
86927         * doc/getdate.texi (General date syntax): Don't say that date
86928         date --iso-8601=ns generates acceptable dates; it doesn't yet.
86929         Problem reported by Nic Ferrier.
86930
86931 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
86932
86933         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
86934         specified in ai_socktype. Fix invalid ai_protocol
86935         check. ai_protocol is usually set to 0 or depending on
86936         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
86937         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
86938         ai_socktype / ai_protocol in the returned addrinfo structure.
86939
86940 2005-05-10  Simon Josefsson  <jas@extundo.com>
86941
86942         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
86943         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
86944
86945 2005-05-10  Karl Berry  <karl@gnu.org>
86946
86947         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
86948         (from http://www.gnu.org/licenses).
86949         * doc/COPYING.LIB: also rename to COPYING.LESSER.
86950         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
86951         fdl.texi suffices.
86952
86953 2005-05-10  Karl Berry  <karl@gnu.org>
86954
86955         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
86956         (COPYING.DOC): remove.
86957
86958         * config/srclist-update: new FSF address.
86959
86960 2005-05-10  Derek Price  <derek@ximbiot.com>
86961
86962         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
86963         possible.
86964
86965 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
86966             Bruno Haible  <bruno@clisp.org>
86967
86968         * modules/inet_ntop: New file.
86969         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
86970         inet_ntop.
86971
86972 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
86973             Bruno Haible  <bruno@clisp.org>
86974
86975         * m4/inet_ntop.m4: New file.
86976
86977 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
86978             Bruno Haible  <bruno@clisp.org>
86979
86980         * lib/inet_ntop.h: New file.
86981         * lib/inet_ntop.c: New file, from glibc with modifications.
86982
86983 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
86984
86985         * modules/time_r (License): Change to LGPL.
86986         * modules/extensions (License): Change to LGPL.  Actually,
86987         the license is more permissive than that, but currently gnulib-tool
86988         doesn't know how to handle more-permissive licenses.
86989
86990         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
86991         Problem reported by Dave Love.
86992
86993 2005-05-08  Jim Meyering  <jim@meyering.net>
86994
86995         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
86996         blank.
86997
86998 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
86999
87000         * modules/argmatch (Depends-on): Add stdbool.
87001         * modules/backupfile (Depends-on): Likewise.
87002         * modules/chdir-long (Depends-on): Likewise.
87003         * modules/closeout (Depends-on): Likewise.
87004         * modules/cycle-check (Depends-on): Likewise.
87005         * modules/dirname (Depends-on): Likewise.
87006         * modules/fnmatch (Depends-on): Likewise.
87007         * modules/fsusage (Depends-on): Likewise.
87008         * modules/fwriteerror (Depends-on): Likewise.
87009         * modules/getcwd (Depends-on): Likewise.
87010         * modules/getloadavg (Depends-on): Likewise.
87011         * modules/hard-locale (Depends-on): Likewise.
87012         * modules/makepath (Depends-on): Likewise.
87013         * modules/mountlist (Depends-on): Likewise.
87014         * modules/nanosleep (Depends-on): Likewise.
87015         * modules/posixtm (Depends-on): Likewise.
87016         * modules/quotearg (Depends-on): Likewise.
87017         * modules/readtokens (Depends-on): Likewise.
87018         * modules/readtokens0 (Depends-on): Likewise.
87019         * modules/readutmp (Depends-on): Likewise.
87020         * modules/save-cwd (Depends-on): Likewise.
87021         * modules/strftime (Depends-on): Likewise.
87022         * modules/userspec (Depends-on): Likewise.
87023         * modules/utimecmp (Depends-on): Likewise.
87024         * modules/xgetcwd (Depends-on): Likewise.
87025         * modules/xnanosleep (Depends-on): Likewise.
87026         * modules/xstrtod (Depends-on): Likewise.
87027         * modules/yesno (Depends-on): Likewise.
87028
87029 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
87030
87031         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
87032         needless checks.
87033
87034 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
87035
87036         Merge from coreutils.  Among other things,
87037         add bulletproofing for cases where stdin, stdout, or stderr are closed.
87038         * lib/fd-safer.c: New file.
87039         * lib/fcntl-safer.h, open-safer.c: Remove.
87040         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
87041         * lib/dup-safer.c: Include unistd-safer.h first.
87042         Don't include errno.h.
87043         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
87044         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
87045         * lib/file-type.c: Rely on file-type.h change.
87046         * lib/getloadavg.c: Include unistd-safer.h.
87047         (getloadavg): Use safer open.
87048         * lib/getusershell.c: Include "stdio-safer.h".
87049         (getusershell): Use safer fopen.
87050         * lib/long-options.c (long_options): Use NULL rather than 0.
87051         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
87052         'free'.
87053         * lib/modechange.c: Likewise.
87054         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
87055         (MODE_DONE): New constant.
87056         (struct mode_change): Remove 'next' member.
87057         (make_node_op_equals): New function; like the old one of the
87058         same name, except it allocates an array.
87059         (mode_compile, mode_create_from_ref): Use it.
87060         (mode_compile): Allocate result as an array, not a linked list.
87061         Parse octal string ourself, so that we catch mistakes like "+0".
87062         (mode_adjust): Arg is an array, not a linked list.
87063         * lib/modechange.c: Include stat-macros.h, xalloc.h.
87064         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
87065         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
87066         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
87067         Remove.  This is now stat-macros.h's job.
87068         (talloc): Remove.  All callers replaced by xalloc, so that
87069         our invokers don't have to worry about reporting memory failures.
87070         (make_node_op_equals): Remove.
87071         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
87072         New constants.
87073         (struct mode_change): Moved here from modechange.h.
87074         (mode_append_entry): Remove.
87075         (mode_compile): Remove MASKED_OPS arg, since it encouraged
87076         apps to have incorrect behavior.  Use simpler algorithm for head
87077         and tail.  Don't futz with umask; that's now the job of mode_adjust.
87078         Detect more invalid usages rather than having somewhat-random behavior.
87079         Don't insert an "a=" action, as that leads to incorrect behavior.
87080         (mode_compile, mode_create_from_ref): Return NULL on error instead
87081         of an enum, since now there's only one way to have an error.  All
87082         callers changed.
87083         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
87084         at the correct time.  Simplify calculation of "+u" and its ilk.
87085         Don't mishandle "+X".
87086         (mode_free): Remove "register" and localize decls.
87087         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
87088         (struct mode_change): Move to modechange.c; callers don't
87089         need to see this stuff.
87090         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
87091         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
87092         (mode_change, mode_adjust): Reflect the new signatures noted above.
87093         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
87094         that might redefine system include files.
87095         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
87096         (my_usleep): Use NULL rather than (void *) 0.
87097         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
87098         Use siginterrupt to specify that system calls should be interrupted.
87099         (rpl_nanosleep): Move initialization of suspended closer to call of
87100         my_usleep.
87101         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
87102         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
87103         (desirable_utmp_entry): New function.
87104         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
87105         using x2nrealloc, to simplify logic.
87106         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
87107         size calculation.  Do not assume utmp file is a regular file.
87108         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
87109         (READ_UTMP_CHECK_PIDS): New constant.
87110         * lib/save-cwd.c: Include unistd-safer.h.
87111         (save_cwd): Use fd_safer.
87112         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
87113         [!_LIBC] Include "stat-macros.h" instead.
87114         * lib/unistd-safer.h (fd_safer): New decl.
87115
87116 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
87117
87118         * modules/getloadavg (Depends-on): Add unistd-safer.
87119         * modules/getusershell (Depends-on): Add stdio-safer.
87120         * modules/lstat (Depends-on): Remove xalloc.
87121         * modules/mkstemp (Depends-on): Add stat-macros.
87122         * modules/modechange (Depends-on): Remove xstrtol.
87123         Add stat-macros, xalloc.
87124         * modules/save-cwd (Depends-on): Add unistd-safer.
87125         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
87126         * modules/unistd-safer (Files): Add lib/fd-safer.c
87127         (Makefile.am): Remove lib_SOURCES.
87128
87129         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
87130         Remove fcntl-safer; unistd-safer supersedes it.
87131
87132 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
87133
87134         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
87135         AC_HEADER_STAT.
87136         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
87137         (gl_PREREQ_CHOWN): Remove.
87138         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
87139         it.  Don't require AC_HEADER_STAT.
87140         (gl_PREREQ_LSTAT): Remove.
87141         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
87142         Don't require AC_HEADER_STAT.
87143         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
87144         (gl_PREREQ_RMDIR): Remove.
87145         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
87146         mention stat-macros.h or AC_HEADER_STAT, since we'll make
87147         the stat-macros module a prerequisite.
87148         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
87149         * m4/filemode.m4 (gl_FILEMODE): Likewise.
87150         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
87151         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
87152         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
87153         variable names.
87154         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
87155         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
87156         variable prefixes.
87157         * m4/fcntl-safer.m4: Remove.
87158         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
87159         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
87160         Invoke gl_PREREQ_FD_SAFER.
87161         (gl_PREREQ_FD_SAFER): New macro.
87162         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
87163         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
87164         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
87165         Remove duplicate call to AC_LIBOBJ(readutmp).
87166         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
87167
87168         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
87169         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
87170
87171 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
87172
87173         * MODULES.html.sh (Misc): Add byteswap.
87174
87175 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
87176
87177         * modules/getcwd (Depends-on): Add extensions.
87178         * modules/openat (Depends-on): Likewise.
87179
87180 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
87181
87182         * modules/byteswap: New file.
87183
87184 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
87185
87186         * m4/byteswap.m4: New file.
87187
87188 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
87189
87190         * lib/byteswap_.h: New file.
87191
87192 2005-04-25  Karl Berry  <karl@gnu.org>
87193
87194         * m4/gettext.m4: Update from GNU gettext 0.14.4.
87195
87196 2005-04-25  Albert Chin  <china@thewrittenword.com>
87197
87198         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
87199         Toolkit C bug.
87200
87201 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
87202
87203         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
87204         (func_ln_if_changed): Remove forcibly for no error message
87205         in case file does not exist.
87206
87207 2005-04-19  Simon Josefsson  <jas@extundo.com>
87208
87209         * gnulib-tool (Options): Make --symlink mean --symbolic.
87210
87211 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
87212
87213         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
87214
87215 2005-04-16  Simon Josefsson  <jas@extundo.com>
87216
87217         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
87218
87219 2005-04-15  Simon Josefsson  <jas@extundo.com>
87220
87221         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
87222
87223 2005-04-15  Simon Josefsson  <jas@extundo.com>
87224
87225         * gnulib-tool: Rename --symlink to --symbolic.
87226
87227 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
87228
87229         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
87230         symbolic links to files instead of copying/moving.  Add --aux-dir,
87231         specifying directory relative --dir where auxiliary build tools
87232         are placed.
87233
87234 2005-04-14  Bruno Haible  <bruno@clisp.org>
87235
87236         * modules/allocsa (License): Change to LGPL.
87237         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
87238
87239 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
87240
87241         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
87242         that "UTC +1 second" continues to work.  Problem reported
87243         by Dmitry V. Levin.
87244         (relunit_snumber): New rule.
87245         (relunit): Use it.
87246
87247 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
87248
87249         * lib/getdate.y (universal_time_zone_table): New constant.
87250         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
87251         universal_time_zone_table.
87252         (lookup_zone): Prefer universal_time_zone_table to
87253         local_time_zone_table, so that "GMT" time stamps are allowed in
87254         London during the summer.  Problem reported by Ian Abbott.
87255
87256 2005-04-12  Jim Meyering  <jim@meyering.net>
87257
87258         * lib/human.c (humblock): Set *options even when returning due to
87259         xstrtoumax conversion failure.  Thanks to a used-uninitialized
87260         warning from gcc-4.
87261
87262 2005-04-09  Jim Meyering  <jim@meyering.net>
87263
87264         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
87265         -Wuninitialized: initialize tm0.tm_year.
87266
87267 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
87268
87269         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
87270         count, since there's no maximum.  All uses changed.
87271         Add member dsts_seen.
87272         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
87273         not being INT_MAX.
87274         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
87275         Use pc_rels_seen to decide whether a date is absolute.
87276
87277         * lib/getdate.y (number): Don't overwrite year.
87278         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
87279         check.
87280
87281 2005-04-02  Simon Josefsson  <jas@extundo.com>
87282
87283         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
87284         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
87285
87286 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
87287
87288         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
87289         where no absolute path name can be longer than PATH_MAX.
87290
87291 2005-03-27  Jim Meyering  <jim@meyering.net>
87292
87293         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
87294
87295 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
87296
87297         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
87298         "one's complement" -> "ones' complement" in comment, as per Knuth.
87299         "value of type" -> "type or expression" in comment.
87300         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
87301
87302 2005-03-26  Jim Meyering  <jim@meyering.net>
87303
87304         Comment nits.
87305         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
87306         Correct typos: s/or/of/.
87307
87308 2005-03-26  Jim Meyering  <jim@meyering.net>
87309
87310         * modules/check-include-files: Move to ../ and rename to...
87311         * check-module: ...this.
87312
87313 2005-03-25  Jim Meyering  <jim@meyering.net>
87314
87315         * modules/xvasprintf (Files): Add xalloc.h.
87316
87317 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
87318
87319         * modules/gettext (Files): config/config.rpath ->
87320         build-aux/config.rpath
87321         * modules/iconv (Files): Likewise.
87322         Problem reported by Oskar Liljeblad.
87323
87324 2005-03-23  Jim Meyering  <jim@meyering.net>
87325
87326         * modules/check-include-files: New script to check for
87327         missing dependencies, multiple includes, etc.
87328
87329         * modules/c-strtold (Depends-on): Add xalloc.
87330         * modules/c-strtod (Depends-on): Add xalloc.
87331         * modules/hash (Depends-on): Add xalloc.
87332         (Files): Remove lib/xalloc.h.
87333
87334         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
87335         * modules/userspec (Files): Add lib/inttostr.h.
87336
87337 2005-03-23  Jim Meyering  <jim@meyering.net>
87338
87339         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
87340
87341 2005-03-22  Jim Meyering  <jim@meyering.net>
87342
87343         * modules/stat-macros: New module.
87344         * modules/canonicalize, modules/euidaccess, modules/file-type,
87345         * modules/filemode, modules/lchown, modules/makepath,
87346         * modules/rmdir, modules/stat: Depend on new stat-macros module
87347         rather than listing lib/stat-macros.h manually.
87348         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
87349
87350 2005-03-22  Jim Meyering  <jim@meyering.net>
87351
87352         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
87353
87354 2005-03-22  Bruno Haible  <bruno@clisp.org>
87355
87356         * config/srclist.txt: Replace target directory 'config' with
87357         'build-aux'.
87358         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
87359         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
87360         ../build-aux/.
87361
87362 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
87363
87364         * modules/chdir-long (Depends-on): Add mempcpy.
87365
87366         * modules/acl, modules/backupfile, modules/c-strtod,
87367         modules/c-strtold, modules/canon-host, modules/canonicalize,
87368         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
87369         modules/exclude, modules/exitfail, modules/file-type,
87370         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
87371         modules/getdate, modules/getline, modules/getpagesize,
87372         modules/getpass, modules/getugroups, modules/group-member,
87373         modules/hard-locale, modules/hash, modules/human, modules/idcache,
87374         modules/inttostr, modules/long-options, modules/makepath,
87375         modules/md5, modules/memcasecmp, modules/memcoll,
87376         modules/modechange, modules/mountlist, modules/path-concat,
87377         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
87378         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
87379         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
87380         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
87381         modules/strftime, modules/strndup, modules/strverscmp,
87382         modules/timespec, modules/unlocked-io, modules/userspec,
87383         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
87384         modules/yesno:
87385         Remove lib_SOURCES line from Makefile.am section, as this is now
87386         done automatically by the corresponding Autoconf macro.
87387
87388 2005-03-21  Jim Meyering  <jim@meyering.net>
87389
87390         Changes imported from coreutils.
87391
87392         * lib/cycle-check.c: Don't include xalloc.h.
87393
87394         * lib/path-concat.c: Don't include assert.h.
87395         (path_concat): Remove assertion that would have triggered
87396         for ABASE starting with more than one slash.
87397         Reported by Andreas Schwab.
87398
87399         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
87400         properly when ABASE is an absolute file name.
87401         Correct the description of this function.
87402         Include <assert.h>.
87403         Add an assertion and a test driver.
87404         This fixes a bug introduced on 2004-07-02.
87405         Andreas Schwab reported the resulting failure of cp --parents:
87406         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
87407
87408 2005-03-21  Jim Meyering  <jim@meyering.net>
87409
87410         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
87411         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
87412
87413 2005-03-21  Jim Meyering  <jim@meyering.net>
87414         and  Paul Eggert  <eggert@cs.ucla.edu>
87415
87416         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
87417         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
87418         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
87419         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
87420         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
87421         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
87422         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
87423         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
87424         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
87425         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
87426         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
87427         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
87428         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
87429         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
87430         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
87431         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
87432         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
87433         for these modules.
87434
87435 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
87436
87437         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
87438         (which shouldn't happen), generate nothing instead of returning 0
87439         immediately, so that nstrftime (NULL, ...) doesn't return 0.
87440
87441 2005-03-16  Bruno Haible  <bruno@clisp.org>
87442
87443         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
87444         HAVE_LONGLONG_64BIT.
87445
87446 2005-03-16  Bruno Haible  <bruno@clisp.org>
87447
87448         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
87449         HAVE_LONGLONG_64BIT.
87450
87451 2005-03-16  Bruno Haible  <bruno@clisp.org>
87452
87453         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
87454         HAVE_LONGLONG_64BIT.
87455
87456 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
87457
87458         * lib/strftime.c (my_strftime): Prepend space to format so that we can
87459         reliably distinguish strftime failure from empty output on POSIX
87460         hosts.
87461
87462 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
87463
87464         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
87465         (iconv_string): Don't guess a size-zero buffer, as that might cause
87466         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
87467         result would be 'too large', where 'too large' is (heuristically)
87468         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
87469         overflow concerns.  This will prevent some unwanted malloc failures
87470         when the inputs are very large.
87471
87472 2005-03-15  Karl Berry  <karl@gnu.org>
87473
87474         * config/srclist.txt (config.rpath): from gettext.
87475         * config/config.rpath: update.
87476
87477 2005-03-15  Bruno Haible  <bruno@clisp.org>
87478
87479         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
87480         to 'negate'.
87481
87482         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
87483         variable.
87484
87485         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
87486         results.
87487
87488 2005-03-14  Simon Josefsson  <jas@extundo.com>
87489
87490         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
87491         <fx@gnu.org>.
87492
87493 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
87494
87495         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
87496         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
87497         intprops.h.
87498         * lib/strtol.c: Likewise.
87499
87500 2005-03-14  Jim Meyering  <jim@meyering.net>
87501
87502         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
87503         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
87504         to be nonzero so that we (and caller) can detect the difference
87505         between a valid zero-length expansion and an error return, even
87506         when the underlying strftime fails before writing anything into
87507         that location.
87508
87509 2005-03-14  Bruno Haible  <bruno@clisp.org>
87510
87511         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
87512         Update from GNU gettext 0.14.3.
87513
87514 2005-03-10  Jim Meyering  <jim@meyering.net>
87515
87516         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
87517
87518 2005-03-10  Jim Meyering  <jim@meyering.net>
87519
87520         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
87521         so that this module works on systems without fchdir.
87522
87523 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
87524
87525         Factor int-properties macros into a single file, except for
87526         glibc-related files.
87527         * lib/intprops.h: New file.
87528         * lib/getloadavg.c: Include it instead of limits.h.
87529         (INT_STRLEN_BOUND): Remove.
87530         * lib/human.c: Include intprops.h.
87531         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
87532         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
87533         302/1000.
87534         * lib/inttostr.h: Include intprops.h instead of limits.h.
87535         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
87536         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
87537         for consistency with intprops.h.
87538         (time_t_is_integer, twos_complement_arithmetic): Use them.
87539         * lib/sig2str.h: Include <signal.h>, intprops.h.
87540         (INT_STRLEN_BOUND): Remove.
87541         * lib/strftime.c (TYPE_SIGNED): Remove.
87542         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
87543         * lib/strtol.c: Adjust comments to match intprops.h.
87544         * lib/userspec.c: Include intprops.h.
87545         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
87546         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
87547         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
87548         instead of rolling our own expressions.
87549         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
87550
87551         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
87552         instead of int.
87553         (my_strftime): Do not mishandle years close to INT_MAX, by doing
87554         the right thing even if adding 1900 would overflow.  Similarly
87555         for tm_mon + 1 and tm_yday + 1.
87556         Make %Y always equivalent to %C%y, and similarly for %G and %g.
87557         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
87558         (DO_SIGNED_NUMBER): New macro.
87559         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
87560
87561 2005-03-07  Bruno Haible  <bruno@clisp.org>
87562
87563         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
87564
87565 2005-03-07  Bruno Haible  <bruno@clisp.org>
87566
87567         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
87568
87569 2005-03-04  Derek R. Price  <derek@ximbiot.com>
87570
87571         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
87572         (func_import): Only replace files via --import when they have actually
87573         changed.
87574
87575 2005-03-03  Derek R. Price  <derek@ximbiot.com>
87576
87577         * m4/mmap-anon.m4: New file.
87578         * m4/pagealign_alloc.m4: New file.
87579
87580 2005-03-03  Derek R. Price  <derek@ximbiot.com>
87581             Bruno Haible  <bruno@clisp.org>
87582
87583         * modules/pagealign_alloc: New file.
87584         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
87585
87586 2005-03-03  Derek R. Price  <derek@ximbiot.com>
87587             Bruno Haible  <bruno@clisp.org>
87588
87589         * lib/pagealign_alloc.h: New file.
87590         * lib/pagealign_alloc.c: New file.
87591
87592 2005-03-03  Bruno Haible  <bruno@clisp.org>
87593
87594         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
87595         Use an all-permissive copyright notice, recommended by RMS.
87596
87597 2005-03-02  Bruno Haible  <bruno@clisp.org>
87598
87599         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
87600         of AIX, the replacement has to be done only after <string.h> is
87601         included, therefore not in config.h. stpncpy.h does the replacement,
87602         and stpncpy.c uses it.
87603
87604 2005-03-02  Bruno Haible  <bruno@clisp.org>
87605
87606         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
87607         stpncpy.c uses it.
87608
87609 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
87610
87611         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
87612         The workaround isn't strictly needed for POSIX conformance, and
87613         it's too much of a pain to configure and maintain.  We'll ask
87614         people to fix their kernels instead.
87615         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
87616         (NANOSLEEP_BUG_WORKAROUND): Remove.
87617         (xnanosleep): Remove the workaround.
87618
87619 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
87620
87621         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
87622         Reported by Derek Price.
87623         (Include): Add "timespec.h".
87624
87625         * modules/xnanosleep (Depends-on): Remove gethrxtime.
87626
87627 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
87628
87629         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
87630         to detect nanosleep bug.
87631
87632 2005-03-01  Bruno Haible  <bruno@clisp.org>
87633
87634         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
87635
87636 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
87637
87638         * modules/gethrxtime: New file.
87639         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
87640         (Depends-on): Add gethrxtime.
87641         (configure.ac): Add gl_XNANOSLEEP.
87642         (Makefile.am): Remove lib_SOURCES line.
87643
87644 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
87645
87646         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
87647         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
87648
87649 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
87650
87651         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
87652         * lib/timespec.h (gettime): Return void, since it always
87653         succeeds now.  All uses changed.
87654         * lib/gettime.c (gettime): Likewise.
87655         [HAVE_NANOTIME]: Prefer nanotime.
87656         Assume gettimeofday succeeds, as POSIX requires.
87657         Assime time () succeeds, since other code already does.
87658         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
87659         (timespec_subtract): Remove.
87660         (NANOSLEEP_BUG_WORKAROUND): New constant.
87661         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
87662         things considerably.  Use it only on GNU/Linux hosts, since the
87663         workaround shouldn't be needed elsewhere.
87664
87665 2005-02-24  Bruno Haible  <bruno@clisp.org>
87666
87667         * modules/gettext (Files): Add m4/glibc2.m4.
87668
87669 2005-02-24  Bruno Haible  <bruno@clisp.org>
87670
87671         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
87672         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
87673         * m4/progtest.m4:
87674         Update from GNU gettext 0.14.2.
87675         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
87676
87677 2005-02-24  Bruno Haible  <bruno@clisp.org>
87678
87679         * lib/localcharset.c: Update from GNU gettext 0.14.2.
87680         * lib/config.charset: Update from GNU gettext 0.14.2.
87681
87682 2005-02-24  Bruno Haible  <bruno@clisp.org>
87683
87684         * lib/gettext.h: Update from GNU gettext 0.14.2.
87685
87686 2005-02-23  Simon Josefsson  <jas@extundo.com>
87687
87688         * m4/iconvme.m4: New file.
87689
87690 2005-02-23  Jim Meyering  <jim@meyering.net>
87691
87692         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
87693         change.
87694         Thanks to Bruno Haible for catching it.
87695
87696 2005-02-22  Simon Josefsson  <jas@extundo.com>
87697
87698         * modules/iconvme: New file.
87699
87700         * MODULES.html.sh: Add iconvme.
87701
87702 2005-02-22  Simon Josefsson  <jas@extundo.com>
87703
87704         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
87705
87706 2005-02-22  Simon Josefsson  <jas@extundo.com>
87707
87708         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
87709
87710 2005-02-22  Jim Meyering  <jim@meyering.net>
87711
87712         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
87713         s/ifndef/ifdef/.
87714
87715 2005-02-20  Neil Conway  <neilc@samurai.com>
87716
87717         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
87718         returned by OSX/Darwin if the specified buffer is not large
87719         enough for the hostname.
87720
87721 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
87722
87723         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
87724         pass it to _help, otherwise the latter coredumps trying to
87725         dereference state.root_argp.
87726
87727 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
87728
87729         * modules/chdir-long (Depends-on): Add memrchr.
87730         * modules/memrchr (Files): Add lib/memrchr.h.
87731         (Include): "memrchr.h".
87732
87733 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
87734
87735         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
87736
87737 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
87738
87739         * lib/memrchr.h: New file.
87740         * lib/chdir-long.c: Include it.
87741         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
87742         Don't bother including stddef.h.
87743
87744 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
87745
87746         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
87747         inclusion.
87748         Include <sys/types.h>, for dev_t.
87749         (ME_DUMMY, ME_REMOTE): Move from here....
87750         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
87751         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
87752         Dmitry V. Levin.
87753         Include mountlist.h first, to test the interface.
87754
87755 2005-01-29  Bruno Haible  <bruno@clisp.org>
87756
87757         * lib/progname.c (program_name): Initialize.
87758         Needed when linking statically on MacOS X.
87759
87760 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
87761
87762         Sync from coreutils.
87763         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
87764         (Depends-on): Add c-strtod.
87765         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
87766
87767 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
87768
87769         Sync from coreutils.
87770         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
87771
87772         Remove files that are specific to coreutils.
87773         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
87774
87775 2005-01-28  Bruno Haible  <bruno@clisp.org>
87776
87777         * modules/javacomp: New file.
87778         * MODULES.html.sh (Java): Add javacomp.
87779
87780 2005-01-28  Bruno Haible  <bruno@clisp.org>
87781
87782         * m4/javacomp.m4: New file, from GNU gettext.
87783
87784 2005-01-28  Bruno Haible  <bruno@clisp.org>
87785
87786         * lib/javacomp.sh.in: New file, from GNU gettext.
87787         * lib/javacomp.h: New file, from GNU gettext.
87788         * lib/javacomp.c: New file, from GNU gettext.
87789
87790 2005-01-26  Simon Josefsson  <jas@extundo.com>
87791
87792         * lib/gai_strerror.c: Use GPL in header.
87793
87794 2005-01-26  Bruno Haible  <bruno@clisp.org>
87795
87796         * modules/javaexec: New file.
87797         * MODULES.html.sh (Java): Add javaexec.
87798
87799 2005-01-26  Bruno Haible  <bruno@clisp.org>
87800
87801         * m4/javaexec.m4: New file, from GNU gettext.
87802
87803 2005-01-26  Bruno Haible  <bruno@clisp.org>
87804
87805         * lib/javaexec.sh.in: New file, from GNU gettext.
87806         * lib/javaexec.h: New file, from GNU gettext.
87807         * lib/javaexec.c: New file, from GNU gettext.
87808
87809 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
87810
87811         * modules/lchown (Depends-on): Remove lchown.h
87812
87813 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
87814
87815         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
87816         must be defined if the header file was not found, in order
87817         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
87818
87819 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
87820
87821         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
87822         initializers for struct pentry_state.
87823         (__argp_error): Check return value of __asprintf
87824         (__argp_failure): Translate error message
87825
87826         * lib/argp-parse.c: Removed braces around the expansion of N_()
87827
87828 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
87829
87830         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
87831         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
87832         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
87833         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
87834         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
87835         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
87836         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
87837         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
87838         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
87839         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
87840         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
87841         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
87842         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
87843         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
87844         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
87845         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
87846         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
87847         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
87848         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
87849         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
87850         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
87851         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
87852         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
87853         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
87854         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
87855         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
87856         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
87857         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
87858         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
87859         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
87860         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
87861         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
87862         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
87863         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
87864         xstrtol.m4, xstrtoumax.m4, yesno.m4:
87865         Use an all-permissive copyright notice, recommended by RMS.
87866
87867 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
87868
87869         * modules/chdir-long (Depends-on): Remove mempcpy.
87870
87871 2005-01-21  Jim Meyering  <jim@meyering.net>
87872
87873         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
87874         same value as for Solaris 9.
87875
87876         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
87877         component length.  This included changing the parameter to be
87878         of type `char *' rather than `char const *'.
87879         * lib/chdir-long.h (chdir_long): Update prototype.
87880
87881         * lib/openat.c (fdopendir, fstatat): New functions.
87882         * lib/openat.h: Include headers required for use of DIR and struct
87883         stat.
87884         [AT_SYMLINK_NOFOLLOW]: Define.
87885         (fdopendir, fstatat): Add prototypes.
87886
87887 2005-01-21  Bruno Haible  <bruno@clisp.org>
87888
87889         * modules/classpath: New file.
87890         * MODULES.html.sh (Java): Add classpath.
87891
87892 2005-01-21  Bruno Haible  <bruno@clisp.org>
87893
87894         * lib/classpath.h: New file, from GNU gettext.
87895         * lib/classpath.c: New file, from GNU gettext.
87896
87897 2005-01-20  Simon Josefsson  <jas@extundo.com>
87898
87899         * modules/version-etc-fsf: New file.
87900
87901 2005-01-20  Simon Josefsson  <jas@extundo.com>
87902
87903         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
87904         * lib/version-etc.c: Remove version_etc_copyright.
87905         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
87906         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
87907
87908 2005-01-20  Simon Josefsson  <jas@extundo.com>
87909
87910         * lib/base64.h (isbase64): Add.
87911
87912         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
87913         using a unsigned prototype, don't inline.
87914         (base64_decode): Use it.
87915
87916 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
87917
87918         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
87919         it.
87920
87921 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
87922
87923         * lib/save-cwd.c (save_cwd): Remove code to support the case
87924         where fchdir is missing or flaky.
87925
87926 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
87927
87928         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
87929
87930 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
87931
87932         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
87933         AC_LIBSOURCES now does this.
87934         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
87935         with new ullong_max module.
87936
87937 2005-01-19  Bruno Haible  <bruno@clisp.org>
87938
87939         * modules/sh-quote: New file.
87940         * MODULES.html.sh (Executing programs): Add sh-quote.
87941
87942 2005-01-19  Bruno Haible  <bruno@clisp.org>
87943
87944         * lib/sh-quote.h: New file, from GNU gettext.
87945         * lib/sh-quote.c: New file, from GNU gettext.
87946
87947 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
87948
87949         Merge from coreutils.
87950         * m4/ullong_max.m4: New file.
87951         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
87952         (gl_MACROS): Assume localeconv exists.
87953
87954 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
87955
87956         Merge changes from coreutils, as described below in several
87957         changelogs dated today.
87958
87959         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
87960         (O_DIRECTORY): Remove; not needed here, since "." must be
87961         a directory.  All uses removed.
87962         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
87963         universal on Suns, and we also need to test for IRIX.
87964         Revamp code to use 'if' rather than '#if'.
87965         Avoid unnecessary comparison of cwd->desc to 0.
87966
87967         * lib/utimens.c (futimens): Robustify the previous patch, by checking
87968         for known valid error numbers rather than observed invalid ones.
87969
87970 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
87971
87972         * modules/ullong_max: New file.
87973
87974         * modules/chdir-long, modules/openat: New files.
87975         * modules/save-cwd (Depends-on): Depend on chdir-long.
87976         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
87977
87978 2005-01-18  Jim Meyering  <jim@meyering.net>
87979
87980         Merge from coreutils.
87981         * m4/chdir-long.m4, m4/openat.m4: New files.
87982         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
87983         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
87984         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
87985         is sane and DOES follow symlinks.  Besides, testing 20 different
87986         systems found no broken chown implementations.
87987         Prompted by a change in rsync's copy of this macro.
87988         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
87989
87990         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
87991
87992         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
87993         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
87994         NULL-means-set-to-current-time semantics.
87995         Remove temporary file immediately, rather than waiting
87996         for configure's at-exit trap code to do it.
87997
87998 2005-01-18  Jim Meyering  <jim@meyering.net>
87999
88000         * lib/version-etc.c (version_etc_copyright): Update copyright date.
88001
88002         * lib/utimens.c (futimens): Account for the fact that futimes
88003         can also fail with errno == ENOSYS or errno == ENOENT.
88004         Patch from Dmitry V. Levin.
88005
88006         Change the name of the robust chdir function from chdir to chdir_long.
88007         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
88008         (restore_cwd): Use chdir_long, not chdir.
88009         * lib/chdir-long.c: Renamed from chdir.c.
88010         * lib/chdir-long.h: Renamed from chdir.h.
88011         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
88012         Hurd.
88013
88014 2005-01-18  Bruno Haible  <bruno@clisp.org>
88015
88016         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
88017         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
88018         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
88019         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
88020         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
88021         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
88022         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
88023         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
88024         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
88025         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
88026         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
88027         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
88028         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
88029         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
88030         Use an all-permissive copyright notice, recommended by RMS.
88031
88032 2005-01-18  Bob Proulx  <bob@proulx.com>
88033
88034         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
88035         simplify offsetof() macro construct to avoid compile failure with
88036         native HP-UX 11.0 ANSI C compiler.
88037
88038 2005-01-17  Bruno Haible  <bruno@clisp.org>
88039
88040         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
88041         redundant because stpncpy.m4 takes care of it.
88042
88043 2005-01-17  Bruno Haible  <bruno@clisp.org>
88044
88045         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
88046
88047 2005-01-17  Bruno Haible  <bruno@clisp.org>
88048
88049         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
88050         used.
88051
88052 2005-01-17  Bruno Haible  <bruno@clisp.org>
88053
88054         * lib/fwriteerror.h (fwriteerror): Change specification to include
88055         fclose.
88056         * lib/fwriteerror.c: Include <stdbool.h>.
88057         (fwriteerror): At the end, close the file stream. Record whether
88058         stdout was already closed.
88059
88060 2005-01-17  Bruno Haible  <bruno@clisp.org>
88061
88062         * lib/execute.c (environ): Declare if needed.
88063         * lib/pipe.c (environ): Likewise.
88064         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
88065
88066 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88067
88068         * modules/argp: Depend on vsnprintf
88069
88070 2005-01-10  Jim Meyering  <jim@meyering.net>
88071
88072         * modules/closeout (Depends-on): Add atexit.
88073
88074 2005-01-06  Bruno Haible  <bruno@clisp.org>
88075
88076         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
88077
88078 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
88079
88080         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
88081         definitions to be after all include files, to avoid collisions.
88082         Problem reported by Bob Proulx.
88083
88084 2005-01-04  Jim Meyering  <jim@meyering.net>
88085
88086         Changes imported from coreutils.
88087         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
88088         as the mkstemp template, use a temporary directory and an
88089         8.3-friendly template to avoid trouble on systems like DJGPP.
88090         Reported by Juan M. Guerrero via Stepan Kasal.
88091         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
88092         close. Remove the temporary directory right away, rather than waiting
88093         for configure's at-exit trap code to do it.
88094         Suggestion from Stepan Kasal.
88095
88096 2005-01-01  Simon Josefsson  <jas@extundo.com>
88097
88098         * gnulib-tool: Print #include directives when --import'ing.
88099
88100 2004-12-28  Simon Josefsson  <jas@extundo.com>
88101
88102         * tests/test-base64.c: Include required header files.  Remove
88103         unused variables.
88104
88105 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
88106
88107         * modules/error (Depends-on): Remove gettext.
88108
88109 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
88110
88111         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
88112         not needed.  This removes a dependency on the gettext module.
88113         [defined _LIBC]: Do not include <libintl.h>; not needed.
88114
88115 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
88116
88117         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
88118         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
88119
88120 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
88121
88122         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
88123         HAVE_DECL_STRTOLD.
88124
88125 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
88126
88127         * modules/getdate (Depends-on): Remove alloca-opt.
88128
88129 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
88130
88131         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
88132
88133 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
88134
88135         * lib/argp-parse.c: Include <stddef.h>.
88136         (alignof, alignto): New macros.
88137         (parser_init): Don't assume that void * is aligned sufficiently
88138         for struct option.
88139
88140         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
88141         need to extend the stack.
88142         (YYINITDEPTH): New macro, so that the initial stack isn't overly
88143         large.
88144
88145 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88146
88147         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
88148
88149 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
88150
88151         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
88152         (2004-10-24) change.  Apparently this was a false alarm.
88153
88154         * modules/getdate: Depend on alloca-opt, not alloca.
88155
88156 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
88157
88158         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
88159         Remove now-obsolete comment about AIX.
88160         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
88161         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
88162         (YYMAXDEPTH): New macro.
88163
88164 2004-12-18  Simon Josefsson  <jas@extundo.com>
88165
88166         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
88167
88168 2004-12-18  Bruno Haible  <bruno@clisp.org>
88169
88170         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
88171
88172 2004-12-18  Bruno Haible  <bruno@clisp.org>
88173
88174         * lib/fatal-signal.c (fatal_signals): Make non-const.
88175         (init_fatal_signals): New function.
88176         (uninstall_handlers, install_handlers): Ignore signals that were set to
88177         SIG_IGN.
88178         (at_fatal_signal): Call init_fatal_signals.
88179         (init_fatal_signal_set): Likewise. Ignore signals that were set to
88180         SIG_IGN.
88181         Reported by Paul Eggert.
88182
88183 2004-12-18  Bruno Haible  <bruno@clisp.org>
88184
88185         * doc/alloca.texi: New file.
88186         * doc/alloca-opt.texi: New file.
88187
88188 2004-12-17  Jim Meyering  <jim@meyering.net>
88189
88190         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
88191         Otherwise, install-sh could exit with improper exit status when
88192         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
88193
88194 2004-12-16  Simon Josefsson  <jas@extundo.com>
88195
88196         * tests/test-base64.c: Add license.
88197
88198 2004-12-15  Stepan Kasal  <address@hidden>
88199
88200         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
88201
88202 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
88203
88204         * modules/getcwd (Files): Add m4/d-ino.m4.
88205         Suggested by Mark D. Baushke.
88206
88207 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
88208
88209         * lib/getdate.y (textint): New member "negative".
88210         (time_zone_hhmm): New function.
88211         Expect 14 shift-reduce conflicts, not 13.
88212         (o_colon_minutes): New rule.
88213         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
88214         (yylex): Set the "negative" member of signed numbers.
88215
88216 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
88217
88218         * doc/getdate.texi (Time of day items, Time zone items):
88219         Describe new formats +00:00, UTC+00:00.
88220
88221 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
88222
88223         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
88224         spurious "-l"s.  Problem reported by Stepan Kasal.
88225
88226 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
88227
88228         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
88229         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
88230
88231 2004-12-04  Simon Josefsson  <jas@extundo.com>
88232
88233         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
88234         Vandoorselaere <yoann@prelude-ids.org>.
88235
88236 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
88237
88238         Changes imported from coreutils.
88239         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
88240         exist.
88241         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
88242
88243 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
88244
88245         Changes imported from coreutils.
88246         * lib/hard-locale.c: Assume <locale.h> exists.
88247         Include "strdup.h".
88248         (GLIBC_VERSION): New macro.
88249         (hard_locale): Assume setlocale exists.
88250         Rewrite to avoid #ifdef.
88251         Use strdup rather than malloc + strcpy.
88252         * lib/human.c: Assume <locale.h> exists.
88253         (human_readable): Assume localeconv exists.
88254
88255 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
88256
88257         * modules/hard-locale (Depends-on): Add strdup.
88258
88259 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
88260
88261         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
88262         convert T2, not T.  (Imported from libc.)
88263
88264 2004-11-30  Simon Josefsson  <jas@extundo.com>
88265
88266         * modules/restrict (License): Change to LGPL.
88267
88268 2004-11-30  Simon Josefsson  <jas@extundo.com>
88269
88270         * m4/restrict.m4: Add copyright and copying conditions.
88271
88272 2004-11-30  Simon Josefsson  <jas@extundo.com>
88273
88274         * m4/base64.m4: New file.
88275
88276 2004-11-30  Simon Josefsson  <jas@extundo.com>
88277
88278         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
88279         base64.
88280
88281         * tests/test-base64.c: New file.
88282
88283         * modules/base64: New file.
88284
88285 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
88286
88287         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
88288         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
88289
88290         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
88291
88292 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
88293
88294         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
88295         (__getcwd.c): Don't restore errno; glibc doesn't.
88296         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
88297         first, falling back to our code only if its results look suspicious.
88298         Ensure that the resulting buffer is only as large as necessary.
88299
88300         * lib/readutmp.c: Include readutmp.h first.
88301         Include <errno.h>, since readutmp.h no longer does that.
88302         * lib/readutmp.h: Don't include <errno.h>,
88303         <sys/param.h>, <time.h>; not needed to establish interface.
88304         (errno): Remove decl.
88305         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
88306         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
88307         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
88308
88309 2004-11-28  Simon Josefsson  <jas@extundo.com>
88310
88311         * lib/base64.h, base64.c: New file.
88312
88313 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
88314
88315         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
88316
88317 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
88318
88319         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
88320         (Depends-on): Remove pathmax, same.  Add mempcpy.
88321         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
88322         (Makefile.am): Append getcwd.h to lib_SOURCES.
88323         (Include): Add getcwd.h.
88324         (Maintainer): Change from Jim Meyering to "all, glibc",
88325         since getdate now uses intended-for-glibc code.
88326         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
88327         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
88328
88329 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
88330
88331         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
88332         HP's ANSI C compiler.
88333         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
88334         Declaring int functions causes warnings on some modern systems and
88335         shouldn't be needed to compile on ancient ones.
88336         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
88337         defined.
88338
88339         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
88340         with the following changes.
88341         (__set_errno): Parenthesize properly.
88342         Include <stdbool.h>.
88343         (MIN, MAX, MATCHING_INO): New macros.
88344         (__getcwd): Define with prototype, not K&R form.
88345         Use heuristics to allocate default buffer on stack if possible.
88346         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
88347         behavior, and to avoid the PATH_MAX limit when computing
88348         ../../../../...
88349         Use MATCHING_INO to compare inode number to file.
88350         Check for arithmetic overflow in size calculations.
88351         Fix bug in reallocation of dot array that caused getcwd to fail
88352         on directories nested deeper than 75.
88353         Be more careful about saving errno on error.
88354         Do not use realloc; use only free+malloc, as this is a bit
88355         more flexible and avoids a needless copy operation.
88356         Do not inspect st_dev and st_ino for symbolic links; POSIX
88357         doesn't specify the latter.
88358         Check for closedir errors.
88359         Avoid needless casts.
88360         Use "#ifdef weak_alias" around weak_alias, to be like other
88361         glibc code.
88362         The following changes to getcwd.c have effect only when used in
88363         gnulib; they have no effect inside glibc proper.
88364         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
88365         as alloca isn't used.
88366         (alloca, __alloca): Likewise.
88367         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
88368         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
88369         unconditionally, as gnulib assumes C89 or better.
88370         Do not include <sys/param.h>.
88371         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
88372         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
88373         better.
88374         (NULL) [!defined NULL]: Remove; we assume C89 or better.
88375         Include <dirent.h> in a way that is compatible with modern Autoconf.
88376         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
88377         New macros, if not already defined.
88378         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
88379         Use "_LIBC", not "defined _LIBC", for consistency.
88380         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
88381         a mempcpy module.
88382         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
88383         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
88384         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
88385         credit only to Jim Meyering and adjust the copyright dates.
88386         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
88387         <stdlib.h>, <unistd.h>, "pathmax.h".
88388         Instead, include "xgetcwd.h" (first) and "getcwd.h".
88389         (INITIAL_BUFFER_SIZE): Remove.
88390         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
88391
88392 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
88393
88394         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
88395         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
88396         Use the _ONCE methods, for efficiency.
88397         Check for fcntl.h.  In test program, include <errno.h>
88398         and <fcntl.h> if available.  Remove old K&R cruft from
88399         test program.  Check for common errors in GNU/Linux,
88400         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
88401         don't do AC_LIBOBJ, as that's getcwd.m4's job.
88402         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
88403         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
88404         name accordingly.
88405         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
88406         accommodate new getcwd.c.
88407         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
88408         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
88409         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
88410         that's all we need now.
88411
88412 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88413
88414         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
88415         argp-parse.c depends on getopt internals, that means we should
88416         always use our getopt, to be on the safe side.
88417         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
88418         order not to spoil the result of an eventual previous invocation
88419         of gl_GETOPT_SUBSTITUTE.
88420
88421 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88422
88423         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
88424         redefinition warnings. To avoid them, include the defines
88425         in `#if !defined __need_getopt ... #endif'. The only place
88426         where __getopt_argv_const is used is in definitions
88427         of getopt_long and getopt_long_only below, which are as well
88428         protected by `#ifndef __need_getopt'.
88429         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
88430         __need_getopt after including <stdio.h> and <unistd.h> These
88431         headers might have defined it.
88432
88433 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
88434
88435         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
88436
88437 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
88438
88439         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
88440         (futimens): New function, which uses futimes if available.
88441         (futimens, utimens): Support timespec==NULL, with same semantics
88442         as utime and utimens.
88443         * lib/utimens.h (futimens): New decl.
88444
88445 2004-11-23  Jim Meyering  <jim@meyering.net>
88446
88447         * lib/getopt_.h: Remove trailing blanks.
88448
88449 2004-11-23  Jim Meyering  <jim@meyering.net>
88450
88451         * lib/__fpending.c: Add comment.
88452
88453 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
88454
88455         * modules/canonicalize (Depends-on): Add xreadlink.
88456         Problem reported by James Youngman.
88457
88458 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
88459
88460         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
88461         New macros.
88462         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
88463         optopt): Use them instead of invoking ## directly; otherwise, the
88464         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
88465
88466 2004-11-19  Bruno Haible  <bruno@clisp.org>
88467
88468         * lib/strtok_r.c: Move comments from here...
88469         * lib/strtok_r.h: ... to here.
88470
88471 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
88472
88473         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
88474         implementations that mishandle size_t overflow.
88475
88476 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
88477
88478         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
88479         might fail.  Problem reported by Yoann Vandoorselaere.
88480         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
88481         implementations that mishandle size_t overflow.
88482
88483 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
88484
88485         * modules/canon-host (Depends-on): Add strdup.
88486
88487 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
88488
88489         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
88490
88491 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
88492
88493         * lib/canon-host.c: Include "strdup.h".
88494         (canon_host): Use getaddrinfo if available, so that IPv6 works.
88495         Use strdup instead of malloc/strcpy to duplicate strings.
88496
88497         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
88498         (human_space_before_unit): New constant.
88499         * lib/human.c (human_readable): Support it.
88500
88501         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
88502         (xgetcwd): Set errno correctly when failing.
88503         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
88504         the failure is actually due to a PATH_MAX problem.
88505
88506         Further getopt changes to make it more likely that glibc will
88507         buy the changes back.
88508         * lib/getopt.c (POSIXLY_CORRECT): New constant.
88509         (getopt): Use it, so to preserve glibc semantic
88510         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
88511         when compiling for libc.
88512         * lib/getopt_.h (__getopt_argv_const): Bring it back.
88513         (getopt_long, getopt_long_only): Use it.
88514
88515         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
88516         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
88517         (getopt): Argv is now char * const *, as per standard.
88518         (_getopt_internal_r, _getopt_internal): Argv is now char **,
88519         not char *__getopt_argv_const *.
88520         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
88521         _getopt_long_only_r): Likewise.
88522         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
88523         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
88524         _getopt_long_r, _getopt_long_only_r): Likewise.
88525         * lib/getopt_.h (__getopt_argv_const): Remove.
88526         (getopt): Argv is now char * const *, as per standard.
88527
88528         * lib/getdate.y (tORDINAL): New token.
88529         (day, relunit): Allow it for relative times.
88530         (relative_time_table): Use tORDINAL for ordinals.
88531
88532 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
88533
88534         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
88535         Document that "second" isn't allowed as an ordinal number.
88536
88537 2004-11-16  Jim Meyering  <jim@meyering.net>
88538
88539         * modules/closeout (Depends-on): Add fpending.
88540
88541 2004-11-15  Jim Meyering  <jim@meyering.net>
88542
88543         * lib/closeout.c: Include "__fpending.h" once again.
88544         Include <stdbool.h>.
88545         (close_stdout): Don't fail just because stdout was closed initially,
88546         since some programs don't write to stdout in the normal course of
88547         operation (other than --version and --help), and we don't want this
88548         function to make e.g. `touch file >&-' fail.
88549         But do fail if it was closed and someone has tried to write to it.
88550         E.g., `printf foo >&-' must fail.
88551
88552 2004-11-13  Jim Meyering  <jim@meyering.net>
88553
88554         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
88555
88556 2004-11-12  Simon Josefsson  <jas@extundo.com>
88557
88558         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
88559         small doc fix is still pending.
88560
88561 2004-11-11  Simon Josefsson  <jas@extundo.com>
88562
88563         * modules/strtok_r: New file.
88564
88565         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
88566         strtok_r.
88567
88568 2004-11-11  Simon Josefsson  <jas@extundo.com>
88569
88570         * m4/strtok_r.m4: New file.
88571
88572         * m4/getopt.m4: Replace opterr.
88573
88574 2004-11-11  Simon Josefsson  <jas@extundo.com>
88575
88576         * lib/strtok_r.h, strtok_r.c: New file.
88577
88578 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
88579
88580         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
88581         of replacing opterr, getopt, etc.  This should handle the
88582         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
88583
88584 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
88585
88586         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
88587         we can stop lying to compilers about the constness of argv when we
88588         are compiled outside glibc.
88589         (getopt, getopt_long, getopt_long_only): Use it.
88590         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
88591         _getopt_internal, getopt): Likewise.
88592         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
88593         _getopt_long_only_r): Likewise.
88594         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
88595         _getopt_long_r, _getopt_long_only_r): Likewise.
88596
88597         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
88598         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
88599         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
88600         the other external symbols.
88601         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
88602         declaration, since the above renaming now works around collisions.
88603
88604 2004-11-11  Jim Meyering  <jim@meyering.net>
88605
88606         * lib/linebreak.c: Remove trailing blanks.
88607         * lib/alloca_.h: Likewise.
88608         * lib/acosl.c: Likewise.
88609         * lib/euidaccess.c: Likewise.
88610         * lib/allocsa.h: Likewise.
88611
88612 2004-11-10  Simon Josefsson  <jas@extundo.com>
88613
88614         * m4/getaddrinfo.m4: New file.
88615
88616 2004-11-10  Simon Josefsson  <jas@extundo.com>
88617
88618         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
88619
88620 2004-11-10  Simon Josefsson  <jas@extundo.com>
88621
88622         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
88623         getaddrinfo.
88624
88625         * modules/getaddrinfo: New file.
88626
88627 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
88628
88629         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
88630
88631 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
88632
88633         * lib/mktime.c (SHR): New macro, which is a portable
88634         substitute for >> that should work even on Crays.
88635         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
88636         Problem reported by Mark D. Baushke in
88637         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
88638         * lib/getdate.y (SHR): Likewise.
88639         (tm_diff): Use it.
88640         * lib/strftime.c (SHR): Likewise.
88641         (tm_diff): Use it.
88642         * lib/quotearg.c (struct quoting_options): Use unsigned int for
88643         quote_these_too, so that right shifts are well defined.  All uses
88644         changed.
88645
88646 2004-11-10  Jim Meyering  <jim@meyering.net>
88647
88648         Ensure that no close failure goes unreported.
88649         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
88650         return early when it seems there's nothing to flush.
88651         Don't include __fpending.h.
88652
88653 2004-11-10  Jim Meyering  <jim@meyering.net>
88654
88655         * modules/closeout (Depends-on): Remove fpending.
88656
88657 2004-11-10  Jim Meyering  <jim@meyering.net>
88658
88659         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
88660
88661 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
88662
88663         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
88664         gl_FUNC_STRFTIME.
88665         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
88666         and AC_REQUIRE when possible, to avoid duplicate checks.
88667         Check for <wchar.h>.
88668
88669 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
88670
88671         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
88672
88673 2004-11-09  Bruno Haible  <bruno@clisp.org>
88674
88675         * m4/sockpfaf.m4: New file.
88676
88677 2004-11-05  Bruno Haible  <bruno@clisp.org>
88678
88679         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
88680         Reported by Mark D. Baushke <mdb@cvshome.org>.
88681
88682 2004-11-04  Bruno Haible  <bruno@clisp.org>
88683
88684         2004-09-11  Bruno Haible  <bruno@clisp.org>
88685                 * allocsa.valgrind: New file.
88686         2004-02-06  Bruno Haible  <bruno@clisp.org>
88687                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
88688                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
88689                 Reported by Christopher Seip <chris.seip@hp.com>.
88690
88691 2004-11-04  Bruno Haible  <bruno@clisp.org>
88692
88693         * modules/allocsa (Files): Add lib/allocsa.valgrind.
88694         (Makefile.am): Distribute it.
88695
88696 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
88697
88698         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
88699         with errno == ERANGE if the buffer is too small.
88700         Problem reported by Mark D. Baushke.
88701
88702 2004-11-03  Albert Chin  <china@thewrittenword.com>
88703             Paul Eggert  <eggert@cs.ucla.edu>
88704
88705         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
88706         equivalent, substitute $ac_type for equivalent type rather than
88707         blindly using uint32_t *always* which won't work if uint32_t is not
88708         available.  Define _UINT32_T to work around typedef of uint32_t if
88709         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
88710         2.5.1.
88711
88712 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
88713
88714         * m4/jm-macros.m4: Sync from coreutils.
88715         (gl_MACROS): Check for mbrlen, for pathchk.
88716         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
88717
88718 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
88719
88720         * lib/xreadlink.c (MAXSIZE): New macro.
88721         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
88722         size does not exceed MAXSIZE.  Avoid cast.
88723         As suggested by Mark D. Baushke in
88724         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
88725         if readlink fails with buffer size just under MAXSIZE, try again
88726         with MAXSIZE.
88727
88728 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
88729
88730         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
88731
88732 2004-11-02  Derek R. Price  <derek@ximbiot.com>
88733         and  Paul Eggert  <eggert@cs.ucla.edu>
88734
88735         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
88736         (get_date): Overparenthesize to avoid GCC warning.
88737
88738 2004-11-02  Bruno Haible  <bruno@clisp.org>
88739
88740         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
88741         returns void.
88742
88743 2004-11-02  Bruno Haible  <bruno@clisp.org>
88744
88745         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
88746         function returns void.
88747
88748 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
88749
88750         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
88751         fflush_unlocked, flockfile, funlockfile, funlockfile,
88752         fputs_unlocked, putc_unlocked.
88753
88754 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
88755
88756         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
88757         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
88758         already declared.
88759
88760 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
88761
88762         * modules/getdate (Files): Add doc/getdate.texi.
88763         (Depends-on): Add setenv, xalloc.
88764
88765 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
88766
88767         * lib/getdate.y: Add support for TZ="foo" within a date string.
88768         Fix some bugs near time_t boundaries.  Reject dates with
88769         out-of-range components, e.g., "Sept 31".
88770         Include <stdlib.h>, "setenv.h", "xalloc.h".
88771         (ISDIGIT_LOCALE): Remove; unused.
88772         Note that the TZ and time functions used here are not reentrant.
88773         (mktime_ok, get_tz): New functions.
88774         (TZBUFSIZE): New constant.
88775         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
88776         This requires that we sometimes generate our own TZ="XXX..." setting.
88777
88778 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
88779
88780         * doc/getdate.texi: New file, from coreutils with modifications for
88781         the new TZ parsing.
88782
88783 2004-10-27  Derek R. Price  <derek@ximbiot.com>
88784
88785         * lib/mktime.c (not_equal_tm): Remove redundant check.
88786
88787 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
88788
88789         * modules/regex (lib_SOURCES): Add regex.c.
88790         Reported by James Youngman in
88791         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
88792
88793 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
88794
88795         * lib/getdate.y: Use Bison 1.875 features, and some minor
88796         code cleanups.  This change does not affect semantics.
88797         Don't include <stdlib.h>; no longer needed.
88798         Don't include unlocked-io.h; only the "#if TEST" code uses
88799         stdio, and performance isn't crucial there.
88800         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
88801         Bison 1.875 features as described below.
88802         All uses of "PC." replaced by "pc->".
88803         (YYSTYPE): Add a forward declaration.
88804         (yylex, yyerror): Use full prototypes in forward decls.
88805         Use "%pure-parser" rather than obsolescent "%pure_parser".
88806         Use %parse-param and %lex-param instead of obsolescent
88807         YYPARSE_PARAM and YYLEX_PARAM.
88808         (meridian_table, month_and_day_table, time_units_table,
88809         relative_time_table, time_zone_table, military_table,
88810         lookup_zone, lookup_word, get_date):
88811         Use NULL instead of 0 where appropriate.
88812         (to_hour): Avoid abort (), to avoid a dependency on
88813         stdlib.h.
88814         (yyerror, yylex): Now accepts parser_control * arg.
88815         (main) [TEST]: Use '\0' rather than 0 for char.
88816
88817 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
88818
88819         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
88820
88821 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
88822
88823         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
88824         It's now the caller's responsibility to handle the case where
88825         !HAVE_GETPAGESIZE && !defined getpagesize.
88826
88827         * lib/mktime.c (leapyear): Arg is long int, not int.
88828
88829 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
88830
88831         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
88832
88833 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
88834
88835         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
88836         missing.  Problem reported by James Youngman.
88837
88838 2004-10-16  Simon Josefsson  <jas@extundo.com>
88839
88840         * gnulib-tool: Fix comments.  Fix parse problem.
88841         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
88842
88843 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
88844
88845         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
88846         implementation of getopt_long.  Problem reported by Alexander Taler in:
88847         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
88848
88849 2004-10-15  Bruno Haible  <bruno@clisp.org>
88850
88851         * gnulib-tool: Untabify. Initialize supplied_libname.
88852         (func_usage): More homogenous output.
88853         (func_modules_transitive_closure, func_modules_to_filelist,
88854         func_emit_lib_Makefile_am): New functions.
88855         (func_import): New function, extracted from big case statement. Use
88856         func_get_license, func_modules_transitive_closure,
88857         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
88858         opt_lgpl. Don't use test -a, as it's not portable.
88859         (func_create_testdir): Use func_modules_transitive_closure,
88860         func_modules_to_filelist, func_emit_lib_Makefile_am.
88861
88862 2004-10-15  Bruno Haible  <bruno@clisp.org>
88863
88864         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
88865
88866 2004-10-15  Bruno Haible  <bruno@clisp.org>
88867
88868         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
88869         the portions belonging to each module.
88870         Suggested by Derek Robert Price <derek@ximbiot.com>.
88871
88872 2004-10-12  Simon Josefsson  <jas@extundo.com>
88873
88874         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
88875         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
88876         to real functions.
88877
88878 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
88879
88880         * modules/vsnprintf: New file.
88881
88882 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
88883
88884         * m4/vsnprintf.m4: New file.
88885
88886 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
88887
88888         * lib/vsnprintf.h: New file.
88889         * lib/vsnprintf.c: New file.
88890
88891 2004-10-11  Bruno Haible  <bruno@clisp.org>
88892
88893         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
88894         vsnprintf.
88895
88896 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
88897
88898         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
88899
88900 2004-10-07  Bruno Haible  <bruno@clisp.org>
88901
88902         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
88903         fits into the provided buffer.
88904
88905 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
88906
88907         * lib/diacrit.c, diacrit.h: Add GPL notice.
88908
88909         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
88910         notice.
88911         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
88912         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
88913         This avoids a potential constant-folding bug.
88914
88915 2004-10-05  Bruno Haible  <bruno@clisp.org>
88916
88917         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
88918         for the declaration of strsep.
88919
88920 2004-10-05  Bruno Haible  <bruno@clisp.org>
88921
88922         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
88923
88924 2004-10-04  Simon Josefsson  <jas@extundo.com>
88925
88926         * modules/memmem: New file.
88927         * tests/test-memmem.c: New file.
88928         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
88929
88930 2004-10-04  Simon Josefsson  <jas@extundo.com>
88931
88932         * m4/memmem.m4: New file.
88933
88934 2004-10-04  Simon Josefsson  <jas@extundo.com>
88935
88936         * lib/memmem.h: New file.
88937         * lib/memmem.c: New file, taken from glibc.
88938
88939 2004-10-04  Simon Josefsson  <jas@extundo.com>
88940
88941         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
88942         '#ifdef USE_UNLOCKED_IO'.
88943
88944 2004-10-04  Simon Josefsson  <jas@extundo.com>
88945
88946         * config/srclist.txt: Add memmem from glibc.
88947
88948 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
88949
88950         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
88951
88952         * modules/argmatch, modules/argp, modules/closeout, modules/error,
88953         modules/exclude, modules/getdate, modules/getline,
88954         modules/getndelim2, modules/getpass, modules/getpass-gnu,
88955         modules/getusershell, modules/linebuffer, modules/md5,
88956         modules/mountlist, modules/posixtm, modules/readtokens,
88957         modules/readutmp, modules/regex, modules/sha1,
88958         modules/version-etc, modules/yesno:
88959         Remove dependency on unlocked-io.
88960
88961 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
88962
88963         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
88964
88965         * m4/unlocked-io.m4: Add copyright notice.
88966         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
88967
88968 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
88969
88970         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
88971         * lib/xmalloc.c (xmemdup): Likewise.
88972         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
88973         XFREE): Remove these long-obsolescent macros.
88974         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
88975         * lib/xstrdup.c: Remove.
88976
88977         * lib/regex.c (re_comp): Cast gettext return value to char *,
88978         Problem reported by Martin Neitzel via Mark D. Baushke.
88979
88980 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
88981
88982         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
88983         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
88984         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
88985         regex.c, sha1.c, version-etc.c, yesno.c:
88986         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
88987         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
88988         the includer's responsibility.
88989
88990         Sync from coreutils.
88991
88992         * lib/modechange.c (mode_compile): Don't decrement a pointer that
88993         points to the start of a string, as the C Standard says the
88994         resulting behavior is undefined.
88995
88996         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
88997         simple -> simple_backups, numbered_existing ->
88998         numbered_existing_backups, numbered -> numbered_backups
88999         to avoid shadowing problems.  All uses changed.
89000         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
89001         * lib/backupfile.c (check_extension, numbered_backup):
89002         Rename locals to avoid shadowing 'basename'.
89003         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
89004         once.
89005
89006         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
89007         * lib/.cvsignore: Add getopt.h.
89008
89009 2004-10-04  Bruno Haible  <bruno@clisp.org>
89010
89011         * modules/README: New file.
89012         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
89013         not a module.
89014
89015 2004-10-02  Jim Meyering  <jim@meyering.net>
89016
89017         * lib/dirfd.h, getpagesize.h: Add copyright notice.
89018
89019 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89020
89021         * modules/strsep: New file.
89022
89023 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89024
89025         * m4/strsep.m4: New file.
89026
89027 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89028
89029         * lib/strsep.h: New file.
89030         * lib/strsep.c: New file.
89031
89032 2004-10-01  Simon Josefsson  <jas@extundo.com>
89033
89034         * lib/snprintf.c (snprintf): Handle size==0.
89035
89036 2004-10-01  Simon Josefsson  <jas@extundo.com>
89037             Bruno Haible  <bruno@clisp.org>
89038
89039         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
89040         (snprintf): Declare 'args'.
89041
89042 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
89043
89044         * lib/snprintf.c: Remove comments as to why each header is needed.
89045
89046 2004-10-01  Bruno Haible  <bruno@clisp.org>
89047
89048         * MODULES.html.sh: Add strsep.
89049
89050 2004-09-30  Simon Josefsson  <jas@extundo.com>
89051
89052         * modules/snprintf: New file.
89053
89054 2004-09-30  Simon Josefsson  <jas@extundo.com>
89055
89056         * m4/snprintf.m4: New file.
89057
89058 2004-09-30  Simon Josefsson  <jas@extundo.com>
89059
89060         * lib/snprintf.h, lib/snprintf.c: New files.
89061
89062 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
89063
89064         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
89065         (hol_entry_help): Never translate an empty string.
89066         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
89067         * lib/argp.h (OPTION_NO_TRANS): New option.
89068
89069 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
89070
89071         * modules/argp (Maintainer): Replace Simon Josefsson
89072         by Sergey Poznyakoff.
89073
89074 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
89075
89076         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
89077         changes merged back into glibc.
89078
89079 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
89080
89081         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
89082
89083 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
89084
89085         * lib/xvasprintf.c: Include xalloc.h.
89086         (xvasprintf): Use xalloc_die, not xmalloc_die.
89087
89088 2004-09-29  Bruno Haible  <bruno@clisp.org>
89089
89090         * modules/alloca-opt: New file, derived from modules/alloca.
89091         * modules/allocsa: Depend on alloca-opt instead of alloca.
89092         * modules/setenv: Likewise.
89093         * modules/vasnprintf: Likewise.
89094         * MODULES.html.sh: Add alloca-opt.
89095
89096 2004-09-28  Simon Josefsson  <jas@extundo.com>
89097
89098         * gnulib-tool: New parameter --lgpl, to asseert that modules are
89099         LGPL, and to replace license template from GPL to LGPL.
89100
89101 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
89102
89103         * modules/dummy: Change license to LGPL.
89104
89105 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
89106
89107         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
89108
89109 2004-09-24  Simon Josefsson  <jas@extundo.com>
89110
89111         * modules/minmax (License): Change from GPL to LGPL.
89112
89113 2004-09-23  Simon Josefsson  <jas@extundo.com>
89114
89115         * gnulib-tool (--import): Typo.
89116
89117 2004-09-23  Simon Josefsson  <jas@extundo.com>
89118
89119         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
89120
89121 2004-09-22  Bruno Haible  <bruno@clisp.org>
89122
89123         * modules/*: Add 'License' field.
89124         * gnulib-tool: Accept --extract-license option.
89125         (func_get_license): New function.
89126
89127 2004-09-21  Bruno Haible  <bruno@clisp.org>
89128
89129         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
89130         Reported by Simon Josefsson.
89131
89132 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
89133
89134         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
89135         gl_AC_TYPE_LONG_LONG.
89136
89137 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
89138
89139         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
89140
89141 2004-09-18  Simon Josefsson  <jas@extundo.com>
89142         and  Paul Eggert  <eggert@cs.ucla.edu>
89143
89144         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
89145         calls with autoreconf.  Define GL_LIB.
89146
89147 2004-09-14  Karl Berry  <karl@gnu.org>
89148
89149         * config/srclist.txt: unsync setenv.c, sigh.
89150
89151 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
89152
89153         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
89154         Problem reported by Bruno Haible in:
89155         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
89156
89157 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
89158
89159         * config/srclist.txt: Comment out argp-pvh.c.
89160
89161 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
89162
89163         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
89164         in case some system header has #define'd it.  Problem reported by
89165         Soeren D. Schulze in
89166         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
89167
89168 2004-09-09  Karl Berry  <karl@gnu.org>
89169
89170         * regex.[ch]: delete from the root.  These were supposed to be
89171                 synced with emacs cvs, but this has not happened for about
89172                 a year, and anyway nothing else uses emacs regex.[ch].
89173                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
89174                 lib/regex[.ch] is untouched.
89175
89176 2004-09-09  Bruno Haible  <bruno@clisp.org>
89177
89178         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
89179
89180 2004-09-09  Bruno Haible  <bruno@clisp.org>
89181
89182         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
89183         modifications.
89184         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
89185
89186 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
89187
89188         * modules/xvasprintf: New file.
89189         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
89190
89191 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
89192
89193         * lib/xvasprintf.h: New file.
89194         * lib/xvasprintf.c: New file.
89195         * lib/xasprintf.c: New file.
89196
89197 2004-09-08  Bruno Haible  <bruno@clisp.org>
89198
89199         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
89200
89201 2004-09-08  Bruno Haible  <bruno@clisp.org>
89202
89203         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
89204         length is > INT_MAX.
89205         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
89206         more.
89207
89208 2004-09-08  Bruno Haible  <bruno@clisp.org>
89209
89210         * lib/stdint_.h: New file, taken from GNU clisp.
89211
89212 2004-09-08  Bruno Haible  <bruno@clisp.org>
89213             Oskar Liljeblad  <oskar@osk.mine.nu>
89214
89215         * modules/stdint: New file.
89216         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
89217
89218 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
89219
89220         Import from coreutils.
89221         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
89222         strings on unbounded length.  alloca's performance benefits aren't
89223         that important here.
89224         (V_STRDUP): Remove.
89225         (parse_with_separator): New function, with most of the internals
89226         of the old parse_user_spec.  Allow user to omit both user and group,
89227         for compatibility with FreeBSD.
89228         Clone only the user name, not the entire spec.
89229         Do not set *uid, *gid unless entirely successful.
89230         Avoid memory leak in some failing cases.
89231         Fix regression for USER.GROUP reported by Dmitry V. Levin in
89232         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
89233         (parse_user_spec): Rewrite to use parse_with_separator.
89234
89235 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
89236
89237         * modules/userspec: Don't depend on alloca.
89238
89239 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
89240
89241         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
89242
89243 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
89244
89245         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
89246         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
89247         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
89248
89249 2004-08-16  Simon Josefsson  <jas@extundo.com>
89250
89251         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
89252         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
89253         Add --dry-run for --import.
89254         Let user provided command line parameters override configure.ac
89255         settings.
89256
89257 2004-08-12  Simon Josefsson  <jas@extundo.com>
89258
89259         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
89260         as discussed with Paul Eggert in threads rooted at
89261         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
89262         and
89263         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
89264         Before, the test was empty, and relied on ELIDE_CODE in source
89265         code.)
89266         (gl_PREREQ_GETOPT): New macro.
89267         (gl_GETOPT): Use them.
89268
89269 2004-08-12  Simon Josefsson  <jas@extundo.com>
89270
89271         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
89272         * lib/getopt_.h: Renamed from getopt.h.
89273
89274 2004-08-12  Simon Josefsson  <jas@extundo.com>
89275
89276         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
89277         Change default library name from libfoo to libgnu.
89278         Now, if you have a configure.ac that says:
89279                 gl_SOURCE_BASE(gl)
89280                 gl_M4_BASE(gl/m4)
89281                 gl_MODULES(error getopt etcetera)
89282                 gl_INIT
89283         you can import all you need by running:
89284                 ../gnulib/gnulib-tool --import
89285
89286         * modules/getopt (Files): Rename getopt.h to getopt_.h.
89287         (Makefile.am): Rewrite, use logic from argz.
89288         (Include): Use <getopt.h> instead of "getopt.h".
89289
89290 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
89291
89292         * modules/argp (Files): Add m4/unlocked-io.m4.
89293         (Depends-on): Add extensions.
89294
89295 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
89296
89297         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
89298         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
89299         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
89300         Check for program_invocation_name, program_invocation_short_name,
89301         flockfile, funlockfile, features.h, _getopt_long_only_r.
89302
89303 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
89304
89305         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
89306         its complicated substitute.
89307         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
89308         and program_invocation_name.
89309         (__argp_basename) [!_LIBC]: Remove; the only use was
89310         replaced by its body.
89311         (__argp_short_program_name): Change condition from
89312         !defined __argp_short_program_name to
89313         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
89314         to match argp-namefrob.h.
89315         (__argp_failure): Don't assume strerror_r returns char *.
89316         * lib/argp-parse.c (N_): Define unconditionally.
89317         (argp_default_options): Fill out initializers with 0 to avoid
89318         gcc warnings.
89319
89320 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
89321
89322         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
89323         getopt1.c.
89324
89325 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
89326
89327         Merge from coreutils.
89328
89329         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
89330
89331         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
89332         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
89333
89334 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
89335
89336         Merge from coreutils.
89337
89338         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
89339         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
89340         for Reliant Unix 5.43.
89341
89342         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
89343         (union fooround): Use uintmax_t, not long int.
89344         The rest is a merge from libc:
89345         [defined _LIBC]: Include <shlib-compat.h>.
89346         (_obstack) [defined _LIBC]: Remove after 2.3.4.
89347
89348         * lib/settime.c (settime): Recode to avoid warning with
89349         Sun Forte C 6U2.
89350
89351         * lib/strverscmp.c: Convert to UTF-8.
89352
89353 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
89354
89355         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
89356         m4/uintmax_t.m4.
89357
89358 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
89359
89360         * modules/xalloc-die: New file.
89361         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
89362
89363         * modules/md5 (Files): Add m4/uint32_t.m4.
89364         * modules/sha1: Renamed from modules/sha.
89365         (Files):
89366         Rename lib/sha.h to lib/sha1.h.
89367         Rename lib/sha.c to lib/sha1.c.
89368         Rename m4/sha.m4 to m4/sha1.m4.
89369         (lib_SOURCES): Likewise.
89370         (configure.ac): Rename gl_SHA to gl_SHA1.
89371         (Include): sha.h -> sha1.h.
89372
89373 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
89374
89375         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
89376         * m4/sha1.m4: Renamed from sha.m4.
89377         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
89378
89379 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
89380
89381         * lib/obstack.h (obstack_empty_p):
89382         Don't assume that chunk->contents is suitably aligned.
89383         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
89384         Likewise. Problem reported by Benno in
89385         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
89386
89387         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
89388         readable.  This could be improved further but it'd take some work.
89389
89390 2004-08-08  Simon Josefsson  <jas@extundo.com>
89391
89392         * modules/xgethostname (Depends-on): Remove exit and error (not
89393         used).
89394
89395         * modules/getpass-gnu: Add getpass.h.
89396         (Depends-on): Add stdbool.
89397         * modules/getpass: Add getpass.h.
89398
89399 2004-08-08  Simon Josefsson  <jas@extundo.com>
89400
89401         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
89402         Check getpass declaration.
89403
89404 2004-08-08  Simon Josefsson  <jas@extundo.com>
89405
89406         * lib/xgethostname.c: Don't include error.h (not used).
89407
89408         * lib/getpass.h: Add.
89409         * lib/getpass.c: Include getpass.h first.
89410
89411 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
89412
89413         * lib/xalloc-die.c: New file.
89414         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
89415         All uses removed.
89416         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
89417         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
89418         xalloc-die.c.
89419         (_, N_, xalloc_die): Move to xalloc-die.c.
89420         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
89421         so that we needn't mess with xalloc_msg_memory_exhausted.
89422
89423         * lib/sha1.h: Renamed from sha.h.
89424         (SHA1_H): Renamed from _SHA_H.
89425         (sha1_ctx): Renamed from sha_ctx.
89426         (sha1_init_ctx): Renamed from sha_init_ctx.
89427         (sha1_process_block): Renamed from sha_process_block.
89428         (sha1_process_bytes): Renamed from sha_process_bytes.
89429         (sha1_finish_ctx): Renamed from sha_finish_ctx.
89430         (sha1_read_ctx): Renamed from sha_read_ctx.
89431         (sha1_stream): Renamed from sha_stream.
89432         (sha1_buffer): Renamed from sha_buffer.
89433         * lib/sha1.c: Likewise; renamed from sha.c.
89434         Do not include <sys/types.h>.
89435         Include <stddef.h> rather than <stdlib.h>.
89436
89437 2004-08-08  Bruno Haible  <bruno@clisp.org>
89438
89439         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
89440         FILESYSTEM_PREFIX_LEN.
89441         * lib/progreloc.c: Likewise.
89442         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
89443
89444 2004-08-06  Simon Josefsson  <jas@extundo.com>
89445
89446         * modules/progname (Depends-on): Don't depend on stdbool.
89447
89448 2004-08-06  Simon Josefsson  <jas@extundo.com>
89449
89450         * modules/getsubopt: New file.
89451         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
89452         getsubopt.
89453
89454 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
89455
89456         More merge from coreutils.
89457
89458         * m4/utimens.m4, m4/utimecmp.m4: New files.
89459         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
89460         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
89461         prereq.m4, sha.m4: Import changes from coreutils.
89462
89463 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
89464
89465         More merge from coreutils.
89466         * modules/raise, modules/readtokens0, modules/utimens:
89467         * modules/utimecmp, module/xnanosleep: New files.
89468         * modules/strftime: Add lib/strftime.h.
89469         Change include from <time.h> to "strftime.h".
89470         * modules/yesno: Add lib/yesno.h.
89471         * modules/backupfile: Remove lib/addext.c.
89472         * modules/euidaccess: Add stat-macros.h.
89473         * modules/canonicalize, modules/euidaccess,
89474         modules/filemode, modules/lchown, modules/makepath,
89475         modules/rmdir, modules/stat: Likewise.
89476
89477 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
89478
89479         Merge from tar.
89480         * lib/argp-help.c (make_hol, hol_append): Don't assume that
89481         SIZE_MAX is a valid preprocessor constant.
89482         (__argp_basename): Change from "#ifndef _LIBC"
89483         to "#ifndef __argp_short_program_name", so that
89484         we don't compile these functions for tar.
89485
89486         More merges from coreutils.
89487         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
89488         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
89489         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
89490         * lib/addext.c: Remove; no longer needed.
89491         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
89492         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
89493         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
89494         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
89495         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
89496         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
89497         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
89498         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
89499         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
89500         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
89501         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
89502         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
89503         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
89504         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
89505         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
89506         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
89507         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
89508         Import changes from coreutils.
89509
89510 2004-08-05  Simon Josefsson  <jas@extundo.com>
89511
89512         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
89513
89514 2004-08-05  Simon Josefsson  <jas@extundo.com>
89515
89516         * m4/getsubopt.m4: New file.
89517
89518 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
89519
89520         Merge from coreutils.
89521
89522         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
89523         * m4/getcwd-path-max.m4: New files.
89524
89525         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
89526         FILESYSTEM_PREFIX_LEN ->
89527         FILE_SYSTEM_PREFIX_LEN.
89528         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
89529         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
89530         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
89531         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
89532
89533         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
89534         prerequisite modules now handle the DOS stuff.
89535         Don't check for unistd.h.
89536
89537 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
89538
89539         Merge from coreutils.
89540
89541         * lib/.gdb-history: Remove; this doesn't belong here.
89542
89543         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
89544         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
89545         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
89546         * lib/getcwd.c: New files.
89547
89548         * lib/dirname.h: Include <stdbool.h>.
89549         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
89550         for consistency with POSIX terminology.  All uses changed.
89551         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
89552         (strip_trailing_slashes): Use bool for booleans.
89553         * lib/stripslash.c (strip_trailing_slashes): Likewise.
89554
89555         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
89556         sometimes returns a positive errno value even when it succeeds.
89557         (print_errno_message) [!LIBC]: Fall back on strerror if
89558         __strerror_r fails.
89559
89560         * lib/path-concat.c (mempcpy): Don't define if a system header defines
89561         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
89562         (longest_relative_suffix): New function.
89563         (path_concat): Use it.  Assume first argument is not NULL.
89564         Port to DOS.  Omit redundant separators.
89565         Report an error instead of returning NULL.
89566         Use mempcpy instead of memcpy.
89567         (xpath_concat): Remove: not declared or used.
89568
89569         * lib/same.h: Include <stdbool.h>
89570         (same_name): Return bool, not int.
89571         * lib/same.c (same_name): Likewise.
89572         (errno): Don't declare; we assume C89 or better now.
89573
89574         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
89575         if not already defined.
89576
89577         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
89578         * lib/dup-safer.c (errno): Likewise.
89579
89580 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
89581
89582         Merge from coreutils.
89583         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
89584         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
89585         * modules/path-concat: Don't depend on strdup.
89586
89587 2004-08-03  Simon Josefsson  <jas@extundo.com>
89588
89589         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
89590         * lib/progname.h: Don't include stdbool.h.
89591
89592 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
89593
89594         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
89595         * MODULES.html.sh (func_all_modules): Remove fatal.
89596
89597 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
89598
89599         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
89600
89601 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
89602
89603         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
89604         working.
89605
89606 2004-08-02  Simon Josefsson  <jas@extundo.com>
89607
89608         * lib/getsubopt.h: New file, with comments from Bruno Haible.
89609         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
89610         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
89611
89612 2004-08-01  Simon Josefsson  <jas@extundo.com>
89613
89614         * lib/xgetdomainname.c: Include stdlib.h, for free().
89615
89616 2004-07-19  Bruno Haible  <bruno@clisp.org>
89617
89618         * MODULES.html.sh (func_all_modules): Add dummy.
89619
89620 2004-07-16  Simon Josefsson  <jas@extundo.com>
89621
89622         * modules/dummy: New file.
89623
89624 2004-07-16  Simon Josefsson  <jas@extundo.com>
89625
89626         * lib/dummy.c: New file.
89627
89628 2004-07-16  Bruno Haible  <bruno@clisp.org>
89629
89630         * lib/backupfile.h: Add extern "C" for C++.
89631         * lib/closeout.h: Likewise.
89632         * lib/copy-file.h: Likewise.
89633         * lib/findprog.h: Likewise.
89634         * lib/full-write.h: Likewise.
89635         * lib/pathname.h: Likewise.
89636         * lib/progname.h: Likewise.
89637         * lib/stpcpy.h: Likewise.
89638         * lib/stpncpy.h: Likewise.
89639         * lib/strcase.h: Likewise.
89640         * lib/strstr.h: Likewise.
89641         * lib/xalloc.h: Likewise.
89642
89643         * lib/mbswidth.h: Add extern "C" for C++.
89644         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
89645
89646 2004-07-13  Robert Millan  <robertmh@gnu.org>
89647
89648         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
89649
89650 2004-07-09  Simon Josefsson  <jas@extundo.com>
89651
89652         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
89653         failed without this.)
89654
89655 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
89656
89657         * modules/chown (Files): Add lib/fchown-stub.c, since
89658         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
89659
89660 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
89661
89662         * lib/fchown-stub.c: New file.
89663
89664 2004-06-24  Jim Meyering  <jim@meyering.net>
89665
89666         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
89667
89668 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
89669
89670         * modules/argz: Omit "#include".
89671
89672         * MODULES.html.sh (func_all_modules): Add calloc, to match
89673         2004-06-01 addition of calloc module.
89674
89675 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
89676
89677         * m4/argz.m4: New file, which is autoupdated from libtool.
89678
89679 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
89680
89681         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
89682         libtool.
89683
89684 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
89685
89686         * config/srclist-update: Don't insist on "USA." before the
89687         close-comment, as libtool omits the period and puts the */ on a
89688         separate line.
89689         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
89690         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
89691
89692 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
89693
89694         * modules/argz: New file.
89695         * MODULES.html.sh (func_all_modules): Add argz.
89696
89697 2004-06-12  Jim Meyering  <jim@meyering.net>
89698         and  Paul Eggert  <eggert@cs.ucla.edu>
89699
89700         * modules/hash (Files): Add lib/xalloc.h.
89701         * modules/pipe (Depends-on): Add wait-process.
89702         * modules/stat (Depends-on): Add xalloc.
89703         * modules/userspec (Files): Add lib/userspec.h.
89704         * modules/xstrto
89705
89706         Upgrade from gettext-0.13.
89707         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
89708         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
89709         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
89710
89711 2004-06-10  Jim Meyering  <jim@meyering.net>
89712
89713         * lib/calloc.c: New file.
89714
89715 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
89716
89717         * lib/getdate.y (yylex): Allow space between sign and number.
89718         Problem reported by Dan Jacobson.
89719
89720 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
89721
89722         Merge from coreutils CVS.
89723
89724         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
89725         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
89726         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
89727         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
89728         xstrtol.m4: Fix copyright date and/or serial number.
89729
89730         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
89731         See if we need an fchown replacement.
89732         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
89733         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
89734         and use the replacement function if we detect either defect.
89735
89736         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
89737         gl_UTIMECMP.
89738
89739 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
89740         and  Jim Meyering  <jim@meyering.net>
89741
89742         Merge from coreutils CVS.
89743
89744         * lib/stat-macros.h: New file, with contents from file-type.h
89745         and coreutils' system.h.
89746         * lib/file-type.c: Include "stat-macros.h".
89747         * lib/file-type.h (file_type): Move all macro definitions to new file,
89748         stat-macros.h.
89749
89750         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
89751         Wrap old code with this conditional.
89752         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
89753         function that does not dereference symlinks.
89754         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
89755
89756         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
89757         dependency problems.
89758         (xreadlink): Accept new arg SIZE, for efficiency.
89759         All decls and uses changed.
89760         * lib/xreadlink.h: Include <stddef.h>, for size_t.
89761
89762         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
89763         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
89764
89765         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
89766         sysexits.h.
89767
89768 2004-06-01  Jim Meyering  <jim@meyering.net>
89769
89770         * m4/calloc.m4: New file.
89771
89772 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
89773
89774         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
89775         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
89776         Also, fix a typo in a diagnostic.
89777
89778 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
89779
89780         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
89781         or AC_FUNC_REALLOC.
89782
89783 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
89784
89785         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
89786         macros to be defined.
89787         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
89788         the allocator returns NULL because the requested size is zero.
89789
89790 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
89791
89792         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
89793         var.  Add comment explaining why libc still defines it.  This
89794         merges the following patch from glibc:
89795         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
89796
89797 2004-05-20  Andreas Schwab  <schwab@suse.de>
89798
89799         * m4/free.m4: Replace free if it not known to work, not the other
89800         way round.
89801
89802 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
89803
89804         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
89805         present in glibc since revision 1.1 of this file.
89806         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
89807         obstack_alignment_mask, obstack_alloc, obstack_base,
89808         obstack_blank, obstack_blank_fast, obstack_chunk_size,
89809         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
89810         obstack_grow0, obstack_init, obstack_int_grow,
89811         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
89812         obstack_next_free, obstack_object_size, obstack_ptr_grow,
89813         obstack_ptr_grow_fast, obstack_room): Remove declarations of
89814         nonexistent functions.
89815
89816 2004-05-18  Karl Berry  <karl@gnu.org>
89817
89818         * config/srclist.txt: break link for vasnprintf.c.
89819
89820 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
89821
89822         Port obstack to the AS/400, where pointers are 16 bytes wide and
89823         you cannot cast an integer to a valid pointer.  This patch is
89824         currently waiting to be integrated into glibc; see
89825         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
89826
89827         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
89828         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
89829         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
89830         (struct obstack): temp member is now a union of a pointer and
89831         an integer, instead of an integer.  All integer uses changed.
89832         This does not affect the physical layout of struct obstack,
89833         except on hosts (like the AS/400) where the size or alignment of
89834         void * is greater than that of ptrdiff_t.
89835         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
89836         __STDC__)]: Store temporary in pointer member of union, not
89837         integer member.
89838         * lib/obstack.c: Include <stddef.h>, for offsetof.
89839         (struct fooalign): Remove; it doesn't need a name.
89840         (union fooround): Change double to long double, and add void *.
89841         (DEFAULT_ALIGNMENT): Use offsetof to compute.
89842         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
89843         not a macro.  Hence the values are always int; so remove all
89844         casts-to-int in uses.
89845
89846 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
89847
89848         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
89849         we can get this patch merged into glibc.
89850
89851 2004-05-17  Derek R. Price  <derek@ximbiot.com>
89852             Paul Eggert  <eggert@cs.ucla.edu>
89853
89854         * m4/argp: Depend on alloca.
89855
89856 2004-05-17  Derek R. Price  <derek@ximbiot.com>
89857             Paul Eggert  <eggert@cs.ucla.edu>
89858
89859         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
89860         freecoding.
89861
89862 2004-05-17  Bruno Haible  <bruno@clisp.org>
89863
89864         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
89865         precision that consists of a '.' followed by an empty digit string.
89866         Patch by Tor Lillqvist <tml@iki.fi>.
89867
89868 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
89869
89870         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
89871         for backward compatibility with older code.  We need our own
89872         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
89873         it under some other name, and our alloca.h will define it.
89874
89875 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
89876             Derek Price  <derek@ximbiot.com>
89877
89878         * lib/alloca.c: Include <alloca.h>, to get our interface.
89879         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
89880         include <alloca.h> first.  Use C89 prototype for alloca; this
89881         requires including <stddef.h> for size_t.  Use extern "C" if C++.
89882         Use #elif for simplicity, since we can assume C89 now.
89883         Don't try to source the system alloca.h since it will not be found
89884         and to prevent recursively including its replacement.
89885         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
89886         * lib/regex.c: Likewise.
89887
89888 2004-05-16  Derek Price  <derek@ximbiot.com>
89889             Paul Eggert  <eggert@cs.ucla.edu>
89890
89891         getline cleanup.  This changes the getndelim2 API: both order of
89892         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
89893         no delimiter).
89894
89895         * lib/getline.c: Don't include stddef.h or stdio.h, since our
89896         interface does that.
89897         (getline): Always use getdelim, so that we don't have two
89898         copies of this code.
89899         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
89900         if available.
89901         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
89902         (GETNDELIM2_MAXIMUM): New macro.
89903         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
89904         instead of the old practice of delim2==0.  All callers changed.
89905         Return -1 on overflow, instead of returning junk.
89906         Do not set *linesize unless allocation succeeds.
89907         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
89908         that we include sys/types.h.
89909         * lib/getnline.h: Likewise.
89910         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
89911         (getndelim2): Reorder arguments.
89912         * lib/getnline.c (getnline, getndelim):
89913         Don't discard the NMAX argument.
89914         (getnline): Invoke getndelim, to avoid code duplication.
89915         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
89916         of (size_t) -1 by callers of the getnline family.
89917
89918 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
89919
89920         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
89921         Check for gettimeofday.
89922         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
89923         Check for settimeofday, stime.
89924
89925 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
89926
89927         * lib/nanosleep.c (suspended): Change its type from int to
89928         sig_atomic_t volatile.
89929         (first_call): Make it private to rpl_nanosleep, and have it
89930         be zero initially as that's a bit faster.
89931         (my_usleep): Round up fractional times instead of truncating them,
89932         as this is the usual meaning for 'sleep'.
89933
89934         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
89935         doesn't work.
89936         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
89937         (ENOSYS): Define if not defined.
89938         (settime): Fall back on stime if it exists and settimeofday fails.
89939         But don't bother with fallbacks if a method fails with errno == EPERM.
89940
89941 2004-05-11  Jim Meyering  <jim@meyering.net>
89942
89943         Prior to this change, the save_cwd caller required read access to the
89944         current directory on most systems (ones with the fchdir function).
89945
89946         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
89947         fails, try write-only, and finally, resort to using xgetcwd.
89948
89949 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
89950
89951         * lib/obstack.c, obstack.h: Import changes from libc.
89952
89953 2004-04-28  Bruno Haible  <bruno@clisp.org>
89954
89955         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
89956         also implicitly appends .exe to executables.
89957         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
89958         accepts Windows pathnames.
89959         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
89960         Treat Cygwin like Windows, since it now accepts Windows pathnames.
89961         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
89962         Treat Cygwin like Windows, since it now accepts Windows pathnames.
89963         Reported by Derek Robert Price <derek@ximbiot.com>.
89964
89965 2004-04-21  Karl Berry  <karl@gnu.org>
89966
89967         * config/srclist.txt (localcharset.c): break sync.
89968
89969 2004-04-20  Paul Eggert  <eggert@twinsun.com>
89970
89971         * m4/host-os.m4: Add a copyright notice.
89972
89973 2004-04-20  Jim Meyering  <jim@meyering.net>
89974
89975         Change UTILS_ to gl_ in AC_DEFINE'd names.
89976         Change utils_- and jm_-prefixed variables, too.
89977         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
89978         UTILS_FUNC_MKDIR_TRAILING_SLASH.
89979         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
89980
89981         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
89982         Don't emit trailing blanks.
89983         Also rename jm_-prefixed variables to have gl_ prefix.
89984
89985         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
89986         Also rename jm_-prefixed variables to have gl_ prefix.
89987
89988         * m4/jm-macros.m4: Reflect the renamings.
89989         * m4/prereq.m4: Likewise.
89990
89991 2004-04-20  Jim Meyering  <jim@meyering.net>
89992
89993         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
89994         memory.
89995
89996 2004-04-20  Jim Meyering  <jim@meyering.net>
89997             Bruno Haible  <bruno@clisp.org>
89998
89999         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
90000         memory when realloc fails.
90001
90002 2004-04-19  Jim Meyering  <jim@meyering.net>
90003
90004         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
90005         now that readutmp.c may call `free (0)'.
90006
90007 2004-04-19  Bruno Haible  <bruno@clisp.org>
90008
90009         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
90010         * m4/inttypes_h.m4: Likewise.
90011         * m4/stdint_h.m4: Likewise.
90012         * m4/intmax_t.m4: Likewise.
90013         * m4/uintmax_t.m4: Likewise.
90014
90015 2004-04-18  Jim Meyering  <jim@meyering.net>
90016
90017         * m4/prereq.m4: Don't forbid jm_ prefix.
90018
90019         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
90020         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
90021         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
90022         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
90023         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
90024         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
90025         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
90026         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
90027         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
90028         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
90029         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
90030         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
90031         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
90032         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
90033         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
90034         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
90035         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
90036         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
90037         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
90038
90039 2004-04-18  Jim Meyering  <jim@meyering.net>
90040
90041         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
90042         failure, don't leak memory and do call END_UTMP_ENT.
90043
90044 2004-04-16  Jim Meyering  <jim@meyering.net>
90045
90046         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
90047         coreutils' stat program.
90048         (gl_PREREQ): Don't require jm_PREREQ_STAT.
90049
90050 2004-04-11  Paul Eggert  <eggert@twinsun.com>
90051
90052         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
90053         C89.
90054         (CHAR_BIT): Remove, since we assume C89.
90055         Include <stdint.h> if available, as per current Autoconf CVS advice.
90056
90057 2004-03-31  Jim Meyering  <jim@meyering.net>
90058
90059         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
90060         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
90061         * m4/xalloc.m4: Likewise.
90062
90063 2004-03-30  Paul Eggert  <eggert@twinsun.com>
90064
90065         Merge from coreutils.
90066
90067         * m4/inttostr.m4: New file.
90068         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
90069         Require AM_STDBOOL_H and gl_TIMESPEC instead.
90070         Require gl_CLOCK_TIME.
90071         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
90072
90073 2004-03-30  Paul Eggert  <eggert@twinsun.com>
90074
90075         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
90076         not bool, to be more consistent with Unix conventions.
90077         Suggested by Bruno Haible.
90078
90079         Merge from coreutils.
90080
90081         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
90082         * lib/umaxtostr.c: New files.
90083
90084         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
90085         the usual <time.h> dance.
90086         (get_date): Change signature to support fractional time stamps.
90087         All callers changed.
90088         * lib/getdate.y: Include "getdate.h" first, as we can now
90089         assume C89 and don't need to worry about 'const'.
90090         Similarly, include "unlocked-io.h" near start, not in middle.
90091         Include <limits.h>.
90092         (textint.value): Use long int rather than int.
90093         (textint.digits): Use size_t rather than int.
90094         (BILLION, LOG10_BILLION): New constants.
90095         (parser_control): New member rel_ns.  Members day_ordinal,
90096         time_zone, month, day, hour, minutes, rel_year, rel_month,
90097         rel_day, rel_hour, rel_minutes, rel_seconds
90098         are now long int, not int.  Member seconds is now struct timespec,
90099         not int.  New member timespec_seen.  Members dates_seen, days_seen,
90100         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
90101         not int.
90102         (%union.intval): Now long int, not int.
90103         New member timespec.
90104         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
90105         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
90106         (spec): Now is a timespec or an item list.
90107         (timespec, items): New nonterminals.
90108         (time, rel, relunit, number, get_date):
90109         Add support for fractional seconds.
90110         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
90111         (gmtime, localtime, mktime): Remove decls; not needed with C89.
90112         (to_hour): First arg is now long int, not int.
90113         (to_year): Returns long int, not int.
90114         Don't treat year -70 like 70.
90115         (tm_diff): Returns long int, not int.
90116         (lookup_word): Use bool instead of int when appropriate.
90117         (yylex): Use size_t for count, not int.
90118         Detect overflow when parsing large integer constants.
90119         Add support for fractions.
90120         (get_date): Make pointers 'const' if possible.
90121         Use more-portable code to detect integer overflow.
90122         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
90123         Don't use ctime; it's not reliable if the year has >4 digits.
90124
90125         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
90126         This is for compatibility with BSD.
90127
90128         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
90129         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
90130         From coreutils' system.h.
90131
90132         * lib/userspec.c: Don't include "posixver.h".
90133         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
90134         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
90135         compatible extension.  Simplify code by removing a boolean int
90136         that was always nonzero if a string was nonnull.
90137
90138 2004-03-30  Jim Meyering  <jim@meyering.net>
90139
90140         Merge from coreutils.
90141
90142         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
90143         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
90144         on some systems one must include <grp.h> before it.
90145         Reported by Christian Krackowizer.
90146
90147 2004-03-30  Jim Meyering  <jim@meyering.net>
90148
90149         Merge from coreutils.
90150
90151         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
90152
90153         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
90154         an empty input stream.
90155
90156         * lib/readtokens.c: Include <stdbool.h>.
90157         (readtoken): Use `size_t' rather than int/long.
90158         All callers adjusted.
90159         Use `bool' rather than `int' where appropriate.
90160         Use memset rather than an explicit loop.
90161         Use x2nrealloc rather than xrealloc.
90162         Allow the use of `\0' as a delimiter.
90163         (readtokens): Likewise.
90164         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
90165
90166 2004-03-30  Jim Meyering  <jim@meyering.net>
90167
90168         * m4/realloc.m4: Remove file, since now it does no more than
90169         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
90170         the `configure.ac' section of module/realloc.
90171         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
90172
90173 2004-03-30  Bruno Haible  <bruno@clisp.org>
90174
90175         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
90176         nonnull.
90177
90178 2004-03-29  Paul Eggert  <eggert@twinsun.com>
90179
90180         Merge changes to getloadavg.c from coreutils and Emacs.
90181
90182         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
90183         Define to an expression, not to the empty string.
90184         Include cloexec.h and xalloc.h.
90185         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
90186         Use set_cloexec_flag rather than rolling our own.
90187         * lib/cloexec.c, lib/cloexec.h: New files.
90188
90189 2004-03-29  Paul Eggert  <eggert@twinsun.com>
90190
90191         * m4/cloexec.m4: New file.
90192
90193 2004-03-18  Paul Eggert  <eggert@twinsun.com>
90194
90195         * lib/getopt.h: Sync with libc CVS.
90196
90197 2004-03-18  Paul Eggert  <eggert@twinsun.com>
90198             Bruno Haible  <bruno@clisp.org>
90199
90200         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
90201         mbswidth.
90202
90203 2004-03-18  Paul Eggert  <eggert@twinsun.com>
90204             Bruno Haible  <bruno@clisp.org>
90205
90206         * lib/mbswidth.h: Include <wchar.h> only if
90207         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
90208         <wchar.h>.
90209         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
90210
90211 2004-03-09  Paul Eggert  <eggert@twinsun.com>
90212
90213         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
90214         Sync with libc CVS.
90215         * lib/getopt_int.h: New file, also synced from libc.
90216
90217 2004-03-09  Paul Eggert  <eggert@twinsun.com>
90218
90219         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
90220         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
90221         Bring back getopt.c, getopt.h, getopt1.c.
90222
90223 2004-03-07  Paul Eggert  <eggert@twinsun.com>
90224
90225         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
90226         All uses changed.  Check for sa_sigaction member; this fixes
90227         a bug first reported by Jason Andrade in
90228         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
90229
90230 2004-03-07  Paul Eggert  <eggert@twinsun.com>
90231
90232         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
90233         '#if' expressions.  Unlike the code it replaces, it does not
90234         depend on (defined _SC_PAGESIZE).  However, it does depend on
90235         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
90236         first reported by Jason Andrade in
90237         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
90238
90239 2004-02-25  Simon Josefsson  <jas@extundo.com>
90240
90241         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
90242
90243 2004-02-25  Simon Josefsson  <jas@extundo.com>
90244
90245         * lib/strdup.h: New file.
90246         * lib/strdup.c: Include it.
90247         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
90248         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
90249
90250 2004-02-23  Karl Berry  <karl@gnu.org>
90251
90252         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
90253         (from fencepost.gnu.org:/gd/gnuorg).
90254
90255 2004-02-23  Karl Berry  <karl@gnu.org>
90256
90257         * config/srclistvars.sh (GNUORG) [karl]: redefine.
90258         * config/srclist.txt: add maintain/standards documents.
90259
90260 2004-02-18  Bruno Haible  <bruno@clisp.org>
90261
90262         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
90263         Reported by Derek Robert Price <derek@ximbiot.com>.
90264
90265 2004-02-16  Karl Berry  <karl@gnu.org>
90266
90267         * config/mkinstalldirs, install-sh: update from automake.
90268
90269 2004-02-06  Karl Berry  <karl@gnu.org>
90270
90271         * m4/po.m4: update from gettext 0.14.1.
90272
90273 2004-02-06  Karl Berry  <karl@gnu.org>
90274
90275         * lib/config.charset: update from gettext 0.14.1.
90276
90277 2004-02-05  Paul Eggert  <eggert@twinsun.com>
90278
90279         Add comments and code, prompted by suggestions from Bruno Haible
90280         for sh-quote.
90281         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
90282         describing the enum quoting_style values.
90283         * lib/quotearg.c (quotearg_alloc): New function.
90284         (quotearg_buffer_restyled): Treat lone { and } as special.
90285         Treat = as special.  Work around bug with older shells
90286         that "see" a '\' that is really the 2nd byte of a multibyte char.
90287         Quote empty string with shell_quoting_style.
90288
90289 2004-02-03  Bruno Haible  <bruno@clisp.org>
90290
90291         * m4/pipe.m4: New file, from GNU gettext.
90292
90293 2004-02-03  Bruno Haible  <bruno@clisp.org>
90294
90295         * lib/pipe.h: New file, from GNU gettext.
90296         * lib/pipe.c: New file, from GNU gettext.
90297
90298 2004-01-27  Bruno Haible  <bruno@clisp.org>
90299
90300         * m4/execute.m4: New file, from GNU gettext.
90301
90302 2004-01-27  Bruno Haible  <bruno@clisp.org>
90303
90304         * lib/execute.h: New file, from GNU gettext.
90305         * lib/execute.c: New file, from GNU gettext.
90306         * lib/w32spawn.h: New file, from GNU gettext.
90307
90308 2004-01-24  Paul Eggert  <eggert@twinsun.com>
90309
90310         Merge from diffutils.
90311
90312         * lib/file-type.c (file_type): Add typed memory objects.
90313         * lib/file-type.h (S_TYPEISTMO): New macro.
90314
90315         * lib/c-stack.h (c_stack_action): Remove argv argument.
90316         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
90317         (die): Don't calculate message unless segv_action returns.
90318         (get_stack_location, min_address_from_argv, max_address_from_argv,
90319         volatile stack_base, volatile_stack_size): Remove.
90320         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
90321         that every segmentation violation is a stack overflow.  (Ouch!)
90322         See Debian bug 136249 (still outstanding) for more info about why
90323         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
90324
90325 2004-01-24  Paul Eggert  <eggert@twinsun.com>
90326
90327         Exit-status fix from coreutils.
90328
90329         Use exit_failure consistently in place of EXIT_FAILURE,
90330         so that program exit statuses are consistent on failure.
90331
90332         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
90333         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
90334         * lib/argmatch.h: Comment fix to match the above.
90335         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
90336         Now a macro referring to exit_failure, instead of a separate
90337         variable.  Include "exitfail.h" to get it.
90338         * lib/xstrtol.h: Include "exitfail.h".
90339         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
90340
90341         * lib/long-options.c (parse_long_options): Use prototype
90342         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
90343         for clarity.
90344
90345 2004-01-21  Jim Meyering  <jim@meyering.net>
90346
90347         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
90348         so as not to conflict with a different-sized __mktime_internal
90349         function in GNU libc.
90350         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
90351         Problem building statically-linked `ls' reported by Michael Brunnbauer.
90352
90353 2004-01-20  Karl Berry  <karl@gnu.org>
90354
90355         * config/config.guess: update from config.
90356
90357         * config/srclistvars.sh: GNUWWWLICENSES for karl.
90358
90359 2004-01-20  Bruno Haible  <bruno@clisp.org>
90360
90361         Safer stack allocation.
90362         * lib/setenv.c: Include allocsa.h.
90363         (alloca): Remove fallback definition.
90364         (freea): Remove macro.
90365         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
90366         instead of freea.
90367
90368 2004-01-20  Bruno Haible  <bruno@clisp.org>
90369
90370         * m4/eealloc.m4: New file, from GNU gettext.
90371
90372 2004-01-20  Bruno Haible  <bruno@clisp.org>
90373
90374         * m4/allocsa.m4: New file, from GNU gettext.
90375
90376 2004-01-20  Bruno Haible  <bruno@clisp.org>
90377
90378         * lib/xallocsa.h: New file, from GNU gettext.
90379         * lib/xallocsa.c: New file, from GNU gettext.
90380
90381 2004-01-20  Bruno Haible  <bruno@clisp.org>
90382
90383         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
90384
90385 2004-01-20  Bruno Haible  <bruno@clisp.org>
90386
90387         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
90388         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
90389         specially.
90390
90391 2004-01-20  Bruno Haible  <bruno@clisp.org>
90392
90393         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
90394         patch.
90395
90396 2004-01-20  Bruno Haible  <bruno@clisp.org>
90397
90398         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
90399
90400 2004-01-20  Bruno Haible  <bruno@clisp.org>
90401
90402         * lib/eealloc.h: New file.
90403
90404 2004-01-20  Bruno Haible  <bruno@clisp.org>
90405
90406         * lib/binary-io.h: Avoid warnings on Cygwin.
90407
90408 2004-01-20  Bruno Haible  <bruno@clisp.org>
90409
90410         * lib/allocsa.h: New file, from GNU gettext.
90411         * lib/allocsa.c: New file, from GNU gettext.
90412
90413 2004-01-18  Karl Berry  <karl@gnu.org>
90414
90415         * doc/gpl.texi, doc/lgpl.texi: new files.
90416
90417 2004-01-18  Karl Berry  <karl@gnu.org>
90418
90419         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
90420         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
90421
90422 2004-01-15  Paul Eggert  <eggert@twinsun.com>
90423
90424         Merge from coreutils.
90425
90426         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
90427         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
90428         (gl_DEFAULT_POSIX2_VERSION): Move
90429         the documentation from 'configure' into 'config.hin',
90430         so that 'configure --help' isn't burdened by it and
90431         we don't have to worry about its formatting there.
90432         Reword the documentation so that it's more succinct
90433         and can be run together into a single paragraph.
90434         * m4/same.m4 (gl_SAME): Check for pathconf.
90435
90436 2004-01-15  Paul Eggert  <eggert@twinsun.com>
90437
90438         Merge from coreutils.
90439
90440         * lib/posixver.c: Include posixver.h.
90441
90442         * lib/same.c: Include <stdbool.h>, <limits.h>.
90443         (_POSIX_NAME_MAX): Define if not defined.
90444         (MIN): New macro.
90445         (same_name): If file names are silently truncated, report
90446         that the file names are the same if they are the same after
90447         the silent truncation.
90448
90449         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
90450         conversion function.
90451         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
90452         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
90453         longer needed.
90454
90455 2004-01-15  Jim Meyering  <jim@meyering.net>
90456
90457         Merge from coreutils.
90458
90459         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
90460         if no library is required.
90461         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
90462         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
90463         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
90464         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
90465         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
90466         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
90467         value, $ac_cv_search_crypt, if it's "none required".
90468         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
90469         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
90470         not gl_FUNC_GETLOADAVG.
90471         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
90472         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
90473
90474 2004-01-15  Jim Meyering  <jim@meyering.net>
90475
90476         Merge from coreutils.
90477
90478         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
90479         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
90480         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
90481
90482         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
90483         optional configure-time default.
90484
90485         * lib/version-etc.c (version_etc_copyright): Update copyright date.
90486
90487         * lib/xreadlink.c (xreadlink): Correct outdated comment.
90488
90489 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
90490
90491         Merge from coreutils.
90492
90493         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
90494         value, $ac_cv_search_nanosleep, if it's "none required".
90495
90496 2004-01-14  Paul Eggert  <eggert@twinsun.com>
90497
90498         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
90499         with like-named macro in fnmatch.c.
90500         (EXT): Use an internal constant instead.
90501
90502         Merge fnmatch patches from glibc.
90503         * lib/fnmatch.c (mbsinit): Remove define.
90504         Add libc_hidden_ver (__fnmatch, fnmatch).
90505         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
90506         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
90507
90508 2004-01-14  Karl Berry  <karl@gnu.org>
90509
90510         * config/install-sh: update from automake.
90511
90512 2004-01-13  Karl Berry  <karl@gnu.org>
90513
90514         * config/install-sh: update from automake.
90515
90516 2004-01-09  Karl Berry  <karl@gnu.org>
90517
90518         * config/install-sh: update from automake.
90519
90520 2004-01-05  Karl Berry  <karl@gnu.org>
90521
90522         * config/config.{sub,guess}: update from config.
90523
90524 2003-12-31  Karl Berry  <karl@gnu.org>
90525
90526         * config/depcomp: update from automake.
90527
90528 2003-12-14  Karl Berry  <karl@gnu.org>
90529
90530         * lib/config.charset: update from gettext-runtime.
90531
90532 2003-12-03  Paul Eggert  <eggert@twinsun.com>
90533
90534         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
90535         Bug reported by Alfred M. Szmidt.
90536
90537 2003-12-03  Bruno Haible  <bruno@clisp.org>
90538
90539         * m4/gettext.m4: Upgrade from gettext-0.13.
90540         * m4/po.m4: Upgrade from gettext-0.13.
90541         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
90542         * m4/intmax.m4: New file, from gettext-0.13.
90543         * m4/printf-posix.m4: New file, from gettext-0.13.
90544
90545 2003-11-29  Karl Berry  <karl@gnu.org>
90546
90547         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
90548
90549 2003-11-25  Paul Eggert  <eggert@twinsun.com>
90550             Bruno Haible  <bruno@clisp.org>
90551
90552         * lib/printf-parse.h: Don't include sys/types.h.
90553         (ARG_NONE): New macro.
90554         (char_directive): Change type of *arg_index fields to size_t.
90555         * lib/printf-parse.c: Don't include sys/types.h.
90556         (SSIZE_MAX): Remove macro.
90557         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
90558         Remove unnecessary overflow check.
90559         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
90560         fields.
90561
90562 2003-11-25  Bruno Haible  <bruno@clisp.org>
90563
90564         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
90565
90566 2003-11-25  Bruno Haible  <bruno@clisp.org>
90567
90568         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
90569         gt_TYPE_SSIZE_T.
90570
90571 2003-11-24  Paul Eggert  <eggert@twinsun.com>
90572
90573         * modules/alloca: Remove dependency on xalloc.
90574
90575 2003-11-24  Paul Eggert  <eggert@twinsun.com>
90576
90577         * lib/alloca.c: Remove dependency on xalloc module.
90578         (xalloc_die): Remove.
90579         (memory_full) [!defined emacs]: New macro.
90580         [!defined emacs]: Don't include xalloc.h.
90581         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
90582         address arithmetic overflows.  Change datatypes a bit to avoid
90583         unnecessary casts.
90584
90585 2003-11-22  Jim Meyering  <jim@meyering.net>
90586
90587         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
90588         s/size/size_t/.
90589
90590 2003-11-21  Karl Berry  <karl@gnu.org>
90591
90592         * config/config.{sub,guess}: update from config.
90593
90594 2003-11-18  Karl Berry  <karl@gnu.org>
90595
90596         * config/config.{sub,guess}: update from config.
90597
90598         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
90599
90600 2003-11-17  Paul Eggert  <eggert@twinsun.com>
90601
90602         * README: Mention that S+T cannot overflow if S is the size of
90603         an existing object and T is sufficiently small.
90604
90605 2003-11-17  Jim Meyering  <jim@meyering.net>
90606
90607         On systems without utime and without a utimes function capable of
90608         dealing with a NULL struct utimbuf* argument, this utime replacement
90609         could -- in unusual circumstances -- leak a file descriptor.
90610         * lib/utime.c: Include <unistd.h> and <errno.h>.
90611         (utime_null): Be sure to close `fd' and to preserve errno.
90612         Reported by Geoff Collyer via Arnold Robbins.
90613
90614 2003-11-17  Bruno Haible  <bruno@clisp.org>
90615
90616         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
90617         (Depends-on): Add xsize.
90618
90619 2003-11-17  Bruno Haible  <bruno@clisp.org>
90620
90621         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
90622
90623 2003-11-17  Bruno Haible  <bruno@clisp.org>
90624
90625         * lib/vasnprintf.c (alloca): Remove fallback definition.
90626         (freea): Remove definition.
90627         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
90628         Reported by Paul Eggert.
90629
90630 2003-11-16  Paul Eggert  <eggert@twinsun.com>
90631             Bruno Haible  <bruno@clisp.org>
90632
90633         Protect against address arithmetic overflow.
90634         * lib/printf-args.h: Include stddef.h.
90635         (arguments): Change type of field 'count' to size_t.
90636         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
90637         'unsigned int' where appropriate.
90638         * lib/printf-parse.h: Include sys/types.h.
90639         (char_directive): Change type of *arg_index fields to ssize_t.
90640         (char_directives): Change type of fields 'count', max_*_length to
90641         size_t.
90642         * lib/printf-parse.c: Include sys/types.h and xsize.h.
90643         (SSIZE_MAX): Define fallback value.
90644         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
90645         instead of 'int' where appropriate. Check a_allocated, d_allocated
90646         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
90647         * lib/vasnprintf.c: Include xsize.h.
90648         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
90649         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
90650         overflow. Avoid wraparound when converting a width or precision from
90651         decimal to binary.
90652
90653 2003-11-16  Bruno Haible  <bruno@clisp.org>
90654
90655         Update from GNU gettext.
90656         * lib/printf-parse.c: Generalize to it can be compiled for wide
90657         strings.
90658         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
90659         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
90660         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
90661         SNPRINTF): New macros.
90662         Don't include <alloca.h> if the file is used inside libintl.
90663         (local_wcslen): New function, for Solaris 2.5.1.
90664         (VASNPRINTF): Use it instead of wcslen.
90665
90666 2003-11-16  Bruno Haible  <bruno@clisp.org>
90667
90668         * lib/xsize.h (xmax): New function.
90669         (xsum, xsum3, xsum4): Declare as "pure" functions.
90670
90671 2003-11-12  Paul Eggert  <eggert@twinsun.com>
90672
90673         * modules/xalloc (Files): Undo latest change, since xalloc.h
90674         no longer needs SIZE_MAX or PTRDIFF_MAX.
90675
90676 2003-11-12  Paul Eggert  <eggert@twinsun.com>
90677
90678         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
90679         gl_PTRDIFF_MAX.
90680
90681 2003-11-12  Paul Eggert  <eggert@twinsun.com>
90682
90683         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
90684         "return", to pacify some unknown compiler.  Problem reported
90685         by Joerg Schilling.
90686
90687 2003-11-12  Paul Eggert  <eggert@twinsun.com>
90688
90689         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
90690         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
90691         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
90692         heuristic is just as accurate as far as we know, and it removes a
90693         dependency on size_max.m4 and ptrdiff_max.m4.
90694
90695 2003-11-11  Bruno Haible  <bruno@clisp.org>
90696
90697         * modules/xsize (Files): Add m4/size_max.m4.
90698         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
90699
90700 2003-11-11  Bruno Haible  <bruno@clisp.org>
90701
90702         * m4/size_max.m4: New file.
90703         * m4/ptrdiff_max.m4: New file.
90704         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
90705         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
90706         (gl_XALLOC): Invoke it.
90707
90708 2003-11-11  Bruno Haible  <bruno@clisp.org>
90709
90710         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
90711         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
90712         defined.
90713
90714 2003-11-10  Paul Eggert  <eggert@twinsun.com>
90715
90716         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
90717         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
90718         rejected some allocations of exactly SIZE_MAX - 2 bytes.
90719         From Bruno Haible.
90720         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
90721         not (size_t) -1, since it's defined here.
90722
90723 2003-11-09  Karl Berry  <karl@gnu.org>
90724
90725         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
90726
90727 2003-11-06  Paul Eggert  <eggert@twinsun.com>
90728
90729         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
90730         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
90731         Reject sizes of exactly SIZE_MAX bytes.
90732         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
90733         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
90734
90735 2003-11-05  Bruno Haible  <bruno@clisp.org>
90736
90737         * lib/xsize.h: Include limits.h, to avoid a possible collision with
90738         SIZE_MAX defined in <limits.h> on Solaris.
90739
90740 2003-11-04  Jim Meyering  <jim@meyering.net>
90741
90742         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
90743         variable names, rather than @VAR@.
90744         * modules/poll: Likewise.
90745
90746 2003-11-04  Bruno Haible  <bruno@clisp.org>
90747
90748         * modules/xsize: New file.
90749         * modules/linebreak: Depend on xsize.
90750         * MODULES.html.sh (func_all_modules): Add xsize.
90751
90752 2003-11-04  Bruno Haible  <bruno@clisp.org>
90753
90754         * m4/xsize.m4: New file.
90755
90756 2003-11-04  Bruno Haible  <bruno@clisp.org>
90757
90758         * lib/xsize.h: New file.
90759         * lib/linebreak.c: Include xsize.h.
90760         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
90761         argument for overflow.
90762         Suggested by Paul Eggert.
90763
90764 2003-11-03  Karl Berry  <karl@gnu.org>
90765
90766         * config/config.{guess,sub}: update from config.
90767
90768 2003-11-03  Jim Meyering  <jim@meyering.net>
90769
90770         * modules/userspec (lib_SOURCES): Add userspec.h.
90771         (Include): Add "userspec.h".
90772         Improve description.
90773
90774 2003-11-03  Jim Meyering  <jim@meyering.net>
90775
90776         * lib/userspec.c: Include "userspec.h".
90777         * lib/userspec.h: New file.
90778
90779 2003-11-03  Bruno Haible  <bruno@clisp.org>
90780
90781         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
90782
90783 2003-11-03  Bruno Haible  <bruno@clisp.org>
90784
90785         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
90786         available, to avoid (extremely rare) race condition.
90787         Suggested by Paul Eggert.
90788
90789 2003-11-02  Karl Berry  <karl@gnu.org>
90790
90791         * config/srclist.txt (vasprintf.c): sync broken, sigh.
90792
90793 2003-10-31  Paul Eggert  <eggert@twinsun.com>
90794
90795         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
90796         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
90797         (read_filesystem_list): Set and use me_type_malloced.
90798         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
90799         whatever the type happens to be), for brevity and consistency.
90800         Check for size calculation overflow on Alphas running OSF/1.
90801
90802 2003-10-31  Jim Meyering  <jim@meyering.net>
90803
90804         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
90805
90806         * lib/linebuffer.c: Include <string.h> for declaration of memset.
90807
90808 2003-10-30  Paul Eggert  <eggert@twinsun.com>
90809             Bruno Haible  <bruno@clisp.org>
90810
90811         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
90812         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
90813
90814 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
90815
90816         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
90817         netbsd*-gnu*.  Suggested by Robert Millan.
90818
90819 2003-10-29  Paul Eggert  <eggert@twinsun.com>
90820
90821         * modules/group-member: Depend on stdbool.
90822
90823 2003-10-29  Paul Eggert  <eggert@twinsun.com>
90824
90825         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
90826
90827 2003-10-29  Paul Eggert  <eggert@twinsun.com>
90828
90829         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
90830         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
90831         after the 'gnu' in these cases.  This fixes some bugs in the
90832         previous change, and is based on suggestions by Robert Millan.
90833
90834 2003-10-29  Paul Eggert  <eggert@twinsun.com>
90835
90836         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
90837         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
90838         no longer needed.
90839         * lib/quotearg.c (quotearg_n_options): Use it.
90840         * lib/group-member.c: Include <stdbool.h>.
90841         (free_group_info): Arg is now const *; don't free arg.
90842         (get_group_info): Now returns bool and accepts struct group_info *,
90843         rather than returning a malloc'ed struct group_info *.
90844         All uses changed.  Check for overflow in internal size calculation.
90845
90846         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
90847         rather than xmalloc/xrealloc.
90848         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
90849         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
90850         conformance bug: the old code used a pointer after freeing the
90851         storage that it addressed.
90852         * lib/hash.c (hash_initialize): Simplify the code by using
90853         xalloc_oversized rather than doing it by hand.
90854         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
90855         the buffer preserved.  Use free and xmalloc instead.
90856         * lib/quotearg.c (quotearg_n_options): Likewise.
90857         Use a simpler test for size overflow.  Don't use xalloc_oversized
90858         because unsigned int might be wider than size_t (!); this suggests
90859         that we should switch from unsigned int to size_t for slot numbers.
90860
90861 2003-10-28  Paul Eggert  <eggert@twinsun.com>
90862
90863         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
90864         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
90865         NetBSD kernels.  Requested by Richard Stallman.
90866
90867 2003-10-27  Paul Eggert  <eggert@twinsun.com>
90868
90869         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
90870         to allocate the returned structure.  Do not allocate a subarray,
90871         as x2nrealloc will do that.
90872         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
90873         instead of xnrealloc.
90874         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
90875
90876 2003-10-27  Bruno Haible  <bruno@clisp.org>
90877
90878         * lib/stdbool_.h: Better support for BeOS.
90879
90880 2003-10-26  Paul Eggert  <eggert@twinsun.com>
90881
90882         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
90883         now uses inline.
90884
90885 2003-10-26  Paul Eggert  <eggert@twinsun.com>
90886
90887         * lib/xalloc.h (xalloc_oversized): New static inline function, for
90888         callers that want to do their own size-overflow checking.  Include
90889         <stdbool.h>, since xalloc_oversized returns bool.
90890         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
90891         to use xalloc_oversized.
90892
90893         Add two functions x2realloc, x2nrealloc, for programs that grow
90894         arrays dynamically by doubling their sizes.
90895         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
90896         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
90897         New functions.
90898
90899         Port to C99 semantics for 'inline' of external functions.
90900         Bug reported by Bruno Haible.
90901         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
90902         with the old contents of xnmalloc.
90903         (xnmalloc, xmalloc): Use it.
90904         (xnrealloc_inline): New static inline function,
90905         with the old contents of xnrealloc.
90906         (xnrealloc, xrealloc): Use it.
90907
90908         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
90909         that.
90910
90911 2003-10-26  Karl Berry  <karl@gnu.org>
90912
90913         * config/srclist.txt (COPYING.DOC): no longer available from
90914         /gd/gnuorg; don't know where the ultimate source is.
90915
90916 2003-10-25  Paul Eggert  <eggert@twinsun.com>
90917
90918         Fix several address-calculation bugs in the hash modules,
90919         plus some minor code cleanup.
90920
90921         * lib/hash.h: Include <stdbool.h>, for bool.
90922         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
90923         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
90924         hash_get_n_entries, hash_get_max_bucket_length,
90925         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
90926         hash_rehash): Use size_t rather than unsigned.
90927         * lib/hash.c (struct hash_table, hash_get_n_buckets,
90928         hash_get_n_buckets_used, hash_get_n_entries,
90929         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
90930         hash_get_entries, hash_do_for_each, hash_string, is_prime,
90931         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
90932         Likewise.
90933         (SIZE_MAX): Define if not defined.
90934         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
90935         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
90936         hash_print):
90937         Use const * when possible.
90938         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
90939         (check_tuning): Fix bug: if tuning parameters were very close to
90940         0 or 1, rounding errors could have caused subscript violations.
90941         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
90942         (hash_initialize): Add 'fail:' label
90943         to free table and return NULL, and use it to simplify code.
90944         Use calloc rather than clearing the storage ourself.
90945         (hash_initialize, hash_rehash): Check for arithmetic overflow in
90946         buffer size calculations.
90947         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
90948         Include <stddef.h>, for size_t.
90949         * lib/hash-pjw.c (hash_pjw): Likewise.
90950         Switch to method described by Bruno Haible.
90951         Include <limits.h>, for CHAR_BIT.
90952         (SIZE_BITS): New macro.
90953
90954 2003-10-23  Paul Eggert  <eggert@twinsun.com>
90955
90956         * m4/getline.m4 (AM_FUNC_GETLINE):
90957         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
90958         hosts.  Problem reported by Derek Robert Price in
90959         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
90960         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
90961         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
90962
90963 2003-10-21  Paul Eggert  <eggert@twinsun.com>
90964
90965         * lib/getndelim2.c (getndelim2): When size calculation overflows,
90966         ceiling the allocation at NMAX bytes rather than silently
90967         discarding input bytes before NMAX is reached.  This makes
90968         a difference only if NMAX exceeds SIZE_MAX / 2.
90969
90970         * lib/obstack.c: Merge from glibc.
90971         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
90972         Add libc_hidden_def (_obstack_newchunk).
90973         (_obstack_free) [! defined _LIBC]: Remove.
90974         [defined _LIBC]: Make a strong alias from obstack_free, rather than
90975         a clone of the function body.
90976         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
90977         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
90978
90979         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
90980         glibc.
90981         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
90982         arg to memcpy.
90983
90984         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
90985         (obstack_ptr_grow_fast, obstack_int_grow_fast):
90986         Don't use lvalue casts, as GCC plans to remove support for them
90987         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
90988         was also present in the non-GCC version, indicating that this
90989         code had always been buggy and had never been widely used.
90990         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
90991         Use the fast variant of each macro, rather than copying the
90992         definiens of the fast variant; that way, we'll be more likely to
90993         catch future bugs in the fast variants.
90994
90995 2003-10-20  Bruno Haible  <bruno@clisp.org>
90996
90997         * modules/wait-process: New file.
90998         * MODULES.html.sh (func_all_modules): Add wait-process.
90999
91000 2003-10-20  Bruno Haible  <bruno@clisp.org>
91001
91002         * m4/wait-process.m4: New file.
91003
91004 2003-10-20  Bruno Haible  <bruno@clisp.org>
91005
91006         * lib/wait-process.h: New file, from GNU gettext.
91007         * lib/wait-process.c: New file, from GNU gettext.
91008
91009 2003-10-19  Jim Meyering  <jim@meyering.net>
91010
91011         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
91012         HPUX 10.20.
91013
91014 2003-10-18  Karl Berry  <karl@gnu.org>
91015
91016         * config/config.guess: update from config.
91017
91018 2003-10-16  Paul Eggert  <eggert@twinsun.com>
91019
91020         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
91021         (getgroups): First arg is int, not size_t.
91022         Don't let 'free' mangle errno.
91023
91024 2003-10-16  Paul Eggert  <eggert@twinsun.com>
91025
91026         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
91027
91028 2003-10-16  Karl Berry  <karl@gnu.org>
91029
91030         * config/config.{guess,sub}: update from config.
91031
91032 2003-10-16  Jim Meyering  <jim@meyering.net>
91033
91034         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
91035         memcpy.
91036
91037 2003-10-15  Paul Eggert  <eggert@twinsun.com>
91038
91039         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
91040         (SIZE_MAX): Remove.
91041         (new_exclude, add_exclude_file): Initial size no longer needs to
91042         be a power of 2.
91043         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
91044         our own address arithmetic overflow checking.
91045
91046         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
91047         (fnmatch): Do not alloca more than 2000 wide characters;
91048         instead, use malloc for large buffers.
91049         Check for address arithmetic overflow, and return -1
91050         with errno set to ENOMEM in that case.
91051         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
91052         (NEW_PATTERN): Do not alloca more than 8000 bytes;
91053         instead, return -1.  Check for address arithmetic overflow.
91054
91055 2003-10-14  Paul Eggert  <eggert@twinsun.com>
91056
91057         Handle invalid suffixes and overflow independently, so that
91058         callers can treat them independently as needed.  Fix some bugs in
91059         suffix handling, e.g., "100k@" was not diagnosed as an invalid
91060         suffix for a human-readable blocksize.  The major caller-visible
91061         change is the addition of a new
91062         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
91063         that both overflow and suffix chars were found.
91064
91065         * lib/human.c (humblock): Don't check separately for invalid suffix
91066         char; that is xstrtoumax's job (now that its bug is fixed).
91067         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
91068         INTMAX_MAX]: New macros.
91069         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
91070         TYPE_MAXIMUM): New macros.
91071         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
91072         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
91073         if overflow occurs, as it's what __strtol does and it's more useful
91074         in practice.
91075         (__xstrtol): If __strtol reports some error other than ERANGE,
91076         reflect it to the caller as LONGINT_INVALID.  If it reports
91077         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
91078         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
91079         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
91080         value.
91081         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
91082         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
91083         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
91084         [defined UINTMAX_MAX]: New macros.
91085
91086 2003-10-14  Bruno Haible  <bruno@clisp.org>
91087
91088         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
91089
91090 2003-10-14  Bruno Haible  <bruno@clisp.org>
91091
91092         * m4/sig_atomic_t: New file, from GNU gettext.
91093         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
91094
91095 2003-10-14  Bruno Haible  <bruno@clisp.org>
91096
91097         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
91098         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
91099         Also use volatile where needed.
91100
91101 2003-10-12  Paul Eggert  <eggert@twinsun.com>
91102
91103         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
91104         Change maintainer from Bruno Haible to 'all'.
91105
91106 2003-10-12  Paul Eggert  <eggert@twinsun.com>
91107
91108         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
91109
91110 2003-10-12  Paul Eggert  <eggert@twinsun.com>
91111
91112         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
91113         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
91114         and define in terms of the other primitives.
91115         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
91116         (SIZE_MAX): Define if not already defined.
91117         (array_size_overflow): New function.
91118         (xalloc_die): Abort instead of exiting if 'error' returns.
91119         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
91120         (xmalloc, xrealloc): Use them.
91121         (xcalloc): Check for address arithmetic overflow.
91122         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
91123         a bit faster than strcpy.
91124
91125 2003-10-10  Simon Josefsson  <jas@extundo.com>
91126
91127         * modules/argp (Depends-on): Add restrict and strcase.
91128
91129 2003-10-10  Simon Josefsson  <jas@extundo.com>
91130
91131         * m4/argp.m4: Add AC_C_INLINE.
91132
91133 2003-10-08  Paul Eggert  <eggert@twinsun.com>
91134
91135         Merge getpass from libc, plus a few fixes.
91136
91137         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
91138         Include <stdbool.h>.
91139         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
91140         __fsetlocking to empty.
91141         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
91142         do include <bits/libc-lock.h>.
91143         Do not include <fcntl.h>; not needed.
91144         [_LIBC]: Include <wchar.h>.
91145         (NOTCANCEL_MODE): New macro.
91146         (flockfile, funlockfile) [_LIBC]: New macros.
91147         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
91148         [!_LIBC]: New macros.
91149         (call_fclose): New function.
91150         (getpass): Use it.  Save tty stream separately; this simplifies the
91151         code and makes it more reliable if stdin happens to equal stdout.
91152         Invoke __fsetlocking on tty.
91153         Handle thread cancellation if needed.
91154         Namespace cleanup (use __tcgetattr, __getline).
91155         Use bool for Booleans.
91156         [USE_IN_LIBIO]: Handle wide streams.
91157         [!_LIBC]: Unconditionally do the fseek, since we don't know what
91158         stream might go where.
91159
91160         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
91161         doesn't have to include <stdio.h> before us.
91162         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
91163         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
91164         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
91165         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
91166         if not declared, so that we can use getpass.c code from libc without
91167         rewriting it.
91168         (flockfile, ftrylockfile, funlockfile): New macros.
91169
91170 2003-10-08  Paul Eggert  <eggert@twinsun.com>
91171
91172         * modules/getpass: Depend on stdbool.
91173
91174 2003-10-08  Paul Eggert  <eggert@twinsun.com>
91175
91176         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
91177
91178 2003-10-07  Karl Berry  <karl@gnu.org>
91179
91180         * config/config.{guess,sub}: update from config.
91181
91182 2003-10-06  Jim Meyering  <jim@meyering.net>
91183             Bruno Haible  <bruno@clisp.org>
91184
91185         This lets translators provide better translations for the
91186         "Written by ..." part of --version output.
91187         * lib/version-etc.h: Include stdarg.h.
91188         (version_etc_copyright): Declare as readonly.
91189         (version_etc): Make this function variadic with a NULL-terminated list
91190         of author name strings.
91191         (version_etc_va): New declaration.
91192         * lib/version-etc.c: Include stdarg.h, stdlib.h.
91193         (version_etc_copyright): Declare as readonly.
91194         (version_etc_va): New function. Provide a different translatable string
91195         for each possible number of authors < 10. Abbreviate when there are 10
91196         authors or more.
91197         (version_etc): Make this function variadic. Call version_etc_va.
91198         Suggestion from Gary V. Vaughan.
91199
91200         * lib/long-options.h (parse_long_options): Change prototype: the
91201         authors string is moved to the end and becomes variadic.
91202         * lib/long-options.c: Include stdarg.h.
91203         (parse_long_options): Make this function variadic, too.
91204         Call version_etc_va, not version_etc.
91205
91206 2003-10-06  Bruno Haible  <bruno@clisp.org>
91207
91208         * modules/version-etc-2: Remove file.
91209         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
91210
91211 2003-10-06  Bruno Haible  <bruno@clisp.org>
91212
91213         * modules/fatal-signal: New file.
91214         * MODULES.html.sh (func_all_modules): Add fatal-signal.
91215
91216 2003-10-06  Bruno Haible  <bruno@clisp.org>
91217
91218         * m4/fatal-signal.m4: New file.
91219         * m4/signalblocking.m4: New file, from GNU gettext.
91220
91221 2003-10-06  Bruno Haible  <bruno@clisp.org>
91222
91223         * lib/version-etc-2.h: Remove file.
91224         * lib/version-etc-2.c: Remove file.
91225
91226 2003-10-06  Bruno Haible  <bruno@clisp.org>
91227
91228         * lib/fatal-signal.h: New file, from GNU gettext.
91229         * lib/fatal-signal.c: New file, from GNU gettext.
91230
91231 2003-10-05  Paul Eggert  <eggert@twinsun.com>
91232
91233         * README: Rework advice for preventing empty .o files.
91234         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
91235         not <sys/types.h>.
91236
91237 2003-10-04  Karl Berry  <karl@gnu.org>
91238
91239         * lib/argp*: update from libc.
91240
91241 2003-10-04  Karl Berry  <karl@gnu.org>
91242
91243         * config/config.{guess,sub}: update from config.
91244
91245 2003-10-02  Bruno Haible  <bruno@clisp.org>
91246
91247         * modules/lchown (Include): Add lchown.h.
91248         * modules/time_r (Include): Use "..." syntax.
91249         * modules/xgetdomainname (Include): Add xgetdomainname.h.
91250
91251 2003-10-01  Simon Josefsson  <jas@extundo.com>
91252
91253         * MODULES.html.sh (func_all_modules): Move gethostname from section
91254         'based on' to section 'lacking' POSIX:2001.
91255
91256 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
91257
91258         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
91259         to output mode on the same stream.
91260
91261 2003-09-29  Paul Eggert  <eggert@twinsun.com>
91262
91263         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
91264         Fix arg typo in previous patch.
91265
91266 2003-09-28  Jim Meyering  <jim@meyering.net>
91267
91268         * lib/error.c: Correct cpp indentation.
91269
91270 2003-09-27  Paul Eggert  <eggert@twinsun.com>
91271
91272         * modules/free: New file.
91273
91274 2003-09-27  Paul Eggert  <eggert@twinsun.com>
91275
91276         * m4/free.m4: New file.
91277
91278 2003-09-27  Paul Eggert  <eggert@twinsun.com>
91279
91280         * lib/minmax.h (MIN, MAX)
91281         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
91282         Omit the special code that used __typeof__, since we worry that
91283         it could be more trouble than it's worth.  See:
91284         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
91285         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
91286
91287         * lib/free.c: New file.
91288
91289 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
91290
91291         Trivial fixes to Makefile.am parts of module listings.
91292         * modules/strstr: Append strstr.h to lib_SOURCES.
91293         * modules/strcase: Likewise, for strcase.h.
91294
91295 2003-09-27  Karl Berry  <karl@gnu.org>
91296
91297         * config/mkinstalldirs: update from automake.
91298
91299 2003-09-26  Paul Eggert  <eggert@twinsun.com>
91300
91301         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
91302         (error_tail): Do not loop, reallocating temporary buffer, since
91303         the output cannot contain more wide characters than the input
91304         contains bytes, the size must be big enough already.  This avoids
91305         one potential size overflow calculation.  Check for size overflow
91306         when calculating temporary buffer size.  Free temporary buffer
91307         when done, if it was allocated with malloc; this plugs a memory
91308         leak.  Remove casts from void * to pointers, that are no longer
91309         needed now that we're assuming C89 or better.
91310
91311         Merge error changes from glibc.
91312
91313         * lib/error.c, error.h: Update copyright notice header to match glibc.
91314         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
91315         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
91316         Disable cancellation while printing error.
91317         * lib/error.h: Prepend __ to parameter names.
91318
91319 2003-09-26  Jim Meyering  <jim@meyering.net>
91320
91321         * lib/error.c (error_tail): Move some declarations
91322         into inner scope where the local variables are used.
91323
91324 2003-09-26  Bruno Haible  <bruno@clisp.org>
91325
91326         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
91327         stpncpy().
91328         Don't define stpncpy through config.h; it's now done through stpncpy.h.
91329
91330 2003-09-26  Bruno Haible  <bruno@clisp.org>
91331
91332         * lib/stpncpy.h (gnu_stpncpy): New declaration.
91333         (stpncpy): Define as alias for gnu_stpncpy.
91334         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
91335
91336 2003-09-25  Simon Josefsson  <jas@extundo.com>
91337
91338         * lib/xgetdomainname.h: New file.
91339         * lib/xgetdomainname.c: New file.
91340
91341 2003-09-25  Simon Josefsson  <jas@extundo.com>
91342             Bruno Haible  <bruno@clisp.org>
91343
91344         * modules/getdomainname: New file.
91345         * modules/xgetdomainname: New file.
91346         * MODULES.html.sh (func_all_modules): Add getdomainname,
91347         xgetdomainname.
91348
91349 2003-09-25  Simon Josefsson  <jas@extundo.com>
91350             Bruno Haible  <bruno@clisp.org>
91351
91352         * m4/getdomainname.m4: New file.
91353
91354 2003-09-25  Simon Josefsson  <jas@extundo.com>
91355             Bruno Haible  <bruno@clisp.org>
91356
91357         * lib/getdomainname.h: New file.
91358         * lib/getdomainname.c: New file.
91359
91360 2003-09-25  Karl Berry  <karl@gnu.org>
91361
91362         * lib/argp-fmtstream.c, argp-help.c: update from libc.
91363
91364 2003-09-25  Karl Berry  <karl@gnu.org>
91365
91366         * config/install-sh: update from automake.
91367
91368 2003-09-25  Bruno Haible  <bruno@clisp.org>
91369
91370         * modules/version-etc-2: New file, from modules/version-etc with
91371         modifications.
91372         * MODULES.html.sh (func_all_modules): Add version-etc-2.
91373
91374 2003-09-25  Bruno Haible  <bruno@clisp.org>
91375
91376         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
91377         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
91378
91379 2003-09-24  Simon Josefsson  <jas@extundo.com>
91380
91381         * modules/xgethostname: Add xgethostname.h.
91382
91383 2003-09-24  Paul Eggert  <eggert@twinsun.com>
91384
91385         * lib/linebuffer.c (freebuffer): Don't free the argument, just
91386         the buffer associated with the argument.  Bug reported by
91387         Simon Josefsson.
91388
91389 2003-09-24  Paul Eggert  <eggert@twinsun.com>
91390
91391         * README: Document assumptions that 'int' is at least 32 bits
91392         wide, that integer arithmetic is 2's complement without overflow,
91393         that there are no holes in integer values, that adding sizes of
91394         two nonoverlapping objects can't overflow, and that all-bits-zero
91395         yields scalar zero.  Fix spelling and capitalization typos.
91396
91397 2003-09-19  Karl Berry  <karl@gnu.org>
91398
91399         * lib/argp.h: update from libc.
91400
91401 2003-09-17  Paul Eggert  <eggert@twinsun.com>
91402
91403         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
91404         to avoid spurious warnings like "AC_RUN_IFELSE was called before
91405         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
91406
91407 2003-09-17  Paul Eggert  <eggert@twinsun.com>
91408
91409         * gnulib-tool: Use "test -h", not "test -L", for portability
91410         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
91411         (tags_regexp): Remove, since \| doesn't conform to POSIX.
91412         (sed_extract_prog): Issue s commands one-by-one, rather than
91413         using \| in one s command.
91414
91415 2003-09-16  Paul Eggert  <eggert@twinsun.com>
91416
91417         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
91418         input error, instead of returning NULL the next time we are called
91419         (and therefore losing track of errno).
91420
91421 2003-09-16  Bruno Haible  <bruno@clisp.org>
91422
91423         * gnulib-tool (func_create_testdir): Warn about duplicated
91424         dependencies.
91425
91426 2003-09-15  Paul Eggert  <eggert@twinsun.com>
91427
91428         * modules/argmatch, modules/fatal, modules/obstack,
91429         modules/xalloc, modules/xgethostname: Sort dependencies by
91430         importance, not alphabetically.
91431
91432 2003-09-15  Paul Eggert  <eggert@twinsun.com>
91433
91434         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
91435         fails, so that the caller gets the proper errno.
91436
91437         * lib/readutmp.c (read_utmp): Likewise.
91438         Check for fstat error.  Close stream and free storage
91439         when failing.
91440
91441 2003-09-14  Karl Berry  <karl@gnu.org>
91442
91443         * config/srclist.txt (strdup.c): disable for c89 changes.
91444
91445 2003-09-14  Jim Meyering  <jim@meyering.net>
91446
91447         * lib/getloadavg.c: Correct cpp indentation.
91448         * lib/strdup.c: Likewise.
91449         * lib/vasnprintf.c: Likewise.
91450
91451 2003-09-14  Bruno Haible  <bruno@clisp.org>
91452
91453         * modules/fwriteerror: New file.
91454         * MODULES.html.sh (func_all_modules): Add fwriteerror.
91455
91456 2003-09-14  Bruno Haible  <bruno@clisp.org>
91457
91458         * lib/fwriteerror.h: New file.
91459         * lib/fwriteerror.c: New file.
91460
91461 2003-09-12  Paul Eggert  <eggert@twinsun.com>
91462
91463         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
91464         modules/xgethostname, modules/xalloc: Depend on exit.
91465
91466 2003-09-12  Paul Eggert  <eggert@twinsun.com>
91467
91468         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
91469
91470         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
91471         and AC_MINIX, too, so that their extensions are available.
91472
91473         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
91474         This macro has been superseded by gl_BACKUPFILE.
91475
91476         More patches to assume C89 or better.
91477
91478         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
91479
91480         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
91481         unconditionally.
91482         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
91483         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
91484         Include <string.h>, <stdlib.h> unconditionally.
91485         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
91486         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
91487         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
91488         headers or for string.h.
91489         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
91490         or strtoul.
91491
91492         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
91493         headers.
91494         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
91495         * m4/userspec.m4 (gl_USERSPEC): Likewise.
91496         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
91497         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
91498         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
91499         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
91500         memcpy, memset.
91501         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
91502         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
91503         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
91504         strtol.
91505         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
91506         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
91507         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
91508         strtoul.
91509
91510 2003-09-12  Paul Eggert  <eggert@twinsun.com>
91511
91512         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
91513         * lib/obstack.c [!defined _LIBC]: Likewise.
91514         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
91515         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
91516         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
91517
91518         More changes to assume C89 or better.
91519
91520         * lib/error.c (error_tail): Assume vprintf.
91521
91522         * lib/argmatch.c (getenv): Remove decl.
91523         * lib/progreloc.c (get_full_program_name): Define via prototype.
91524         * lib/setenv.c (clearenv): Likewise.
91525         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
91526         needed.
91527         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
91528         (malloc, memcpy): Remove decls.
91529         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
91530         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
91531         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
91532         (memcpy): Remove macro.
91533         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
91534         (__P): Remove.  All uses removed.
91535         (PTR): Remove.  All uses changed to void *.
91536         (CHAR_BIT, NULL): Remove.
91537         (spaces, zeros, memset_space, memset_zero)
91538         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
91539         Remove.
91540         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
91541         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
91542         Define with prototype.
91543         Remove now-unnecessary prototype decl.
91544         (extra_args_spec): Assume ANSI C.  All uses changed.
91545         (extra_args_spec_iso): Remove.
91546         (my_strftime, emacs_strftimeu): Define via prototype.
91547         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
91548         unconditionally.
91549         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
91550         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
91551         (strtoul, strtol): Remove decls.
91552         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
91553         LONG_MAX): Remove.
91554         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
91555         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
91556         (LOCALE_PARAM_PROTO): New macro.
91557         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
91558         (INTERNAL (strtol), strtol): Define with a prototype.
91559         (PARAMS): Remove.  All uses removed.
91560         * lib/tempname.c: Include <string.h> unconditionally.
91561         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
91562         * lib/xgethostname.c (main): Define with a prototype.
91563         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
91564         Include <stdlib.h> unconditionally.
91565         (calloc, malloc, realloc, free): Remove decls.
91566         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
91567         Include <stdlib.h> unconditionally.  Sort include file names.
91568         (strtod): Remove.
91569         (xstrtod): Define with a prototype.
91570         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
91571         (strtol, strtoul): Remove decls.
91572
91573 2003-09-11  Paul Eggert  <eggert@twinsun.com>
91574
91575         More patches to assume C89 or better.
91576         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
91577         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
91578         string.h, memchr, STDC_HEADERS.
91579
91580 2003-09-11  Paul Eggert  <eggert@twinsun.com>
91581
91582         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
91583         Include <stdlib.h>, <string.h> unconditionally.
91584         Remove now-unnecessary cast to char *.
91585         * lib/strnlen.c: Include <string.h> unconditionally.
91586         * lib/yesno.c (yesno): Define with a prototype.
91587
91588 2003-09-11  Bruno Haible  <bruno@clisp.org>
91589
91590         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
91591
91592 2003-09-10  Jim Meyering  <jim@meyering.net>
91593
91594         * lib/error.c: Correct indentation of cpp directives.
91595
91596 2003-09-10  Bruno Haible  <bruno@clisp.org>
91597
91598         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
91599         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
91600         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
91601         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
91602         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
91603         <stdlib.h> and <string.h> checks.
91604         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
91605         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
91606
91607 2003-09-10  Bruno Haible  <bruno@clisp.org>
91608
91609         * lib/strcspn.c: Include <string.h> unconditionally.
91610         * lib/strpbrk.c: Include <string.h> unconditionally.
91611         * lib/strstr.c: Include <string.h> unconditionally.
91612         * lib/unicodeio.c: Include <string.h> unconditionally.
91613         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
91614         * lib/unsetenv.c: Likewise.
91615         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
91616         * lib/yesno.c: Include <stdlib.h> unconditionally.
91617         (rpmatch): Add prototype.
91618
91619 2003-09-09  Paul Eggert  <eggert@twinsun.com>
91620
91621         More patches to assume C89 or better.
91622         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
91623         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
91624         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
91625         or for string.h.
91626         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
91627         stdlib.h.
91628         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
91629         C headers.
91630         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
91631         string.h.
91632         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
91633         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
91634         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
91635         or for string.h.
91636         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
91637         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
91638         C headers.
91639         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
91640         memcpy.
91641         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
91642         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
91643         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
91644         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
91645         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
91646         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
91647         string.h, free.
91648         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
91649         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
91650         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
91651         C headers, or for string.h.
91652         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
91653         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
91654         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
91655         headers, memory.h, stdlib.h, string.h, strings.h.
91656         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
91657         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
91658         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
91659         strchr.
91660         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
91661         headers, memory.h, string.h.
91662         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
91663         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
91664         free.
91665         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
91666         headers.
91667         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
91668         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
91669         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
91670         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
91671         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
91672
91673 2003-09-09  Paul Eggert  <eggert@twinsun.com>
91674
91675         More K&R removal.
91676
91677         * lib/acosl.c (main): Use a prototype.
91678         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
91679         tanl.c: Likewise.
91680
91681         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
91682
91683         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
91684         (getopt, etopt_long, getopt_long_only, _getopt_internal)
91685         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
91686         with a prototype.
91687         * lib/getopt.c (const): Remove macro.
91688         Include <string.h> unconditionally.
91689         (my_index): Remove; all uses changed to strchr.
91690         (strlen): Remove decl.
91691         (exchange): Remove forward decl; no longer needed.
91692         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
91693         Define with prototype.
91694         * lib/getopt1.c (const): Remove macro.
91695         (getopt_long, getopt_long_only, main): Define with prototype.
91696
91697         * lib/getugroups.c: Include <string.h> unconditionally.
91698
91699         * lib/getusershell.c: Include <stdlib.h> unconditionally.
91700         (getusershell, setusershell, endusershell, readname, main):
91701         Define with prototypes.
91702
91703         * lib/group-member.c: Include group-member.h first.
91704         Include <stdlib.h> unconditionally.
91705
91706         * lib/hard-locale.c: Include hard-locale.h first.
91707         Include <stdlib.h>, <string.h> unconditionally.
91708
91709         * lib/hash.c (free, malloc): Remove decls.
91710         Include <stdlib.h> unconditionally.
91711
91712         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
91713         (getenv): Do not declare.
91714
91715         * lib/idcache.c: Include <string.h> unconditionally.
91716
91717         * lib/long-options.c: Include long-options.h first, to test interface.
91718         Include <stdlib.h> unconditionally.
91719
91720         * lib/makepath.c: Include makepath.h first, to test interface.
91721         Include <stdlib.h> and <string.h> unconditionally.
91722
91723         * lib/linebuffer.c: Include <stdlib.h>.
91724         (free): Remove decl.
91725
91726         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
91727         stddef.h. rpl_malloc returns void *, not char *.
91728         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
91729         prototype.
91730
91731         * lib/md5.h: Include <limits.h> unconditionally.
91732         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
91733         (__P): Remove; all uses removed.
91734         * lib/md5.c: Include "md5.h" first.
91735         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
91736         md5_buffer, md5_process_bytes, md5_process_block):
91737         Define with prototypes.
91738         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
91739         * lib/sha.c: Include "sha.h" first.
91740         Include <stdlib.h>, <string.h> unconditionally.
91741
91742         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
91743         * lib/memcmp.c (__ptr_t): Likewise.
91744         * lib/memrchr.c (__ptr_t): Likewise.
91745         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
91746         Include <string.h> unconditionally.
91747         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
91748         * lib/memchr.c: Include <stdlib.h> unconditionally.
91749         * lib/memchr.c (LONG_MAX): Remove.
91750         * lib/memrchr.c (LONG_MAX): Likewise.
91751         * lib/memchr.c (__memchr): Define via a prototype.
91752         * lib/memrchr.c (__memrchr): Likewise.
91753         * lib/memcmp.c (__P): Remove, and remove all uses.
91754         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
91755         Remove forward decls; no longer needed.
91756         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
91757         Use types required by C89 in prototype.
91758
91759         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
91760         * lib/savedir.c: Likewise.
91761         * lib/mkdir.c (free): Remove decl.
91762         * lib/rmdir.c (rmdir): Define with a prototype.
91763         * lib/savedir.c: Include savedir.h first, to test interface.
91764
91765         * lib/mktime.c (STDC_HEADERS): Remove.
91766         Include <stdlib.h>, <string.h> unconditionally.
91767
91768         * lib/modechange.c: Include <stdlib.h> unconditionally.
91769         (malloc): Remove decl.
91770
91771         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
91772         (free): Remove decl.
91773
91774         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
91775         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
91776         (This type really should be intptr_t, but that's a C99ism.)
91777         (_obstack_memcpy): Remove: all uses changed to memcpy.
91778         Include <string.h> unconditionally.
91779         (struct obstack): Assume __STDC__ for types of members
91780         chunkfun, freefun, extra_arg.
91781         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
91782         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
91783         obstack_begin, obstack_specify_allocation,
91784         obstack_specify_allocation_with_arg, obstack_chunkfun,
91785         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
91786         Remove unprototyped decls and the macros that use them.
91787         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
91788         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
91789         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
91790         (defined __STDC__ && __STDC__)]:
91791         Remove nonprototyped code.
91792         Include <stdlib.h> unconditionally.
91793         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
91794         _obstack_allocated_p, _obstack_free, obstack_free,
91795         _obstack_memory_used, print_and_abort):
91796         Define using prototypes.
91797         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
91798         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
91799         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
91800         obstack_next_free, obstack_object_size, obstack_room) [0]:
91801         Remove unused, unprototyped code.
91802
91803         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
91804
91805         * lib/physmem.c (physmem_total, physmem_available, main): Define
91806         with prototypes.
91807
91808         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
91809         (main): Define with a prototype.
91810
91811         * lib/posixver.c (getenv): Remove decl.
91812
91813         * lib/putenv.c (malloc): Returns void *, not char *.
91814         Include <string.h> unconditionally.
91815         (strchr, memcpy, NULL): Do not define.
91816
91817         * lib/readtokens.c: Include readtokens.h first, to test interface.
91818         Include <stdlib.h>, <string.h> unconditionally.
91819         (init_tokenbuffer): Define with a prototype.
91820
91821         * lib/regex.c (PARAMS): Remove.  All uses removed.
91822         All uses of _RE_ARGS removed, too.
91823         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
91824         unconditionally.
91825         (bzero): Assume memset exists.
91826         (memcmp, memcpy, NULL): Remove.
91827         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
91828         char, or assignments to local vars of type signed char.
91829         (init_syntax_once, PREFIX(extract_number_and_incr),
91830         PREFIX(print_partial_compiled_pattern),
91831         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
91832         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
91833         PREFIX(regex_grow_registers), PREFIX(regex_compile),
91834         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
91835         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
91836         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
91837         wcs_compile_range, byte_compile_range, truncate_wchar,
91838         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
91839         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
91840         count_mbs_length, wcs_re_match_2_internal,
91841         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
91842         PREFIX(alt_match_null_string_p),
91843         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
91844         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
91845         regfree, PREFIX(extract_number)): Define with prototype.  Remove
91846         now-unnecessary declaration, if any.
91847         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
91848         regcomp, regexec):
91849         Remove now-unnecessary casts among pointer types.
91850         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
91851
91852         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
91853         (free): Remove decl.
91854
91855         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
91856
91857         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
91858         (free): Remove decl.
91859
91860         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
91861         * lib/xgetcwd.c: Likewise.
91862
91863         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
91864         (free): Remove decl.
91865
91866         * lib/strchrnul.c (strchrnul): Define with a prototype.
91867         Fix bug: c_in was not converted to char before searching.
91868
91869         The following changes are not K&R related:
91870
91871         * lib/group-member.h: Include <sys/types.h>, so that this file is
91872         self-contained.
91873         * lib/makepath.h: Likewise.
91874
91875         * lib/getusershell.c (readname, default_index, line_size, readname):
91876         Use size_t, not int, for sizes.
91877         (readname): If the size overflows, report an error instead of
91878         looping forever.
91879
91880 2003-09-09  Paul Eggert  <eggert@twinsun.com>
91881
91882         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
91883         libc.
91884
91885 2003-09-09  Paul Eggert  <eggert@twinsun.com>
91886
91887         * README: New section: portability guidelines.
91888
91889 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
91890
91891         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
91892         C89 spec.
91893
91894 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
91895
91896         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
91897
91898 2003-09-08  Paul Eggert  <eggert@twinsun.com>
91899
91900         Assume C89 or better; remove K&R cruft.
91901         A few of these changes were first proposed by Derek Robert Price
91902         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
91903
91904         * lib/addext.c: Include <string.h> unconditionally.
91905         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
91906         Don't declare getenv or malloc.
91907
91908         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
91909         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
91910         (NULL): Remove.
91911         (find_stack_direction, alloca): Use prototypes.
91912
91913         * lib/atexit.c (atexit): Define using a prototype.
91914
91915         * lib/basename.c, dirname.c, stripslash.c:
91916         Include <string.h> unconditionally.
91917
91918         * lib/bcopy.c: Include <stddef.h>.
91919         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
91920
91921         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
91922
91923         * lib/error.h (error, error_at_line, error_print_progname)
91924         [! (defined (__STDC__) && __STDC__)]: Remove decls.
91925         * lib/error.c: Include error.h first, to check interface.
91926         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
91927         (VA_START): Remove; all uses changeed to va_start.
91928         (exit, strerror): Remove decls.
91929         (error_print_progname): Prototype uncondionally.
91930         Don't include <errno.h>; no longer needed.
91931         (private_strerror): Remove.
91932         (error_tail): Always define.
91933         (error, error_at_line): Assume C89 or better; always use prototypes.
91934         * lib/fatal.c: Include "fatal.h" first, to test interface.
91935         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
91936         (VA_START): Remove; all uses changed to va_start.
91937         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
91938         this case.
91939         (exit): Remove decl.
91940         (fatal): Prototype unconditionally.  Assume va_start works.
91941         Abort at end, to pacify gcc.
91942
91943         * lib/euidaccess.c (main): Define with a prototype.
91944
91945         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
91946
91947         * lib/exitfail.c: Include <stdlib.h> unconditionally.
91948
91949         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
91950         prototypes.
91951         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
91952         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
91953         (getenv): Remove decl.
91954         (fnmatch): Define using a prototype.
91955         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
91956         (FCT): Define using a prototype.
91957
91958         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
91959
91960         * lib/gethostname.c: Include <stddef.h>.
91961         (gethostname): Define with prototype.  Length is size_t, not int.
91962
91963 2003-09-08  Paul Eggert  <eggert@twinsun.com>
91964
91965         Assume C89 or better; remove K&R cruft.
91966         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
91967         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
91968         string.h, getenv, malloc.
91969         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
91970         headers.
91971         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
91972         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
91973         do not check for strerror.
91974         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
91975         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
91976         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
91977         do not check for doprnt or vprintf.
91978         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
91979         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
91980
91981 2003-09-08  Paul Eggert  <eggert@twinsun.com>
91982
91983         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
91984         getversion.c should have been removed then, but was accidentally
91985         preserved.
91986
91987         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
91988         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
91989
91990 2003-09-08  Karl Berry  <karl@gnu.org>
91991
91992         * config/config.sub, config.guess, srclistvars.sh: update from savannah
91993                 config, forget about prep.
91994
91995         * config/depcomp, missing: update from automake.
91996
91997 2003-09-07  Paul Eggert  <eggert@twinsun.com>
91998
91999         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
92000         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
92001
92002 2003-09-07  Paul Eggert  <eggert@twinsun.com>
92003
92004         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
92005         copy_tm_result.  Bug reported by Simon Josefsson in
92006         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
92007
92008 2003-09-06  Paul Eggert  <eggert@twinsun.com>
92009
92010         * m4/time_r.m4: New file.
92011         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
92012         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
92013         is. Check for timegm declaration.
92014         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
92015         Do not check for gmtime_r.
92016         Replace mktime if __mktime_internal does not exist and if mktime
92017         hasn't been replaced already.
92018
92019 2003-09-06  Paul Eggert  <eggert@twinsun.com>
92020
92021         * lib/time_r.c, lib/time_r.h: New files.
92022
92023         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
92024         __localtime_r.
92025         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
92026         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
92027
92028         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
92029         __gmtime_r.
92030         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
92031         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
92032         Include <time_r.h>.
92033
92034         * lib/timegm.c: Switch to glibc implementation, with the following
92035         changes:
92036         [defined HAVE_CONFIG_H]: Include <config.h>.
92037         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
92038         (__mktime_internal) [!defined _LIBC]: New decl.
92039         (__gmtime_r) [!defined _LIBC]: New macro and function.
92040         (timegm): Use a prototype, since gnulib assumes C89.
92041         Do not bother declaring tmp to be const, as it's not really usefu.
92042         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
92043         (timegm): Declare only if HAVE_DECL_TIMEGM.
92044
92045 2003-09-06  Paul Eggert  <eggert@twinsun.com>
92046
92047         * MODULES.html.sh (func_all_modules): Add time_r.
92048         * modules/time_r: New file.
92049         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
92050         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
92051
92052 2003-09-03  Paul Eggert  <eggert@twinsun.com>
92053
92054         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
92055         Bug reported by Lute Kamstra in
92056         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
92057
92058         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
92059         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
92060         course with correspondingly smaller numbers for tomorrow and
92061         yesterday.  From Tadayoshi Funaba.  Originally installed into
92062         sh-utils on 1999-08-07, but the patch got lost (I guess during the
92063         coreutils merge?).
92064
92065 2003-08-31  Simon Josefsson  <jas@extundo.com>
92066
92067         * modules/timegm: New file.
92068         * MODULES.html.sh (func_all_modules): Add timegm.
92069
92070 2003-08-31  Simon Josefsson  <jas@extundo.com>
92071
92072         * m4/timegm.m4: New file.
92073
92074 2003-08-31  Simon Josefsson  <jas@extundo.com>
92075
92076         * lib/timegm.h: New file.
92077         * lib/timegm.c: New file.  Based on
92078         wget-1.8.2/src/http.c:mktime_from_utc.
92079
92080 2003-08-31  Karl Berry  <karl@gnu.org>
92081
92082         * lib/argp.h: update from libc.
92083
92084 2003-08-28  Bruno Haible  <bruno@clisp.org>
92085
92086         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
92087         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
92088         followed by '#define fnmatch fnmatch_posix' gives an error.
92089
92090 2003-08-28  Bruno Haible  <bruno@clisp.org>
92091
92092         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
92093         warning on QNX, which defines O_BINARY to 000000.
92094
92095 2003-08-27  Jim Meyering  <jim@meyering.net>
92096
92097         * m4/mkstemp.m4: Require that the system mkstemp be able to create
92098         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
92099         would fail after 32.  Reported by Danny Levinson.  Details here:
92100         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
92101
92102 2003-08-24  Bruno Haible  <bruno@clisp.org>
92103
92104         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
92105         MSVC7 <stdio.h> is included later.
92106
92107 2003-08-22  Simon Josefsson  <jas@extundo.com>
92108
92109         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
92110
92111 2003-08-20  Karl Berry  <karl@gnu.org>
92112
92113         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
92114
92115 2003-08-20  Bruno Haible  <bruno@clisp.org>
92116
92117         * modules/progname: New file.
92118         * MODULES.html.sh (func_all_modules): Add progname.
92119
92120 2003-08-20  Bruno Haible  <bruno@clisp.org>
92121
92122         * lib/progname.h: New file, from GNU gettext.
92123         * lib/progname.c: New file, from GNU gettext.
92124         * lib/progreloc.c: New file, from GNU gettext.
92125
92126 2003-08-19  Jim Meyering  <jim@meyering.net>
92127
92128         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
92129         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
92130
92131 2003-08-19  Bruno Haible  <bruno@clisp.org>
92132
92133         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
92134         more.
92135
92136 2003-08-19  Bruno Haible  <bruno@clisp.org>
92137
92138         * lib/xstrdup.c: Assume <string.h> exists.
92139
92140 2003-08-18  Paul Eggert  <eggert@twinsun.com>
92141
92142         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
92143         in makefile rules.
92144
92145 2003-08-18  Jim Meyering  <jim@meyering.net>
92146
92147         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
92148         * m4/lib-ld.m4: Likewise.
92149
92150 2003-08-18  Jim Meyering  <jim@meyering.net>
92151
92152         * lib/setenv.h: Indent nested cpp directive.
92153         * lib/vasnprintf.c: Remove trailing blanks.
92154
92155 2003-08-17  Simon Josefsson  <jas@extundo.com>
92156
92157         * modules/xstrndup: New file.
92158         * MODULES.html.sh (func_all_modules): Add xstrndup.
92159
92160 2003-08-17  Simon Josefsson  <jas@extundo.com>
92161
92162         * modules/argp: Fix autoconf macro name. Add more dependencies.
92163
92164 2003-08-17  Simon Josefsson  <jas@extundo.com>
92165
92166         * m4/xstrndup.m4: New file.
92167
92168 2003-08-17  Simon Josefsson  <jas@extundo.com>
92169
92170         * m4/argp.m4: New file.
92171
92172 2003-08-17  Simon Josefsson  <jas@extundo.com>
92173             Bruno Haible  <bruno@clisp.org>
92174
92175         * lib/xstrndup.h: New file.
92176         * lib/xstrndup.c: New file.
92177
92178 2003-08-17  Bruno Haible  <bruno@clisp.org>
92179
92180         * modules/strndup (Files, Include): Add lib/strndup.h.
92181
92182 2003-08-17  Bruno Haible  <bruno@clisp.org>
92183
92184         * modules/euidaccess (Files): Add lib/euidaccess.h.
92185
92186 2003-08-17  Bruno Haible  <bruno@clisp.org>
92187
92188         * lib/strndup.h: New file.
92189
92190 2003-08-17  Bruno Haible  <bruno@clisp.org>
92191
92192         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
92193         like AC_GNU_SOURCE.
92194         * modules/extensions (configure.ac): Comment out the invocation of
92195         gl_USE_SYSTEM_EXTENSIONS.
92196
92197 2003-08-16  Paul Eggert  <eggert@twinsun.com>
92198
92199         Merges from coreutils, etc.
92200         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
92201         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
92202         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
92203         fixing a typo.
92204         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
92205         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
92206
92207 2003-08-16  Paul Eggert  <eggert@twinsun.com>
92208
92209         Document merge from coreutils.
92210         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
92211         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
92212         * modules/utime: Add m4/utimes-null.m4.
92213
92214 2003-08-16  Paul Eggert  <eggert@twinsun.com>
92215
92216         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
92217         space, undoing this 2003-08-12 change:
92218         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
92219
92220 2003-08-16  Paul Eggert  <eggert@twinsun.com>
92221
92222         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
92223         strtoul.c from libc, undoing this 2003-08-12 change:
92224         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
92225
92226 2003-08-16  Jim Meyering  <jim@meyering.net>
92227
92228         Merges from coreutils.
92229         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
92230         prefix.  Adjust cache variables similarly.  Create 500 rather than
92231         just 300 files, to exercise bug on Darwin6.5, too.
92232         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
92233         $missing_dir.
92234         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
92235         AM_SYS_POSIX_TERMIOS.
92236         Reported by mkc@mathdogs.com.
92237         Also change use of $am_cv_sys_posix_termios
92238         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
92239         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
92240         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
92241         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
92242         in /proc/mounts until it finds one with matching device number.  This
92243         is unnecessary when the FILE argument *is* a mount point.  No stat call
92244         is necessary in that case.  So, disable the statvfs-testing code on
92245         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
92246         as RedHat bug# 84846.
92247         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
92248         to 1MB, so as not to render systems with no stack size limit (e.g.,
92249         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
92250         Include <unistd.h>.  On some systems,
92251         it is required for the definition of _SC_PAGESIZE.
92252
92253 2003-08-16  Jim Meyering  <jim@meyering.net>
92254
92255         Merge from coreutils.
92256         * lib/xstrtoimax.c: #else #if -> #elif.
92257         * lib/xstrtoumax.c: Likewise.
92258
92259 2003-08-16  Jim Meyering  <jim@meyering.net>
92260
92261         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
92262         * m4/utimes.m4: Removed.
92263         * m4/utimes-null.m4: Renamed from utimes.m4.
92264
92265         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
92266         to 1MB, so as not to render systems with no stack size limit (e.g.,
92267         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
92268         Include <unistd.h>.  On some systems,
92269         it is required for the definition of _SC_PAGESIZE.
92270
92271 2003-08-16  Jim Meyering  <jim@meyering.net>
92272         and Paul Eggert  <eggert@cs.ucla.edu>
92273
92274         Merges from coreutils, etc.
92275
92276         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
92277         using the latest version from cvs.  This avoids problems with #line
92278         directives using a vendor (Sun) compiler.
92279         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
92280         Don't set GETGROUPS_LIB here; now it's
92281         done via getgroups.m4's wrapper function.
92282         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
92283         rather than just in sh-util/configure.in, so that the
92284         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
92285         same.
92286         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
92287         AC_FUNC_GETLOADAVG where to find getloadavg.c.
92288         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
92289         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
92290         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
92291         Remove code that is now done by the newly-required macros.
92292         Append $(EXEEXT) to DF_PROG.
92293         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
92294         Do not invoke or require the following here,
92295         since prereq.m4 or some gnulib .m4 now does this for us:
92296         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
92297         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
92298         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
92299         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
92300         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
92301         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
92302         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
92303         AC_FUNC_OBSTACK.
92304         Do not replace the following functions, as this is now the job
92305         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
92306         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
92307         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
92308         atexit getpass, strdup, getpagesize.
92309         Replace 'raise'.
92310         Do not check for the following functions, as this is now the job
92311         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
92312         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
92313         setregid.
92314         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
92315         Check for sys/sysctl.h.
92316         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
92317         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
92318         of checking for ssize_t ourselves.
92319
92320         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
92321         Require every macro that gnulib/modules/* suggests for us.
92322         (jm_PREREQ_ADDEXT): New macro.
92323         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
92324         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
92325
92326         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
92327         (gl_PHYSMEM): Use it.
92328         Also check for `table' function.
92329         Check for new headers and functions.
92330         Add check for sys/sysmp.h.
92331         With suggestions from Kaveh Ghazi.
92332         Ignore headers that are present but cannot be compiled.  This
92333         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
92334         C 5.4.
92335
92336 2003-08-15  Paul Eggert  <eggert@twinsun.com>
92337
92338         Document merge from coreutils.
92339         * modules/userspec: Depend on posixver.
92340         * modules/strftime: Depend on tzset.
92341
92342 2003-08-15  Paul Eggert  <eggert@twinsun.com>
92343
92344         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
92345         rather than tab, after '#' in shell-script copyright notices.
92346         Suggested by Bruno Haible.
92347
92348 2003-08-15  Paul Eggert  <eggert@twinsun.com>
92349
92350         * config/srclist-update: Use three spaces, rather than tab, after '#'
92351         in shell-script copyright notices.  Suggested by Bruno Haible.
92352         Remove unnecessary parenthesization in regular expression.
92353
92354 2003-08-15  Jim Meyering  <jim@meyering.net>
92355
92356         Merge from coreutils.
92357         * lib/xgethostname.c: Include <stdlib.h>.
92358         (xghostname): Don't exit for anything other than memory-related
92359         failure; just return NULL.
92360         * lib/userspec.c: Include "posixver.h".
92361         (parse_user_spec): Accept `.' as a separator only
92362         in pre-POSIX-200112 mode.
92363         * lib/strtoimax.c: Use #elif rather than #else #if.
92364         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
92365         Remove function, now that we can rely on a working tzset function.
92366         [!_LIBC]: Ensure that the required autoconf test has been run.
92367         [!defined _NL_CURRENT && HAVE_STRFTIME]:
92368         Use underlying_strftime for %r.
92369         * lib/sha.c: Merge in some clean-up and optimization changes from
92370         glibc.
92371         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
92372         Ensure that it is a multiple of 64.
92373         Rearrange loop exit tests so as to avoid performing an
92374         additional fread after encountering an error or EOF.
92375         * lib/realloc.c: Update copyright date.
92376
92377 2003-08-15  Jim Meyering  <jim@meyering.net>
92378         and Paul Eggert  <eggert@twinsun.com>
92379
92380         Merge from coreutils.
92381         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
92382         member but strut utmpx does not.  Needed for AIX 4.3.3.
92383         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
92384
92385 2003-08-15  Jim Meyering  <jim@meyering.net>
92386         and Paul Eggert  <eggert@cs.ucla.edu>
92387
92388         Merges from coreutils, etc.
92389         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
92390         Require gl_FUNC_TZSET_CLOBBER.
92391         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
92392         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
92393         members.
92394
92395 2003-08-14  Paul Eggert  <eggert@twinsun.com>
92396
92397         Help the merge from coreutils.
92398         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
92399         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
92400         * m4/tzset.m4: Use it too.
92401
92402 2003-08-14  Paul Eggert  <eggert@twinsun.com>
92403
92404         * modules/tzset: New file.
92405
92406 2003-08-14  Jim Meyering  <jim@meyering.net>
92407
92408         Merges from coreutils.
92409         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
92410         variable names, rather than @FNMATCH_H@.
92411         * modules/alloca: Likewise for $(ALLOCA_H).
92412
92413         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
92414         the three copies of the literal target, `fnmatch.h'.
92415         * modules/alloca (alloca.h): Likewise.
92416
92417 2003-08-14  Jim Meyering  <jim@meyering.net>
92418
92419         Merge from coreutils.
92420         * m4/tzset.m4: New file.
92421         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
92422         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
92423         otherwise, AIX 5.1 systems would end up using the latter.
92424         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
92425         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
92426         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
92427         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
92428
92429 2003-08-14  Jim Meyering  <jim@meyering.net>
92430
92431         Merge from coreutils.
92432         * lib/obstack.h: Whitespace changes.
92433         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
92434         and xcalloc return values.
92435         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
92436         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
92437         hang on OSF/1 5.1 for DIR on both local and remote file systems.
92438         Reported by (and fix confirmed by) Nelson H. F. Beebe.
92439         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
92440         error from mntctl.
92441         Use mntctl's return value to drive the entry-processing loop, since
92442         we can't rely on the value of the vmt_length member in the last
92443         entry.  On some systems doing so could result in exhausting
92444         virtual memory.  Based in part on a patch from Mike Jetzer.
92445
92446 2003-08-14  Jim Meyering  <jim@meyering.net>
92447         and Paul Eggert  <eggert@twinsun.com>
92448
92449         Merges from coreutils, plus other fixes.
92450         * lib/physmem.c: Merge in portability changes from gcc/libiberty
92451         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
92452         for credits and details.  Thanks to Kaveh Ghazi for helping
92453         to keep these files in sync.
92454         (ARRAY_SIZE): Define it.
92455         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
92456         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
92457         (memcasecmp): Don't assume size_t fits in unsigned int.
92458         Remove casts and duplicate code.
92459         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
92460         (memcpy): Remove definition.
92461         Merge in some clean-up and optimization changes from glibc.
92462         [BLOCKSIZE]: Move definition to top of file.
92463         Ensure that it is a multiple of 64.
92464         Rearrange loop exit tests so as to avoid performing an
92465         additional fread after encountering an error or EOF.
92466         * lib/md5.h (md5_uintptr): Define.
92467         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
92468         return to the initial working directory.  Preserve errno
92469         for caller.
92470         * lib/idcache.c: Include "xalloc.h".
92471         (xmalloc, xrealloc): Remove decls.
92472         (getuser): Remove casts no longer required in C89.
92473         * lib/human.c: Include stdio.h, for sprintf.
92474         * lib/group-member.c: Include "xalloc.h".
92475         (xmalloc, xrealloc): Remove decls.
92476         (get_group_info): Remove casts no longer required in C89.
92477         * lib/getusershell.c (readname): Remove casts no longer required in
92478         C89.
92479         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
92480         * lib/getline.c: Whitespace fix, from coreutils.
92481
92482 2003-08-13  Paul Eggert  <eggert@twinsun.com>
92483
92484         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
92485         Check for isascii.
92486
92487         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
92488         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
92489         Undo previous (whitespace-only) change.
92490
92491 2003-08-13  Paul Eggert  <eggert@twinsun.com>
92492
92493         * lib/exclude.c: Include <ctype.h>
92494         (IN_CTYPE_DOMAIN): New macro.
92495         (is_space): New fn.
92496         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
92497         and empty lines.
92498
92499         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
92500         Undo previous (whitespace-only) change.
92501
92502 2003-08-13  Paul Eggert  <eggert@twinsun.com>
92503
92504         * config/srclist-update: Change update back to the old behavior,
92505         leaving whitespace alone.  Use one 'sed' command rather than a
92506         pipeline.
92507         (fixlicense): Now a variable, not a function.
92508         (remove_trailing_blanks): Remove.
92509         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
92510         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
92511         Undo previous (whitespace-only) change.
92512
92513 2003-08-12  Paul Eggert  <eggert@twinsun.com>
92514
92515         Merge from coreutils.
92516         * modules/euidaccess: Add lib_SOURCES, include for new
92517         file euidaccess.h
92518
92519 2003-08-12  Paul Eggert  <eggert@twinsun.com>
92520
92521         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
92522         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
92523         Normalize leading white space and remove trailing white space.
92524
92525         Merge from coreutils
92526         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
92527
92528         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
92529         0.12.1.  These files are now being upgraded automatically by
92530         ../config/srclist-update.
92531
92532 2003-08-12  Paul Eggert  <eggert@twinsun.com>
92533
92534         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
92535         Normalize leading white space and remove trailing white space.
92536         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
92537         notice, as per ../config/srclist-update.
92538
92539         Merge from coreutils.
92540         * lib/euidaccess.h: New file.
92541         * lib/euidaccess.c: Include it.
92542         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
92543         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
92544         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
92545
92546 2003-08-12  Paul Eggert  <eggert@twinsun.com>
92547
92548         * config/srclist-update: Add copyright notice.
92549         (remove_id_lines, remove_trailing_blanks): New constants.
92550         (fixfile): Use them to normalize spacing a bit in copied files.
92551         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
92552         Normalize leading white space and remove trailing white space.
92553
92554         * config/texinfo.tex: Sync with texinfo.
92555
92556         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
92557         strtoul.c from libc, to merge coreutils whitespace changes.
92558
92559         * config/srclist.txt: Get the following m4 files from gettext:
92560         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
92561         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
92562         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
92563         wint_t.m4.
92564
92565 2003-08-12  Karl Berry  <karl@gnu.org>
92566
92567         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
92568         been made.
92569
92570 2003-08-11  Paul Eggert  <eggert@twinsun.com>
92571
92572         * modules/gnu-source, m4/gnu-source.m4:
92573         Remove; we're assuming Autoconf 2.54 or later now.
92574         Suggested by Bruno Haible.
92575         * MODULES.html.sh (func_all_modules): Remove gnu-source.
92576
92577 2003-08-11  Bruno Haible  <bruno@clisp.org>
92578
92579         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
92580
92581 2003-08-11  Bruno Haible  <bruno@clisp.org>
92582
92583         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
92584         (vasnprintf): Use it instead of wcslen.
92585
92586 2003-08-11  Bruno Haible  <bruno@clisp.org>
92587
92588         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
92589         value to ensure that _Bool promotes to int. Use #define for _Bool when
92590         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
92591
92592 2003-08-10  Karl Berry  <karl@gnu.org>
92593
92594         * lib/regex.h: update from libc (whitespace fix).
92595
92596 2003-08-09  Paul Eggert  <eggert@twinsun.com>
92597
92598         Merge some files from coreutils.  These changes were
92599         originally made by Jim Meyering.
92600         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
92601         many older Unixes require this.
92602         * lib/alloca.c (alloca): Remove cast to argument of free;
92603         no longer needed in C89.
92604         * lib/alloca_.h, regex.h: Fix white space to match
92605         what GNU indent does.
92606
92607 2003-08-09  Paul Eggert  <eggert@twinsun.com>
92608
92609         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
92610         apparently Emacs's Unicode mode got confused before my 2003-08-05
92611         checkin.
92612
92613 2003-08-08  Paul Eggert  <eggert@twinsun.com>
92614
92615         * m4/extensions.m4: New file.
92616         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
92617         Require gl_USE_SYSTEM_EXTENSIONS.
92618         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
92619         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
92620
92621 2003-08-08  Paul Eggert  <eggert@twinsun.com>
92622
92623         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
92624         * modules/extensions, modules/gnu-source: New files.
92625         * modules/timespec, modules/unlocked-io: Depend on extensions.
92626
92627 2003-08-07  Paul Eggert  <eggert@twinsun.com>
92628
92629         * modules/restrict: New file.
92630         * MODULES.html.sh (func_all_modules): Add restrict.
92631         * modules/regex: Depend on restrict.
92632
92633 2003-08-07  Paul Eggert  <eggert@twinsun.com>
92634
92635         * m4/restrict.m4: New file.
92636         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
92637
92638 2003-08-07  Bruno Haible  <bruno@clisp.org>
92639
92640         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
92641         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
92642
92643 2003-08-07  Bruno Haible  <bruno@clisp.org>
92644
92645         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
92646         makes the module 'getndelim2' compatible with the module 'getline'.
92647
92648 2003-08-05  Paul Eggert  <eggert@twinsun.com>
92649
92650         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
92651         byte with "\201" to avoid glitches when editing that source file
92652         with multi-gnome-terminal.
92653
92654 2003-08-05  Paul Eggert  <eggert@twinsun.com>
92655
92656         * lib/bumpalloc.h: Remove.
92657
92658 2003-08-05  Paul Eggert  <eggert@twinsun.com>
92659
92660         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
92661         * modules/bumpalloc: Remove.
92662
92663 2003-08-04  Paul Eggert  <eggert@twinsun.com>
92664
92665         * lib/getloadavg.c: Change copyright notice and spacing to conform to
92666         GNU coding style.
92667
92668         Merge from coreutils.
92669         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
92670         1. From glibc.
92671         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
92672         from Karl Berry, implemented by Jim Meyering.
92673         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
92674         from Dmitry V. Levin.
92675         Remove anachronistic cast of xrealloc.
92676         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
92677         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
92678         type. Otherwise, it wouldn't compile with at least /bin/cc on
92679         ymp-cray-unicos9.0.2.X.
92680         Combine two mostly-identical uses of alloca into one.
92681         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
92682
92683 2003-08-04  Dave Love  <d.love@dl.ac.uk>
92684
92685         [From Emacs.]
92686
92687         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
92688         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
92689         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
92690         obsolete NLIST_NAME_UNION.
92691         [__GNU__]: Undef BSD and FSCALE.
92692         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
92693
92694 2003-08-03  Paul Eggert  <eggert@twinsun.com>
92695
92696         * lib/stdbool_.h (_Bool): Make it signed char, instead of
92697         an enum type, so that it's guaranteed to promote to int.  See:
92698         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
92699
92700 2003-08-03  Karl Berry  <karl@gnu.org>
92701
92702         * config/depcomp: update from automake.
92703
92704 2003-07-31  Paul Eggert  <eggert@twinsun.com>
92705
92706         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
92707         (strerror): Don't assume that a printable int fits in 14 bytes.
92708
92709 2003-07-31  Bruno Haible  <bruno@clisp.org>
92710
92711         * modules/getpass-gnu: New file.
92712         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
92713
92714 2003-07-31  Bruno Haible  <bruno@clisp.org>
92715
92716         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
92717
92718 2003-07-24  Karl Berry  <karl@gnu.org>
92719
92720         * config/missing: update from automake.
92721
92722 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
92723             Bruno Haible  <bruno@clisp.org>
92724
92725         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
92726         * lib/getline.c (getline, getdelim): Likewise.
92727         Remove _GNU_SOURCE define; now it's defined in config.h through
92728         m4/getline.m4.
92729
92730 2003-07-23  Karl Berry  <karl@gnu.org>
92731
92732         * config/config.sub: update from prep.
92733
92734 2003-07-22  Paul Eggert  <eggert@twinsun.com>
92735
92736         * modules/xalloc (Depends-on): Add exitfail.
92737         * modules/xmemcoll: Likewise.
92738
92739 2003-07-22  Paul Eggert  <eggert@twinsun.com>
92740
92741         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
92742         over-parenthesization in macros.
92743
92744         Sync with coreutils.
92745
92746         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
92747         required by C99.
92748
92749         Use `exit_failure' for xalloc and xmemcoll instead of their own
92750         private exit-failure variables.
92751         * lib/xalloc.h (xalloc_exit_failure): Remove.
92752         * lib/xmalloc.c: Likewise.  Include exitfail.h.
92753         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
92754         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
92755         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
92756         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
92757
92758 2003-07-20  Jim Meyering  <jim@meyering.net>
92759
92760         * modules/closeout (Depends-on): Add exitfail.
92761         Suggestion from Bruno Haible.
92762
92763 2003-07-19  Karl Berry  <karl@gnu.org>
92764
92765         * config/config.sub: update from prep.
92766
92767 2003-07-18  Paul Eggert  <eggert@twinsun.com>
92768
92769         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
92770         Remove.
92771         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
92772         to test that it can stand by itself.  Include "exitfail.h".
92773         Clients should set exit_failure instead.
92774         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
92775
92776 2003-07-18  Bruno Haible  <bruno@clisp.org>
92777
92778         * modules/getndelim2: New file.
92779         * modules/getline: Share files with module getndelim2.
92780         * modules/getnline: Depend on getndelim2 instead of sharing files with
92781         it. Add getnline.c to lib_SOURCES.
92782         * MODULES.html.sh (func_all_modules): Add getndelim2.
92783
92784 2003-07-18  Bruno Haible  <bruno@clisp.org>
92785
92786         * m4/getndelim2.m4: New file.
92787         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
92788         invoke gl_PREREQ_GETNDELIM2.
92789         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
92790         gl_PREREQ_GETNDELIM2.
92791         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
92792         gl_GETNDELIM2.
92793
92794 2003-07-18  Bruno Haible  <bruno@clisp.org>
92795
92796         * lib/getndelim2.h: New file.
92797         * lib/getndelim2.c: Make into a module of its own. Include config.h,
92798         getndelim2.h.
92799         (getndelim2): Make non-static. Change return type to ssize_t.
92800         * lib/getline.h: Change argument names.
92801         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
92802         * lib/getnline.c: Include getndelim2.h.
92803
92804 2003-07-18  Andreas Schwab  <schwab@suse.de>
92805
92806         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
92807
92808 2003-07-17  Karl Berry  <karl@gnu.org>
92809
92810         * config/config.sub: update from prep.
92811
92812 2003-07-17  Bruno Haible  <bruno@clisp.org>
92813
92814         * modules/getnline: New file.
92815         * modules/getline: Add lib/getndelim2.c to source file list.
92816         * MODULES.html.sh (func_all_modules): Add getnline.
92817
92818 2003-07-17  Bruno Haible  <bruno@clisp.org>
92819
92820         * m4/getnline.m4: New file.
92821
92822 2003-07-17  Bruno Haible  <bruno@clisp.org>
92823
92824         * m4/Makefile.am.in: Remove file.
92825         * m4/Makefile.am: Remove file.
92826         * m4/Makefile.in: Remove file.
92827
92828 2003-07-17  Bruno Haible  <bruno@clisp.org>
92829
92830         * lib/getnline.h: New file.
92831         * lib/getnline.c: New file.
92832         * lib/getndelim2.c: New file, extracted from getline.c.
92833         (getndelim2): Renamed from getdelim2, with added nmax argument.
92834         * lib/getline.c: Include getndelim2.c.
92835         (getdelim2): Moved out to getndelim2.c.
92836         (getline, getdelim): Update.
92837
92838 2003-07-17  Bruno Haible  <bruno@clisp.org>
92839
92840         * lib/Makefile.am: Remove file.
92841         * lib/Makefile.in: Remove file.
92842
92843 2003-07-17  Bruno Haible  <bruno@clisp.org>
92844
92845         * configure.in: Remove file.
92846         * Makefile.in: Remove file.
92847
92848 2003-07-17  Bruno Haible  <bruno@clisp.org>
92849
92850         * MODULES.html.sh: Put the </BODY> right before </HTML>.
92851
92852 2003-07-16  Karl Berry  <karl@gnu.org>
92853
92854         * config/srclist-update: was running fixlicense twice, which caused
92855                 texinfo.tex to be nullified for some reason.  Simplify,
92856                 $gplsrc is no longer needed as far as I can see?
92857
92858 2003-07-16  Jim Meyering  <jim@meyering.net>
92859
92860         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
92861
92862 2003-07-15  Paul Eggert  <eggert@twinsun.com>
92863
92864         * config/srclist.txt: Get the following files from gettext-runtime/intl
92865         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
92866         ref-del.sin.  From Bruno Haible.
92867         * config/srclist-update (fixfile): Change grep pattern again, since the
92868         previous fix didn't work (there was another trailing $).  Use
92869         '[$]' to escape the $s.
92870
92871 2003-07-15  Karl Berry  <karl@gnu.org>
92872
92873         * lib/vasnprintf.c: update from gettext.
92874
92875 2003-07-15  Karl Berry  <karl@gnu.org>
92876
92877         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
92878         gets expanded when surrounded by '$'.
92879
92880 2003-07-15  Jim Meyering  <jim@meyering.net>
92881
92882         * modules/save-cwd: Don't depend on error.  From Derek Price.
92883
92884 2003-07-15  Jim Meyering  <jim@meyering.net>
92885
92886         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
92887
92888 2003-07-14  Simon Josefsson  <jas@extundo.com>
92889
92890         * modules/mempcpy: New file.
92891         * MODULES.html.sh (func_all_modules): Add mempcpy.
92892
92893 2003-07-14  Simon Josefsson  <jas@extundo.com>
92894
92895         * m4/mempcpy.m4: New file.
92896
92897 2003-07-14  Simon Josefsson  <jas@extundo.com>
92898
92899         * lib/mempcpy.h: New file.
92900         * lib/mempcpy.c: New file.
92901
92902 2003-07-14  Paul Eggert  <eggert@twinsun.com>
92903
92904         * modules/getdate, modules/posixtm: Depend on mktime.
92905
92906 2003-07-14  Paul Eggert  <eggert@twinsun.com>
92907
92908         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
92909         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
92910         unicodeio.c, unicodeio.h, unlocked-io.h:
92911         Switch from LGPL to GPL.
92912
92913 2003-07-14  Paul Eggert  <eggert@twinsun.com>
92914
92915         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
92916         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
92917         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
92918         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
92919         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
92920         updated automatically by ../config/srclist-update.  This changes
92921         their license from LPGL to GPL.
92922
92923 2003-07-14  Paul Eggert  <eggert@twinsun.com>
92924
92925         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
92926         assumed to refer to the root of the most recent stable gettext version.
92927         * config/srclistvars.sh: Add defaults for eggert.
92928         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
92929         Match "This program" as well as "The program".  This is needed
92930         for gettext.
92931
92932 2003-07-14  Jim Meyering  <jim@meyering.net>
92933
92934         Don't emit diagnostics.  Let callers do that.
92935         * lib/save-cwd.c: Don't include "error.h".
92936         (save_cwd): Don't call error.  Ensure that errno is valid
92937         when returning nonzero.
92938
92939         * lib/save-cwd.h (restore_cwd): Update prototype.
92940         * lib/save-cwd.c (restore_cwd): Remove two parameters.
92941         Simplify.  Don't call error upon failure.  Let callers do that.
92942         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
92943         when auditing is enabled.  But don't bother updating the #if.
92944
92945 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
92946
92947         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
92948         it breaks C++ compilation.
92949         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
92950
92951 2003-07-10  Simon Josefsson  <jas@extundo.com>
92952
92953         * modules/strchrnul (Makefile.am): Add strchrnul.h.
92954
92955 2003-07-10  Jim Meyering  <jim@meyering.net>
92956
92957         * m4/clock_time.m4: Remove trailing blank.
92958         * m4/intmax_t.m4: Likewise.
92959
92960 2003-07-10  Jim Meyering  <jim@meyering.net>
92961
92962         * lib/vasnprintf.c: Remove trailing blanks.
92963         Make cpp indentation consistent.
92964
92965 2003-07-09  Paul Eggert  <eggert@twinsun.com>
92966
92967         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
92968         posixver.c, strftime.c, strnlen.c, strverscmp.c:
92969         Switch from LGPL to GPL.
92970
92971 2003-07-09  Paul Eggert  <eggert@twinsun.com>
92972
92973         * config/srclist.txt: Sort sublists.  Add
92974         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
92975         that differ from gnulib for one reason or another; we'd like this list
92976         to be smaller but for now let's document what we have.
92977
92978 2003-07-08  Paul Eggert  <eggert@twinsun.com>
92979
92980         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
92981         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
92982         and sweeter "eval x=$x".
92983         * config/srclist.txt: Get lib/argp* from glibc.
92984
92985 2003-07-07  Paul Eggert  <eggert@twinsun.com>
92986
92987         * lib/mktime.c: Fix some boundary cases and remove need for floating
92988         point.
92989
92990         Issue a compile-time diagnostic if time_t is floating point, or if
92991         two's complement arithmetic is not in effect, or if arithmetic
92992         right shift does not propagate the sign.  These assumptions were
92993         all in the original code but they weren't checked.
92994
92995         (TIME_T_MIDPOINT, verify): New macros.
92996         (__isleap): Remove; it has integer overflow problems.
92997         (leapyear): New function, without those problems.
92998         (ydhms_tm_diff): Remove; splitting into two parts.
92999         (ydhms_diff): New function, containing the arithmetic part of
93000         the old ydhms_tm_diff function.  Issue a compile-time
93001         diagnostic if we are not using C99 integer division.
93002         Avoid casts when possible.
93003         (guess_time_tm): New function, containing the checking part of
93004         the old ydhms_tm_diff function.  Return the new value, rather than
93005         the difference between it and the old.  Accept a new argument T
93006         so that *T specifies the old value.  Check for overflow in the result.
93007
93008         (__mktime_internal): Use a time_t offset, not a long int offset.
93009         This undoes the 2003-06-04 change, which is no longer needed now
93010         that we have better overflow checking.
93011         (localtime_offset): Likewise.
93012
93013         (__mktime_internal): Avoid harmful overflow on hosts where time_t
93014         and long are 64-bit but int is only 32-bit.
93015         (ydhms_diff): Use long int to store year1 and yday1.
93016         Issue a compile-time diagnostic if long int is not wide enough.
93017
93018         (__mktime_internal): Use long int to store adjusted year and yday.
93019         Use plain C rather than preprocessor commands, if that doesn't
93020         affect efficiency.
93021         Check for overflow (and try to repair) after each probe
93022         rather than checking only at the very end.  This avoids some bugs
93023         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
93024         does not equal GMT offset at maximum time).
93025         Use integer to check for overflow rather than floating point; this
93026         is more portable to non-IEEE hosts, and is a tad faster.
93027         When we detect that we are oscillating between two values,
93028         don't check whether tm_isdst has the requested value, since
93029         we already know the answer.  When tm_isdst has the wrong value,
93030         use a different heuristic to find the right one, based on the
93031         extreme values actually observed in practice in tz2003a,
93032         rather than the (overly optimistic) "previous 3 calendar quarters".
93033
93034         (not_equal_tm, print_tm, check_result): Use "const T" rather than
93035         "T const" to accommodate glibc style.
93036         (check_result): Use less-confusing report format.  "long" -> "long int.
93037         (main): Likewise.
93038         Don't loop if the iteration overflows time_t.
93039         Allow a negative step in the iteration.
93040
93041 2003-07-06  Karl Berry  <karl@gnu.org>
93042
93043         * config/depcomp: update from automake.
93044         * config/config.sub: update from prep.
93045
93046 2003-07-03  Karl Berry  <karl@gnu.org>
93047
93048         * config/config.guess: update from prep.
93049
93050 2003-07-01  Paul Eggert  <eggert@twinsun.com>
93051
93052         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
93053         xreadlink.c now includes it unconditionally.
93054
93055 2003-07-01  Paul Eggert  <eggert@twinsun.com>
93056
93057         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
93058         having it depend on HAVE_SYS_TYPES_H.
93059
93060 2003-07-01  Bruno Haible  <bruno@clisp.org>
93061
93062         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
93063         <sys/types.h> should be sufficient.
93064         Reported by Paul Eggert.
93065
93066 2003-06-26  Karl Berry  <karl@gnu.org>
93067
93068         * config/depcomp: update from automake.
93069
93070 2003-06-26  Bruno Haible  <bruno@clisp.org>
93071
93072         * modules/human: Depend on module stdbool.
93073
93074 2003-06-25  Bruno Haible  <bruno@clisp.org>
93075
93076         * modules/readlink: New file.
93077         * modules/xreadlink: Depend on it.
93078         * MODULES.html.sh (func_all_modules): Add readlink.
93079
93080 2003-06-25  Bruno Haible  <bruno@clisp.org>
93081
93082         * m4/readlink.m4: New file.
93083
93084 2003-06-25  Bruno Haible  <bruno@clisp.org>
93085
93086         * lib/readlink.c: New file.
93087
93088 2003-06-22  Karl Berry  <karl@gnu.org>
93089
93090         * config/srclist.txt: update mkinstalldirs from automake.
93091         * config/mkinstalldirs: update.
93092
93093 2003-06-22  Bruno Haible  <bruno@clisp.org>
93094
93095         Portability to mingw32.
93096         * m4/ssize_t.m4: New file, from GNU gettext.
93097         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
93098         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
93099
93100 2003-06-22  Bruno Haible  <bruno@clisp.org>
93101
93102         * modules/safe-read: Add m4/ssize_t.m4.
93103         * modules/xreadlink: Add m4/ssize_t.m4.
93104
93105 2003-06-20  Bruno Haible  <bruno@clisp.org>
93106
93107         Assume C89, so PARAMS isn't needed.
93108         * lib/unicodeio.h (PARAMS): Remove.
93109         * lib/unicodeio.c: Don't use PARAMS.
93110
93111 2003-06-18  Karl Berry  <karl@gnu.org>
93112
93113         * config/config.{guess,sub}: update from prep.
93114
93115 2003-06-18  Jim Meyering  <jim@meyering.net>
93116
93117         Merge changes from coreutils.
93118         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
93119         Remove explicit declarations of xmalloc and realloc.
93120         Include xalloc.h.
93121         (read_utmp): Remove anachronistic cast of xmalloc.
93122
93123 2003-06-17  Paul Eggert  <eggert@twinsun.com>
93124
93125         Assume C89, so PARAMS isn't needed.
93126         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
93127         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
93128         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
93129         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
93130         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
93131         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
93132         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
93133         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
93134         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
93135         lib/xstrtod.h, lib/xstrtol.h: Likewise.
93136         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
93137         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
93138         no longer needed. Anyway, config.h should always be included before any
93139         other file.
93140
93141 2003-06-11  Simon Josefsson  <jas@extundo.com>
93142
93143         * modules/sysexits: New file.
93144         * MODULES.html.sh (func_all_modules): Add sysexits.
93145
93146 2003-06-11  Simon Josefsson  <jas@extundo.com>
93147
93148         * lib/sysexit_.h: New file.
93149
93150 2003-06-11  Derek Price  <derek@ximbiot.com>
93151
93152         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
93153         necessary.
93154
93155 2003-06-11  Bruno Haible  <bruno@clisp.org>
93156
93157         * m4/sysexits.m4: New file.
93158
93159 2003-06-10  Simon Josefsson  <jas@extundo.com>
93160
93161         * lib/argp.h: New file, from glibc.
93162         * lib/argp-ba.c: New file, from glibc.
93163         * lib/argp-eexst.c: New file, from glibc.
93164         * lib/argp-fmtstream.c: New file, from glibc.
93165         * lib/argp-fmtstream.h: New file, from glibc.
93166         * lib/argp-fs-xinl.c: New file, from glibc.
93167         * lib/argp-help.c: New file, from glibc.
93168         * lib/argp-namefrob.h: New file, from glibc.
93169         * lib/argp-parse.c: New file, from glibc.
93170         * lib/argp-pv.c: New file, from glibc.
93171         * lib/argp-pvh.c: New file, from glibc.
93172         * lib/argp-xinl.c: New file, from glibc.
93173
93174 2003-06-10  Simon Josefsson  <jas@extundo.com>
93175
93176         * modules/strchrnul: New file.
93177
93178 2003-06-10  Simon Josefsson  <jas@extundo.com>
93179
93180         * modules/argp: New file.
93181
93182 2003-06-10  Simon Josefsson  <jas@extundo.com>
93183
93184         * m4/strchrnul.m4: New file.
93185
93186 2003-06-10  Simon Josefsson  <jas@extundo.com>
93187
93188         * lib/strchrnul.h: New file.
93189         * lib/strchrnul.c: New file.
93190
93191 2003-06-10  Bruno Haible  <bruno@clisp.org>
93192
93193         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
93194
93195 2003-06-07  Karl Berry  <karl@gnu.org>
93196
93197         * config/config.{guess,sub}: update from prep.
93198
93199 2003-06-07  Jim Meyering  <jim@meyering.net>
93200
93201         * modules/strtod: Use $(...) notation, not @...@ for
93202         AC_REPLACE'd variables.
93203         * modules/localcharset: Likewise.
93204
93205 2003-06-07  Jim Meyering  <jim@meyering.net>
93206
93207         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
93208         in place of my name in the copyright comment.
93209         Remove definition and uses of __P.
93210
93211         From coreutils.
93212         * lib/stat.c: Don't declare xmalloc explicitly.
93213         Instead, include "xalloc.h".
93214         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
93215         xrealloc, and xcalloc return values.
93216         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
93217         Improve comment.
93218         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
93219
93220 2003-06-07  Bruno Haible  <bruno@clisp.org>
93221
93222         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
93223         avoid AC_CONFIG_LINKS.
93224         * modules/fnmatch (Makefile.am): Use explicit creation rule for
93225         fnmatch.h, to avoid AC_CONFIG_LINKS.
93226         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
93227
93228 2003-06-07  Bruno Haible  <bruno@clisp.org>
93229
93230         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
93231         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
93232         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
93233         directory.
93234         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
93235         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
93236         directory.
93237
93238 2003-06-06  Jim Meyering  <jim@meyering.net>
93239
93240         Merge from coreutils.
93241         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
93242         Consolidate declarations and initializations of *_base* locals.
93243
93244         Merge from coreutils.
93245         This avoids a core dump on systems without GNU putenv,
93246         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
93247         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
93248         (unsetenv): New static function, from GNU libc.
93249         (rpl_putenv): Use it.
93250
93251         * lib/modechange.c: Remove trailing blanks.
93252
93253         Merge from coreutils.
93254         * lib/fsusage.c: Remove declaration of statfs.
93255         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
93256
93257         * lib/posixtm.c: Include <stdbool.h> unconditionally.
93258
93259 2003-06-06  Jim Meyering  <jim@meyering.net>
93260
93261         * lib/stdbool_.h: Renamed from stdbool.h.in.
93262
93263 2003-06-06  Jim Meyering  <jim@meyering.net>
93264             Bruno Haible  <bruno@clisp.org>
93265
93266         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
93267         Adjust Makefile.am snippet not to redirect directly to target.
93268         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
93269
93270 2003-06-05  Paul Eggert  <eggert@twinsun.com>
93271
93272         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
93273         mismatch, look in future quarters as well as past.  This fixes a
93274         bug when processing fall-backwards gaps immediately after a long
93275         period of daylight-saving time.
93276
93277         * lib/mktime.c: Assume freestanding C89 or better.
93278         (HAVE_LIMITS_H): Remove.  Assume it's 1.
93279         (__P): Remove; not used.
93280         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
93281         (mktime, not_equal_tm, print_tm, check_result,
93282         main): Use prototypes.  Use const * where appropriate.
93283         (main): Fix typo in testing code that uncovered by above changes.
93284         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
93285
93286 2003-06-04  Paul Eggert  <eggert@twinsun.com>
93287
93288         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
93289         locale.h, localeconv.  This merges changes from coreutils.
93290
93291         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
93292         It can be removed after the next Autoconf is released.
93293         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
93294         needed.
93295
93296 2003-06-04  Paul Eggert  <eggert@twinsun.com>
93297
93298         * lib/mktime.c: Fix Debian bug 177940
93299         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
93300         (localtime_offset): Now long int, not time_t, because we want it
93301         to be guaranteed to be signed.  All uses changed.
93302         (__mktime_internal): If overflow would occur when adding offset,
93303         don't add it.
93304
93305         Merge 'human' changes from coreutils.  Rewrite to support
93306         locale-specific notations like thousands separators.
93307         * lib/human.c: Simplify authorship notice.
93308         Include human.h immediately after config.h.
93309         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
93310         <limits.h>: Do not include, since human.h does.
93311         (SIZE_MAX, UINTMAX_MAX): New macros.
93312         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
93313         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
93314         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
93315         (power_letter): Renamed from suffixes.
93316         (generate_suffix_backwards): Remove.
93317         (adjust_value): Now takes int style (because of human.h changes)
93318         and long double value (for greater precision on some platforms).
93319         (group_number): New function.
93320         (human_readable): Use it.  Use integer options, not enum.
93321         Put the options before the sizes in the arg list.
93322         Support all the new options.
93323         The old human_readable function has been removed;
93324         use inttostr.h instead.
93325         (human_readable, default_block_size, humblock):
93326         Use uintmax_t, not int, for block sizes.
93327         (human_readable_inexact, block_size_types): Remove.
93328         (block_size_opts): New constant.
93329         (human_options): Renamed from human_block_size, with new signature
93330         that allows block sizes up to UINTMAX_MAX.  All callers changed.
93331         * lib/human.h: Add copyright and authorship notice.
93332         Include <limits.h> and <stdbool.h> unconditionally.
93333         (PARAMS): Remove.  All uses removed.
93334         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
93335         (enum human_inexact_style): Remove tag; now a nameless enum.
93336         (human_floor, human_ceiling, human_round_to_even): Now have
93337         values 2, 0, 1 rather than -1, 1, 0.
93338         (human_group_digits, human_suppress_point_zero, human_autoscale,
93339         human_base_1024, human_SI, human_B): New constants.
93340         (human_readable_inexact, human_block_size): Remove.
93341         (human_readable): Size args are now uintmax_t, not int.
93342         (human_options): New decl.
93343
93344         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
93345         unnecessary now that we assume C89 or better.  This change
93346         imported from coreutils.
93347
93348         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
93349         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
93350         in the 2003-05-30 sync from glibc.
93351
93352         .h files should stand alone, but we shouldn't include <sys/types.h>
93353         if we can get away with just <stddef.h>.
93354
93355         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
93356         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
93357         rather than <sys/types.h>, as we merely need size_t.
93358         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
93359         to get size_t.
93360         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
93361         Include <stdio.h>, to get FILE.
93362         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
93363         memcasecmp.h has included <stddef.h> and all we need is size_t.
93364         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
93365         our interface, instead of including <sys/types.h>
93366
93367 2003-06-04  Paul Eggert  <eggert@twinsun.com>
93368
93369         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
93370         now, as glibc mktime is buggy on non-glibc systems.
93371
93372 2003-06-03  Karl Berry  <karl@gnu.org>
93373
93374         * config/config.sub: update from prep.
93375
93376 2003-06-02  Paul Eggert  <eggert@twinsun.com>
93377
93378         [from coreutils]
93379         Fix some minor time-related bugs with POSIX time arguments.
93380         Some valid time stamps were being rejected (notably -1, and
93381         time stamps before 1900 on 64-bit hosts).  And some invalid
93382         time stamps were being accepted, e.g. September 31.
93383
93384         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
93385         that we can return (time_t) -1 successfully.
93386         * lib/posixtm.c: Likewise.
93387         [HAVE_STDBOOL_H]: Include <stdbool.h>.
93388         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
93389         (t): Remove static var.
93390         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
93391         of static var.  All uses changed.
93392         (year): Do not reject years before 1900; they can occur with
93393         64-bit time_t.
93394         (posix_time_parse): Do not check for out-of-range components;
93395         that is now the caller's responsibility, since our checks were
93396         only approximations.
93397         (posixtime): Use mktime to check for out-of-range components,
93398         since it knows them exactly.
93399         If mktime returns (time_t) -1, check whether an error actually occurred
93400         by invoking localtime on -1.
93401         (main) [TEST_POSIXTIME]: Check for input data errors, and report
93402         posixtime failures better.
93403         Improve the test data (in comments only).
93404
93405 2003-06-02  Karl Berry  <karl@gnu.org>
93406
93407         * config/mkinstalldirs (version): new variable.
93408         (--version): new option.
93409         (usage): improve message.
93410
93411 2003-05-30  Karl Berry  <karl@gnu.org>
93412
93413         * lib/mktime.c: update from libc.
93414
93415 2003-05-30  Bruno Haible  <bruno@clisp.org>
93416
93417         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
93418         * config/config.rpath: Upgrade to gettext-0.12.1.
93419
93420 2003-05-30  Bruno Haible  <bruno@clisp.org>
93421
93422         * m4/gettext.m4: Upgrade to gettext-0.12.1.
93423         * m4/nls.m4: New file, from gettext-0.12.1.
93424         * m4/po.m4: New file, from gettext-0.12.1.
93425         * m4/progtest.m4: Upgrade to gettext-0.12.1.
93426
93427 2003-05-30  Bruno Haible  <bruno@clisp.org>
93428
93429         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
93430         * lib/localcharset.h: Likewise.
93431         * lib/localcharset.c: Likewise.
93432
93433 2003-05-29  Karl Berry  <karl@gnu.org>
93434
93435         * config/config.rpath: update from gettext.
93436
93437 2003-05-28  Paul Eggert  <eggert@twinsun.com>
93438
93439         Assume the headers required for C89 freestanding compilers.
93440         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
93441         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
93442         * m4/human.m4 (gl_HUMAN): Likewise.
93443         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
93444         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
93445         * m4/userspec.m4 (gl_USERSPEC): Likewise.
93446         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
93447         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
93448         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
93449
93450 2003-05-28  Paul Eggert  <eggert@twinsun.com>
93451
93452         Assume the headers required for C89 freestanding compilers.
93453         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
93454         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
93455         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
93456         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
93457         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
93458         define, since <limits.h> is guaranteed to do that.
93459         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
93460         * lib/exclude.c: Include <stdbool.h> unconditionally.
93461         * lib/tempname.c: Include <stddef.h> unconditionally.
93462         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
93463         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
93464         <stddef.h> does that.
93465         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
93466         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
93467         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
93468         needed.
93469         * lib/xstrtol.c: Likewise.
93470         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
93471         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
93472
93473         * lib/addext.c (addext): Use assignment rather than cast, to avoid
93474         warnings on some platforms.
93475
93476         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
93477         arbitrarily.
93478
93479 2003-05-26  Jim Meyering  <jim@meyering.net>
93480
93481         Merge in a change from coreutils:
93482         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
93483         that is guaranteed to be `no'.  Use `no_such_member' to indicate
93484         that condition, rather than `-1' which is slightly misleading.
93485         Change the name of the cache variable to have the gl_ prefix.
93486         Prompted by a patch from Richard Dawe for DJGPP.
93487
93488 2003-05-24  Karl Berry  <karl@gnu.org>
93489
93490         * config/config.guess: update from prep.
93491
93492 2003-05-22  Karl Berry  <karl@gnu.org>
93493
93494         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
93495
93496 2003-05-20  Karl Berry  <karl@gnu.org>
93497
93498         * config/config.guess: update from prep.
93499
93500 2003-05-18  Karl Berry  <karl@gnu.org>
93501
93502         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
93503         might actually be set by the user.
93504
93505         * config/depcomp, install-sh, mdate-sh: update from automake.
93506
93507 2003-05-17  Bruno Haible  <bruno@clisp.org>
93508
93509         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
93510         invalid expansion for AC_EGREP_CPP.
93511         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
93512         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
93513         Suggested by Akim Demaille <akim@epita.fr> in
93514         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
93515
93516 2003-05-12  Jim Meyering  <jim@meyering.net>
93517
93518         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
93519         the space-padded-by-default conversion specifiers, %e, %k, %l.
93520
93521 2003-05-12  Bruno Haible  <bruno@clisp.org>
93522
93523         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
93524         the string is longer than 4 KB.
93525
93526 2003-05-11  Karl Berry  <karl@gnu.org>
93527
93528         * config/config.{guess,sub}: update from prep.
93529
93530 2003-05-09  Bruno Haible  <bruno@clisp.org>
93531
93532         * modules/error: Add m4/strerror_r.m4 to file list.
93533
93534 2003-05-03  Bruno Haible  <bruno@clisp.org>
93535
93536         Upgrade to Unicode-4.0.
93537         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
93538         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
93539         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
93540         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
93541         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
93542         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
93543         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
93544         Change width of U+E0100..U+E01EF from 1 to 0.
93545
93546 2003-04-25  Jim Meyering  <jim@meyering.net>
93547
93548         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
93549         of type size_t, not int.
93550
93551 2003-04-25  Bruno Haible  <bruno@clisp.org>
93552
93553         * lib/copy-file.c: Include <stddef.h>, for size_t.
93554
93555 2003-04-21  Paul Eggert  <eggert@twinsun.com>
93556
93557         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
93558         code which expansion is under static control.  Patch imported from
93559         Akim Demaille's patch to Bison; see
93560         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
93561
93562 2003-04-14  Bruno Haible  <bruno@clisp.org>
93563
93564         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
93565
93566 2003-04-11  Jim Meyering  <jim@meyering.net>
93567
93568         Merge changes from Coreutils.
93569
93570         2003-03-22  Jim Meyering  <jim@meyering.net>
93571
93572         * lib/strftime.c (widen): Cast alloca return value to proper type.
93573
93574         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
93575
93576         From GNU libc.
93577         * lib/strftime.c (my_strftime): Handle very large width
93578         specifications for numeric values correctly.  Improve checks for
93579         overflow.
93580
93581         2003-01-19  Jim Meyering  <jim@meyering.net>
93582
93583         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
93584         definitions.
93585         (nl_get_alt_digit) [! defined my_strftime]: Define.
93586         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
93587         _nl_get_alt_digit and _nl_get_walt_digit.
93588
93589         * lib/strftime.c (my_strftime): Merge in locale-related changes from
93590         libc. These changes have no effect outside of _LIBC.
93591
93592 2003-04-10  Bruno Haible  <bruno@clisp.org>
93593
93594         * modules/findprog: New file.
93595         * MODULES.html.sh (func_all_modules): Add it.
93596
93597 2003-04-10  Bruno Haible  <bruno@clisp.org>
93598
93599         * m4/findprog.m4: New file.
93600         * m4/eaccess.m4: New file.
93601
93602 2003-04-10  Bruno Haible  <bruno@clisp.org>
93603
93604         * lib/findprog.h: New file, from GNU gettext.
93605         * lib/findprog.c: New file, from GNU gettext.
93606
93607 2003-04-05  Jim Meyering  <jim@meyering.net>
93608
93609         Merge changes from Coreutils.
93610
93611         * lib/exclude.h (PARAMS): Remove definition and uses.
93612         * lib/exclude.c: Remove uses of `PARAMS'.
93613
93614         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
93615         Add test-cases for DOS filenames. Declare program_name.
93616         (main): Set up program_name.  Patch by Rich Dawe.
93617
93618         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
93619         error from mntctl.
93620         Use mntctl's return value to drive the entry-processing loop, since
93621         we can't rely on the value of the vmt_length member in the last
93622         entry.  On some systems doing so could result in exhausting
93623         virtual memory.  Based in part on a patch from Mike Jetzer.
93624
93625 2003-04-04  Bruno Haible  <bruno@clisp.org>
93626
93627         * modules/linebreak: New file.
93628         * MODULES.html.sh (func_all_modules): Add it.
93629
93630 2003-04-04  Bruno Haible  <bruno@clisp.org>
93631
93632         * m4/linebreak.m4: New file.
93633
93634 2003-04-04  Bruno Haible  <bruno@clisp.org>
93635
93636         * lib/linebreak.h: New file, from GNU gettext.
93637         * lib/linebreak.c: New file, from GNU gettext with slight
93638         modifications.
93639         * lib/lbrkprop.h: New file, from GNU gettext.
93640
93641 2003-04-03  Bruno Haible  <bruno@clisp.org>
93642
93643         * modules/utf8-ucs4: New file.
93644         * modules/utf16-ucs4: New file.
93645         * modules/ucs4-utf8: New file.
93646         * modules/ucs4-utf16: New file.
93647         * MODULES.html.sh (func_all_modules): Add them.
93648
93649 2003-04-03  Bruno Haible  <bruno@clisp.org>
93650
93651         * m4/utf-ucs4.m4: New file.
93652         * m4/ucs4-utf.m4: New file.
93653
93654 2003-04-03  Bruno Haible  <bruno@clisp.org>
93655
93656         * lib/utf8-ucs4.h: New file, from GNU gettext.
93657         * lib/utf16-ucs4.h: New file, from GNU gettext.
93658         * lib/ucs4-utf8.h: New file, from GNU gettext.
93659         * lib/ucs4-utf16.h: New file, from GNU gettext.
93660
93661 2003-04-02  Bruno Haible  <bruno@clisp.org>
93662
93663         * modules/binary-io: New file.
93664         * MODULES.html.sh (func_all_modules): Add it.
93665
93666 2003-04-02  Bruno Haible  <bruno@clisp.org>
93667
93668         * lib/binary-io.h: New file, from GNU gettext.
93669
93670 2003-04-01  Bruno Haible  <bruno@clisp.org>
93671
93672         * modules/pathname: New file.
93673         * MODULES.html.sh (func_all_modules): Add it.
93674
93675 2003-04-01  Bruno Haible  <bruno@clisp.org>
93676
93677         * lib/pathname.h: New file, from GNU gettext.
93678         * lib/concatpath.c: New file, from GNU gettext.
93679
93680 2003-03-30  Bruno Haible  <bruno@clisp.org>
93681
93682         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
93683
93684 2003-03-30  Bruno Haible  <bruno@clisp.org>
93685
93686         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
93687         function chown() doesn't exist.
93688
93689 2003-03-28  Bruno Haible  <bruno@clisp.org>
93690
93691         * modules/copy-file: New file.
93692         * MODULES.html.sh (func_all_modules): Add it.
93693
93694 2003-03-28  Bruno Haible  <bruno@clisp.org>
93695
93696         * m4/copy-file.m4: New file.
93697
93698 2003-03-28  Bruno Haible  <bruno@clisp.org>
93699
93700         * lib/copy-file.h: New file, from GNU gettext.
93701         * lib/copy-file.c: New file, from GNU gettext.
93702
93703 2003-03-18  Jim Meyering  <jim@meyering.net>
93704
93705         * lib/quote.c (quote_n): Fix typo in comment.
93706
93707 2003-03-18  Bruno Haible  <bruno@clisp.org>
93708
93709         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
93710         checking.
93711         * m4/onceonly_2_57.m4: Likewise.
93712
93713 2003-03-17  Bruno Haible  <bruno@clisp.org>
93714
93715         * m4/onceonly.m4: Require autoconf 2.54 or newer.
93716         (m4_quote): Remove macro.
93717         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
93718
93719 2003-03-14  Jim Meyering  <jim@meyering.net>
93720
93721         Merge changes from Coreutils.
93722         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
93723         to be const, in order to avoid warnings.
93724         (obstack_room): Likewise.
93725         (obstack_empty_p): Likewise.
93726
93727 2003-03-14  Bruno Haible  <bruno@clisp.org>
93728
93729         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
93730         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
93731
93732 2003-03-13  Paul Eggert  <eggert@twinsun.com>
93733
93734         Merge changes from Bison.
93735         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
93736         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
93737         when compiling Bison 1.875's `bitset bset = obstack_alloc
93738         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
93739         * lib/hash.c: Include <stdbool.h> unconditionally.
93740
93741 2003-03-13  Paul Eggert  <eggert@twinsun.com>
93742
93743         * m4/onceonly.m4 (m4_quote): New macro.
93744         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
93745         Quote AC_FOREACH variable-expansions properly.
93746
93747 2003-03-13  Paul Eggert  <eggert@twinsun.com>
93748
93749         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
93750
93751 2003-03-09  Paul Eggert  <eggert@twinsun.com>
93752
93753         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
93754         Reported by Bruce Becker; see:
93755         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
93756
93757 2003-03-03  Paul Eggert  <eggert@twinsun.com>
93758             Bruno Haible  <bruno@clisp.org>
93759
93760         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
93761         Reported by John Hughes, see
93762         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
93763
93764 2003-02-20  Bruno Haible  <bruno@clisp.org>
93765
93766         * MODULES.html.sh (func_all_modules): Add poll.
93767
93768 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
93769
93770         * modules/poll: New file.
93771
93772 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
93773
93774         * lib/poll_.h: New file.
93775         * lib/poll.c: New file.
93776
93777 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
93778
93779         * m4/poll.m4: New file.
93780
93781 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
93782
93783         * modules/mathl: New file.
93784
93785 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
93786
93787         * lib/mathl.h: New file.
93788         * lib/acosl.c: New file.
93789         * lib/asinl.c: New file.
93790         * lib/atanl.c: New file.
93791         * lib/ceill.c: New file.
93792         * lib/cosl.c: New file.
93793         * lib/expl.c: New file.
93794         * lib/floorl.c: New file.
93795         * lib/frexpl.c: New file.
93796         * lib/ldexpl.c: New file.
93797         * lib/logl.c: New file.
93798         * lib/sincosl.c: New file.
93799         * lib/sinl.c: New file.
93800         * lib/sqrtl.c: New file.
93801         * lib/tanl.c: New file.
93802         * lib/trigl.c: New file.
93803         * lib/trigl.h: New file.
93804
93805 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
93806
93807         * m4/mathl.m4: New file.
93808
93809 2003-02-18  Bruno Haible  <bruno@clisp.org>
93810
93811         * MODULES.html.sh (func_all_modules): Add mathl.
93812
93813 2003-02-17  Bruno Haible  <bruno@clisp.org>
93814
93815         * modules/mkdtemp: New module.
93816         * MODULES.html.sh (func_all_modules): Add it.
93817
93818 2003-02-17  Bruno Haible  <bruno@clisp.org>
93819
93820         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
93821
93822 2003-02-17  Bruno Haible  <bruno@clisp.org>
93823
93824         * lib/mkdtemp.h: New file, from GNU gettext.
93825         * lib/mkdtemp.c: New file, from GNU gettext.
93826
93827 2003-02-02  Jim Meyering  <jim@meyering.net>
93828
93829         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
93830         e.g. glibc-2.2.93.
93831
93832 2003-01-31  Bruno Haible  <bruno@clisp.org>
93833
93834         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
93835         'rpl_rename'.
93836         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
93837         'rpl_strnlen'.
93838         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
93839         'rpl_strtod'.
93840         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
93841         'rpl_utime'.
93842
93843 2003-01-31  Bruno Haible  <bruno@clisp.org>
93844
93845         * lib/rename.c: #undef rename before defining rpl_rename.
93846         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
93847
93848 2003-01-30  Bruno Haible  <bruno@clisp.org>
93849
93850         * modules/vasnprintf, modules/vasprintf: New modules.
93851         * MODULES.html.sh (func_all_modules): Add them.
93852
93853 2003-01-30  Bruno Haible  <bruno@clisp.org>
93854
93855         * m4/signed.m4: New file, from GNU gettext.
93856         * m4/longdouble.m4: New file, from GNU gettext.
93857         * m4/wchar_t.m4: New file, from GNU gettext.
93858         * m4/wint_t.m4: New file, from GNU gettext.
93859         * m4/vasnprintf.m4: New file.
93860         * m4/vasprintf.m4: New file.
93861
93862 2003-01-30  Bruno Haible  <bruno@clisp.org>
93863
93864         * lib/printf-args.h: New file, from GNU gettext.
93865         * lib/printf-args.c: New file, from GNU gettext.
93866         * lib/printf-parse.h: New file, from GNU gettext.
93867         * lib/printf-parse.c: New file, from GNU gettext.
93868         * lib/vasnprintf.h: New file, from GNU gettext.
93869         * lib/vasnprintf.c: New file, from GNU gettext.
93870         * lib/asnprintf.c: New file, from GNU gettext.
93871         * lib/vasprintf.h: New file, from GNU gettext with modifications.
93872         * lib/vasprintf.c: New file, from GNU gettext.
93873         * lib/asprintf.c: New file, from GNU gettext.
93874
93875 2003-01-29  Bruno Haible  <bruno@clisp.org>
93876
93877         * modules/stpncpy: New module.
93878         * MODULES.html.sh (func_all_modules): Add it.
93879
93880 2003-01-29  Bruno Haible  <bruno@clisp.org>
93881
93882         * m4/stpncpy.m4: New file.
93883
93884 2003-01-29  Bruno Haible  <bruno@clisp.org>
93885
93886         * lib/stpncpy.h: New file, from GNU gettext with modifications.
93887         * lib/stpncpy.c: New file, from GNU gettext with modifications.
93888
93889 2003-01-28  Bruno Haible  <bruno@clisp.org>
93890
93891         * modules/c-ctype: New module.
93892         * MODULES.html.sh (func_all_modules): Add it.
93893
93894 2003-01-28  Bruno Haible  <bruno@clisp.org>
93895
93896         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
93897         Paul Eggert.
93898         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
93899         Paul Eggert.
93900
93901 2003-01-27  Bruno Haible  <bruno@clisp.org>
93902
93903         * modules/xsetenv: New module.
93904         * MODULES.html.sh (func_all_modules): Add it.
93905
93906 2003-01-27  Bruno Haible  <bruno@clisp.org>
93907
93908         * lib/xsetenv.h: New file, from GNU gettext.
93909         * lib/xsetenv.c: New file, from GNU gettext.
93910
93911 2003-01-23  Jim Meyering  <jim@meyering.net>
93912
93913         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
93914         from working on systems without dirfd (at least Irix and OSF1/Tru64).
93915
93916 2003-01-23  Bruno Haible  <bruno@clisp.org>
93917
93918         * modules/minmax: New module.
93919         * MODULES.html.sh (func_all_modules): Add it.
93920
93921 2003-01-23  Bruno Haible  <bruno@clisp.org>
93922
93923         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
93924         Eggert.
93925
93926 2003-01-22  Bruno Haible  <bruno@clisp.org>
93927
93928         * modules/exit: New module.
93929         * MODULES.html.sh (func_all_modules): Add it.
93930
93931 2003-01-22  Bruno Haible  <bruno@clisp.org>
93932
93933         * lib/exit.h: New file, from GNU gettext.
93934
93935 2003-01-19  Bruno Haible  <bruno@clisp.org>
93936
93937         * gnulib-tool: Recognize option --extract-maintainer.
93938         (func_get_maintainer): New function.
93939         * modules/*: Add Maintainer entry.
93940
93941 2003-01-16  Jim Meyering  <jim@meyering.net>
93942
93943         * m4/regex.m4: The `regex' struct is both input and output.
93944         Initialize it before each use.  Patch by Tim Waugh.
93945
93946 2003-01-16  Bruno Haible  <bruno@clisp.org>
93947
93948         * MODULES.html.sh: Add a table of contents. Add the module name as
93949         leftmost column. Add hyperlinks.
93950
93951 2003-01-15  Bruno Haible  <bruno@clisp.org>
93952
93953         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
93954
93955 2003-01-15  Bruno Haible  <bruno@clisp.org>
93956
93957         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
93958         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
93959         suffix.
93960
93961 2003-01-15  Bruno Haible  <bruno@clisp.org>
93962
93963         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
93964
93965 2003-01-15  Bruno Haible  <bruno@clisp.org>
93966
93967         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
93968         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
93969
93970 2003-01-14  Jim Meyering  <jim@meyering.net>
93971
93972         * lib/same.c (same_name): Tweak a comment.
93973
93974 2003-01-14  Bruno Haible  <bruno@clisp.org>
93975
93976         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
93977         when a string comparison is sufficient.
93978
93979 2003-01-14  Bruno Haible  <bruno@clisp.org>
93980
93981         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
93982         'unsigned int'.
93983
93984 2003-01-14  Bruno Haible  <bruno@clisp.org>
93985
93986         * lib/hash-pjw.c: Add comment about low quality of this function.
93987
93988 2003-01-13  Bruno Haible  <bruno@clisp.org>
93989
93990         * modules/stpcpy: Distribute lib/stpcpy.h.
93991         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
93992
93993 2003-01-13  Bruno Haible  <bruno@clisp.org>
93994
93995         * modules/*: Add a description.
93996         * modules/strpbrk: Fix Makefile.am snippet.
93997         * modules/strtoimax: Fix dependencies.
93998         * modules/strtoumax: Likewise.
93999
94000 2003-01-13  Bruno Haible  <bruno@clisp.org>
94001
94002         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
94003         * modules/alloca (Makefile.am): All object files depend on alloca.h.
94004         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
94005
94006 2003-01-13  Bruno Haible  <bruno@clisp.org>
94007
94008         * gnulib-tool (func_create_testdir): Store config/* files in the main
94009         directory.
94010         * config.rpath: Move to ...
94011         * config/config.rpath: ... here.
94012         * modules/gettext: Contains config/config.rpath, not config.rpath.
94013         * modules/iconv: Likewise.
94014
94015 2003-01-12  Paul Eggert  <eggert@twinsun.com>
94016
94017         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
94018         to avoid collisions with libcurses and libreadline.
94019
94020         * m4/getstr.m4: Remove.
94021         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
94022
94023 2003-01-12  Paul Eggert  <eggert@twinsun.com>
94024
94025         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
94026         to avoid collisions with libcurses and libreadline.
94027
94028         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
94029         * lib/getstr.h, getstr.c: Remove.
94030         * lib/getline.c: Include "getline.h", to check interface.
94031         Move body of old getstr.c here: this defines MIN_CHUNK and
94032         declares getdelim2, which is renamed from getstr.
94033         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
94034
94035         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
94036         All uses changed.
94037         * lib/linebuffer.h: Likewise.
94038         (readline): Remove backward-compatibility macro.
94039
94040 2003-01-12  Paul Eggert  <eggert@twinsun.com>
94041
94042         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
94043         to avoid collisions with libcurses and libreadline.
94044         * getstr: Remove.
94045         * MODULES.html.sh: Remove getstr.
94046         * modules/getline: Depend on unlocked-io, not getstr.
94047
94048 2003-01-12  Jim Meyering  <jim@meyering.net>
94049
94050         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
94051
94052 2003-01-10  Bruno Haible  <bruno@clisp.org>
94053
94054         * modules/alloca: Change Makefile.am requirements. Simplify Include
94055         requirements. Add lib/alloca_.h to file list.
94056
94057 2003-01-10  Bruno Haible  <bruno@clisp.org>
94058
94059         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
94060
94061 2003-01-10  Bruno Haible  <bruno@clisp.org>
94062
94063         * lib/alloca_.h: New file.
94064         * lib/getdate.y: Unconditionally include alloca.h.
94065         * lib/makepath.c: Likewise.
94066         * lib/setenv.c: Likewise.
94067         * lib/userspec.c: Likewise.
94068
94069 2003-01-09  Karl Berry  <karl@gnu.org>
94070
94071         * MODULES.html.sh: include `dirname $0` in PATH, to find
94072         gnulib-tool.
94073
94074 2003-01-09  Bruno Haible  <bruno@clisp.org>
94075
94076         * modules/stdbool: Change configure.ac, Makefile.am requirements.
94077         Simplify Include requirements. Add lib/stdbool.h.in to file list.
94078
94079 2003-01-09  Bruno Haible  <bruno@clisp.org>
94080
94081         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
94082
94083 2003-01-09  Bruno Haible  <bruno@clisp.org>
94084
94085         * lib/stdbool.h.in: New file.
94086
94087 2003-01-09  Bruno Haible  <bruno@clisp.org>
94088
94089         * gnulib-tool (func_all_modules): Ignore files ending in ~.
94090         * MODULES.html.sh: Likewise.
94091
94092 2003-01-08  Jim Meyering  <jim@meyering.net>
94093
94094         * lib/full-write.c: Undefine and define-away `const' after inclusion
94095         of errno.h, not before.  Suggestion from Bruno Haible.
94096
94097 2003-01-08  Bruno Haible  <bruno@clisp.org>
94098
94099         * modules/full-read: Depend on full-write.
94100
94101 2003-01-08  Bruno Haible  <bruno@clisp.org>
94102
94103         * lib/safe-read.c: Include specification header first, to ensure its
94104         selfcontainedness.
94105         * lib/full-write.c: Likewise.
94106
94107 2003-01-07  Jim Meyering  <jim@meyering.net>
94108
94109         * lib/full-write.c: Rework so that it may serve to define full_read,
94110         too.
94111         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
94112
94113 2003-01-07  Bruno Haible  <bruno@clisp.org>
94114
94115         * lib/strtoimax.c: Include <stdint.h> as an alternative to
94116         <inttypes.h>.
94117         * lib/xstrtol.h: Likewise.
94118         * lib/xstrtoimax.c: Likewise.
94119         * lib/xstrtoumax.c: Likewise.
94120         * lib/human.h: Likewise.
94121
94122         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
94123         on systems that have <inttypes.h> but not <stdint.h>.
94124
94125 2003-01-07  Bruno Haible  <bruno@clisp.org>
94126
94127         * MODULES.html.sh: Add copyright notice.
94128         (missed_files): Omit CVS directory entries.
94129         (func_module): Make it work with sed-3.02.
94130         * MODULES.txt: Remove file.
94131
94132 2003-01-06  Jim Meyering  <jim@meyering.net>
94133
94134         * lib/version-etc.c: Update year in translatable copyright string.
94135
94136 2003-01-03  Karl Berry  <karl@gnu.org>
94137
94138         * config/config.{guess,sub}: update from prep.
94139
94140 2003-01-02  Karl Berry  <karl@gnu.org>
94141
94142         * doc/COPYING.DOC: belatedly updated to 1.2.
94143
94144 2003-01-01  Karl Berry  <karl@gnu.org>
94145
94146         * gnulib-tool (func_verify_module): report module name $module in
94147         error message, not $1.
94148         * gnulib-tool (create-testdir): don't complain if destdir couldn't
94149         be created, only if it doesn't exist.
94150         * gnulib-tool (last_checkin_date): don't expand the $Date here.
94151
94152 2002-12-31  Paul Eggert  <eggert@twinsun.com>
94153
94154         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
94155
94156 2002-12-31  Paul Eggert  <eggert@twinsun.com>
94157
94158         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
94159         memcmp if strcoll doesn't work.
94160
94161 2002-12-31  Bruno Haible  <bruno@clisp.org>
94162
94163         * lib/utime.c (utime_null): No need to call ftruncate if the file was
94164         nonempty.
94165
94166 2002-12-31  Bruno Haible  <bruno@clisp.org>
94167
94168         * lib/memcoll.c (STRCOLL): New macro.
94169         (memcoll): Use it.
94170
94171 2002-12-31  Bruno Haible  <bruno@clisp.org>
94172
94173         * lib/localcharset.h: New file.
94174         * lib/localcharset.c: Include it.
94175         * lib/unicodeio.c: Likewise.
94176
94177 2002-12-31  Bruno Haible  <bruno@clisp.org>
94178
94179         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
94180         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
94181
94182 2002-12-31  Bruno Haible  <bruno@clisp.org>
94183
94184         * lib/getline.h: Include <stddef.h>, for size_t.
94185
94186         * lib/unicodeio.h: Include <stddef.h>, for size_t.
94187         * lib/unicodeio.c: Don't include <stddef.h>.
94188
94189 2002-12-31  Bruno Haible  <bruno@clisp.org>
94190
94191         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
94192         HAVE_TM_ZONE.
94193
94194 2002-12-24  Karl Berry  <karl@gnu.org>
94195
94196         * config/config.guess: update from prep.
94197
94198 2002-12-24  Bruno Haible  <bruno@clisp.org>
94199
94200         General infrasructure.
94201         * m4/README: Rewritten.
94202         * m4/onceonly.m4: New file.
94203         * m4/onceonly_2_57.m4: New file.
94204
94205         Module atexit.
94206         * m4/atexit.m4: New file.
94207
94208         Module strtod.
94209         * m4/strtod.m4: New file.
94210
94211         Module strtol.
94212         * m4/strtol.m4: New file.
94213
94214         Module strtoul.
94215         * m4/strtoul.m4: New file.
94216
94217         Module memchr.
94218         * m4/memchr.m4: New file.
94219
94220         Module memcmp.
94221         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
94222         (jm_FUNC_MEMCMP): Invoke it.
94223
94224         Module memcpy.
94225         * m4/memcpy.m4: New file.
94226
94227         Module memmove.
94228         * m4/memmove.m4: New file.
94229
94230         Module memset.
94231         * m4/memset.m4: New file.
94232
94233         Module strcspn.
94234         * m4/strcspn.m4: New file.
94235
94236         Module strpbrk.
94237         * m4/strpbrk.m4: New file.
94238
94239         Module strstr.
94240         * m4/strstr.m4: New file.
94241
94242         Module strerror.
94243         * m4/strerror.m4: New file.
94244
94245         Module mktime.
94246         * m4/mktime.m4: Renamed from jm-mktime.m4.
94247         (gl_PREREQ_MKTIME): New macro.
94248         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
94249
94250         Module malloc.
94251         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
94252         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
94253         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
94254
94255         Module realloc.
94256         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
94257         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
94258         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
94259
94260         Module strftime.
94261         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
94262         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
94263         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
94264         gl_TM_GMTOFF.
94265         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
94266
94267         Module xalloc.
94268         * m4/xalloc.m4: New file.
94269
94270         Module alloca.
94271         * m4/alloca.m4: New file.
94272
94273         Module putenv.
94274         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
94275         (jm_FUNC_PUTENV): Invoke it.
94276
94277         Module setenv.
94278         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
94279         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
94280         when invoked twice.
94281         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
94282         gt_FUNC_SETENV.
94283
94284         Module memrchr.
94285         * m4/memrchr.m4: New file.
94286
94287         Module stpcpy.
94288         * m4/stpcpy.m4: New file.
94289
94290         Module strcase.
94291         * m4/strcase.m4: New file.
94292
94293         Module strdup.
94294         * m4/strdup.m4: New file.
94295
94296         Module strnlen.
94297         * m4/strnlen.m4: New file.
94298
94299         Module strndup.
94300         * m4/strndup.m4: New file.
94301
94302         Module xstrtod.
94303         * m4/xstrtod.m4: New file.
94304
94305         Module xstrtol.
94306         * m4/xstrtol.m4: New file.
94307
94308         Module getdate.
94309         * m4/getdate.m4: New file.
94310
94311         Module unlocked-io.
94312         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
94313         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
94314         * m4/jm-glibc-io.m4n: Remove file.
94315
94316         Module long-options.
94317         * m4/long-options.m4: New file.
94318
94319         Module md5.
94320         * m4/md5.m4: New file.
94321
94322         Module sha.
94323         * m4/sha.m4: New file.
94324
94325         Module getstr.
94326         * m4/getstr.m4: New file.
94327
94328         Module getline.
94329         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
94330         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
94331         <sys/types.h>, for size_t. Use the function name gnu_getline, not
94332         simply getline. Infoke gl_PREREQ_GETLINE.
94333
94334         Module obstack.
94335         * m4/obstack.m4: New file.
94336
94337         Module hash.
94338         * m4/hash.m4: New file.
94339
94340         Module readtokens.
94341         * m4/readtokens.m4: New file.
94342
94343         Module strverscmp.
94344         * m4/strverscmp.m4: New file.
94345
94346         Module stdbool.
94347         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
94348         OSF/1.
94349
94350         Module strtoll.
94351         * m4/strtoll.m4: New file.
94352
94353         Module strtoull.
94354         * m4/strtoull.m4: New file.
94355
94356         Module strtoimax.
94357         * m4/strtoimax.m4: New file.
94358
94359         Module strtoumax.
94360         * m4/strtoumax.m4: New file.
94361
94362         Module xstrtoimax.
94363         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
94364         jm_AC_PREREQ_XSTRTOIMAX.
94365         Moved the strtol prerequisites to strtol.m4.
94366         Moved the strtoll prerequisites to strtoll.m4.
94367         Moved the strtoimax prerequisites to strtoimax.m4.
94368
94369         Module xstrtoumax.
94370         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
94371         jm_AC_PREREQ_XSTRTOUMAX.
94372         Moved the strtoul prerequisites to strtoul.m4.
94373         Moved the strtoull prerequisites to strtoull.m4.
94374         Moved the strtoumax prerequisites to strtoumax.m4.
94375
94376         Module chown.
94377         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
94378         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
94379
94380         Module dup2.
94381         * m4/dup2.m4: New file.
94382
94383         Module ftruncate.
94384         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
94385         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
94386
94387         Module getgroups.
94388         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
94389         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
94390
94391         Module gettimeofday.
94392         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
94393         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
94394         gl_PREREQ_GETTIMEOFDAY.
94395
94396         Module mkdir.
94397         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
94398         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
94399
94400         Module mkstemp.
94401         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
94402         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
94403         jm_AC_TYPE_UINTMAX_T.
94404         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
94405
94406         Module stat.
94407         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
94408         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
94409
94410         Module lstat.
94411         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
94412         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
94413
94414         Module timespec.
94415         * m4/timespec.m4 (gl_TIMESPEC): New macro.
94416         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
94417         * m4/st_mtim.m4: Indentation.
94418
94419         Module nanosleep.
94420         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
94421         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
94422         gl_PREREQ_NANOSLEEP.
94423
94424         Module regex.
94425         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
94426         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
94427         (gl_REGEX): New macro.
94428
94429         Module rename.
94430         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
94431         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
94432
94433         Module rmdir.
94434         * m4/rmdir.m4: New file.
94435
94436         Module utime.
94437         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
94438         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
94439         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
94440
94441         Module dirname.
94442         * m4/dirname.m4: New file.
94443
94444         Module getopt.
94445         * m4/getopt.m4: New file.
94446
94447         Module unistd-safer.
94448         * m4/unistd-safer.m4: New file.
94449
94450         Module fnmatch.
94451         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
94452         declaration.
94453         (gl_PREREQ_FNMATCH_EXTRA): New macro.
94454         (gl_FUNC_FNMATCH_POSIX): New macro.
94455         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
94456         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
94457         simply fnmatch.
94458
94459         Module exclude.
94460         * m4/exclude.m4: New file.
94461
94462         Module human.
94463         * m4/human.m4: New file.
94464
94465         Module acl.
94466         * m4/acl.m4: Nop.
94467
94468         Module backupfile.
94469         * m4/backupfile.m4: New file.
94470         * m4/d-ino.m4: Indentation.
94471
94472         Module fsusage.
94473         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
94474         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
94475         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
94476
94477         Module dirfd.
94478         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
94479         requirements.
94480
94481         Module euidaccess.
94482         * m4/euidaccess.m4: New file.
94483
94484         Module file-type.
94485         * m4/file-type.m4: New file.
94486
94487         Module fileblocks.
94488         * m4/fileblocks.m4: New file.
94489
94490         Module filemode.
94491         * m4/filemode.m4: New file.
94492
94493         Module isdir.
94494         * m4/isdir.m4: New file.
94495
94496         Module lchown.
94497         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
94498         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
94499
94500         Module makepath.
94501         * m4/makepath.m4: New file.
94502
94503         Module modechange.
94504         * m4/modechange.m4: New file.
94505
94506         Module mountlist.
94507         * m4/mountlist.m4: New file.
94508         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
94509         Indentation.
94510
94511         Module path-concat.
94512         * m4/path-concat.m4: New file.
94513
94514         Module pathmax.
94515         * m4/pathmax.m4: New file.
94516
94517         Module same.
94518         * m4/same.m4: New file.
94519
94520         Module save-cwd.
94521         * m4/save-cwd.m4: New file.
94522
94523         Module savedir.
94524         * m4/savedir.m4: New file.
94525
94526         Module xgetcwd.
94527         * m4/xgetcwd.m4: New file.
94528         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
94529
94530         Module xreadlink.
94531         * m4/xreadlink.m4: New file.
94532
94533         Module safe-read.
94534         * m4/safe-read.m4: New file.
94535
94536         Module safe-write.
94537         * m4/safe-write.m4: New file.
94538
94539         Module closeout.
94540         * m4/closeout.m4: New file.
94541
94542         Module stdio-safer.
94543         * m4/stdio-safer.m4: New file.
94544
94545         Module getpass.
94546         * m4/getpass.m4: New file.
94547
94548         Module getugroups.
94549         * m4/getugroups.m4: New file.
94550
94551         Module group-member.
94552         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
94553         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
94554
94555         Module idcache.
94556         * m4/idcache.m4: New file.
94557
94558         Module userspec.
94559         * m4/userspec.m4: New file.
94560
94561         Module gettime.
94562         * m4/clock_time.m4: New file.
94563         * m4/gettime.m4: New file.
94564
94565         Module settime.
94566         * m4/settime.m4: New file.
94567
94568         Module posixtm.
94569         * m4/posixtm.m4: New file.
94570
94571         Module gethostname.
94572         * m4/gethostname.m4: New file.
94573
94574         Module canon-host.
94575         * m4/canon-host.m4: New file.
94576
94577         Module gettext.
94578         * m4/codeset.m4: New file, from gettext-0.11.5.
94579         * m4/gettext.m4: New file, from gettext-0.11.5.
94580         * m4/glibc21.m4: New file, from gettext-0.11.5.
94581         * m4/iconv.m4: New file, from gettext-0.11.5.
94582         * m4/intdiv0.m4: New file, from gettext-0.11.5.
94583         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
94584         * m4/inttypes.m4: New file, from gettext-0.11.5.
94585         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
94586         * m4/isc-posix.m4: New file, from gettext-0.11.5.
94587         * m4/lcmessage.m4: New file, from gettext-0.11.5.
94588         * m4/lib-ld.m4: New file, from gettext-0.11.5.
94589         * m4/lib-link.m4: New file, from gettext-0.11.5.
94590         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
94591         * m4/progtest.m4: New file, from gettext-0.11.5.
94592         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
94593         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
94594         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
94595
94596         Module localcharset.
94597         * m4/localcharset.m4: New file.
94598
94599         Module hard-locale.
94600         * m4/hard-locale.m4: New file.
94601
94602         Module mbswidth.
94603         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
94604         onceonly macros.
94605         * m4/mbrtowc.m4: Add comment.
94606
94607         Module memcasecmp.
94608         * m4/memcasecmp.m4: New file.
94609
94610         Module memcoll.
94611         * m4/memcoll.m4: New file.
94612
94613         Module unicodeio.
94614         * m4/unicodeio.m4: New file.
94615
94616         Module rpmatch.
94617         * m4/rpmatch.m4: New file.
94618
94619         Module yesno.
94620         * m4/yesno.m4: New file.
94621
94622         Module exitfail.
94623         * m4/exitfail.m4: New file.
94624
94625         Module c-stack.
94626         * m4/c-stack.m4 (gl_C_STACK): New macro.
94627         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
94628
94629         Module error.
94630         * m4/error.m4 (gl_ERROR): New macro.
94631         (jm_PREREQ_ERROR): Use onceonly macros.
94632
94633         Module fatal.
94634         * m4/fatal.m4: New file.
94635
94636         Module getloadavg.
94637         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
94638         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
94639
94640         Module getpagesize.
94641         * m4/getpagesize.m4: New file.
94642
94643         Module getusershell.
94644         * m4/getusershell.m4: New file.
94645
94646         Module physmem.
94647         * m4/physmem.m4: New file.
94648
94649         Module posixver.
94650         * m4/posixver.m4: New file.
94651
94652         Module quotearg.
94653         * m4/quotearg.m4: New file.
94654
94655         Module quote.
94656         * m4/quote.m4: New file.
94657
94658         Module readutmp.
94659         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
94660
94661         Module sig2str.
94662         * m4/sig2str.m4: New file.
94663
94664         Other.
94665         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
94666         ulonglong.m4.
94667         * m4/intmax_t.m4: New file.
94668         * m4/d-type.m4: Indentation.
94669         * m4/jm-macros.m4: Update.
94670         * m4/prereq.m4 (jm_PREREQ): Update.
94671         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
94672         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
94673         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
94674         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
94675         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
94676         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
94677         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
94678         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
94679         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
94680         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
94681         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
94682         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
94683         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
94684         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
94685         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
94686         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
94687         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
94688         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
94689         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
94690
94691 2002-12-24  Bruno Haible  <bruno@clisp.org>
94692
94693         * MODULES.txt: Update according to m4/ changes.
94694
94695         Module gettext.
94696         * config.rpath: New file, from gettext-0.11.5.
94697
94698         * modules/*: New module descriptions.
94699         * gnulib-tool: New file.
94700         * MODULES.html.sh: New file.
94701
94702 2002-12-21  Karl Berry  <karl@gnu.org>
94703
94704         * doc/fdl.texi: update to version 1.2.
94705
94706 2002-12-19  Karl Berry  <karl@gnu.org>
94707
94708         * config/config.guess: update from prep.
94709
94710 2002-12-18  Bruno Haible  <bruno@clisp.org>
94711
94712         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
94713         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
94714
94715 2002-12-17  Bruno Haible  <bruno@clisp.org>
94716
94717         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
94718         stdlib.h, string.h.
94719
94720 2002-12-17  Bruno Haible  <bruno@clisp.org>
94721
94722         * lib/canon-host.c (strdup): Remove unused declaration.
94723
94724         * lib/fsusage.c: Include full_read.h.
94725         (get_fs_usage): Use full_read instead of safe_read.
94726
94727         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
94728
94729 2002-12-12  Karl Berry  <karl@gnu.org>
94730
94731         * config/config.guess: update from prep.
94732
94733 2002-12-11  Bruno Haible  <bruno@clisp.org>
94734
94735         * m4/setenv.m4: New file, from gettext-0.11.5.
94736
94737 2002-12-11  Bruno Haible  <bruno@clisp.org>
94738
94739         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
94740         not unsetenv().
94741         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
94742         modifications:
94743
94744         2002-12-11  Bruno Haible  <bruno@clisp.org>
94745
94746                 * setenv.c (alloca): Fall back to malloc.
94747                 (freea): New macro.
94748                 (setenv): Use freea() to free memory allocated with alloca().
94749
94750         2002-11-13  Bruno Haible  <bruno@clisp.org>
94751
94752                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
94753                 function declarations.
94754                 * unsetenv.c (unsetenv): Likewise.
94755
94756         2002-03-04  Bruno Haible  <bruno@clisp.org>
94757
94758                 Portability to AIX 4.3.3.
94759                 * unsetenv.c: New file, extracted from setenv.c.
94760                 * setenv.c: Move the unsetenv() function to unsetenv.c.
94761
94762         2001-12-20  Bruno Haible  <bruno@clisp.org>
94763
94764                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
94765                 use malloc instead. For SunOS 4.
94766
94767         2001-12-11  Bruno Haible  <bruno@clisp.org>
94768
94769                 * setenv.c: Declare alloca.
94770                 (compar_fn_t): New typedef.
94771                 (KNOWN_VALUE, STORE_VALUE): Use it.
94772
94773         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
94774         setenv.h.
94775
94776 2002-12-10  Paul Eggert  <eggert@twinsun.com>
94777
94778         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
94779         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
94780         Choose values that are less likely to collide with system fnmatch
94781         options.
94782         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
94783         defined (e.g., a pure POSIX system).
94784         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
94785         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
94786
94787 2002-12-06  Paul Eggert  <eggert@twinsun.com>
94788
94789         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
94790         a pain in practice to deal with generated m4 files.  This change
94791         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
94792
94793         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
94794         and jm-glibc-io.m4, as they are no longer a special case.
94795         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
94796         kludge and the auto-generation stuff.  Check only whether the
94797         functions are declared, not whether they exist, since older hosts
94798         that don't declare the functions can't use the optimization anyway.
94799
94800 2002-12-06  Jim Meyering  <jim@meyering.net>
94801
94802         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
94803
94804         Merge in changes from libc's misc/error.c, in preparation
94805         for the merge of gnulib's changes back into libc.
94806
94807         * lib/error.c (_): Define only if not already defined.
94808         Move definition to follow all #include directives.
94809         Include unlocked-io.h only if !_LIBC.
94810         [_LIBC]: Include <libio/libioP.h>.
94811         [USE_IN_LIBIO]: Include <libio/iolibio.h>
94812         (fflush): Tweak definition to use INTUSE.
94813         (putc): Define.
94814
94815 2002-12-05  Paul Eggert  <eggert@twinsun.com>
94816
94817         * lib/alloca.c [defined emacs]: Include "lisp.h".
94818         (xalloc_die) [defined emacs]: New macro.
94819         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
94820         [! defined emacs]: Include <xalloc.h>.
94821         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
94822         (pointer): Typedef to POINTER_TYPE *.
94823         (malloc): Remove decl; we now always use xmalloc.
94824         (alloca): Use old-style definition, since Emacs needs this.
94825         Check for arithmetic overflow when computing combined size.
94826
94827 2002-12-04  Paul Eggert  <eggert@twinsun.com>
94828
94829         Do not generate unlocked-io.h automatically, since it's easier to
94830         maintain it by hand.
94831
94832         * lib/unlocked-io.h: New file, from GNU diffutils,
94833         but with proper copyright notice and attribution.
94834         * lib/gen-uio: Remove.
94835         * lib/Makefile.am: Add copyright notice.
94836         (libfetish_a_SOURCES): Add unlocked-io.h.
94837         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
94838         (DISTCLEANFILES, io_functions): Remove macros.
94839         (EXTRA_DIST): Remove gen_uio.
94840         (unlocked-io.h): Remove rule.
94841
94842 2002-12-04  Jim Meyering  <jim@meyering.net>
94843
94844         Reflect the fact that stat.c and lstat.c are no longer generated.
94845         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
94846         (DISTCLEANFILES): Likewise.
94847         (EXTRA_DIST): Likewise.
94848         (all_local): Don't depend on stat.c or lstat.c.
94849         (stat.c, lstat.c): Remove rules.
94850         (EXTRA_DIST): Remove xstat.in.
94851
94852         * lib/xstat.in: Remove file.  Contents moved into stat.c.
94853         * lib/stat.c: New file.  Contents mostly from xstat.in.
94854         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
94855         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
94856
94857         * lib/safe-read.c: Rework so that it may serve to define safe_write,
94858         too.
94859         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
94860
94861 2002-12-03  Jim Meyering  <jim@meyering.net>
94862
94863         * lib/safe-read.c, safe-write.c: Change variable names and comments,
94864         but not semantics, to minimize the differences between these two files.
94865         (safe_read): Change comment to mention SAFE_READ_ERROR.
94866
94867         * lib/safe-read.c (IS_EINTR): Define.
94868         (safe_read): Use IS_EINTR in place of in-function cpp directives.
94869
94870 2002-12-02  Jim Meyering  <jim@meyering.net>
94871
94872         * lib/safe-read.c (EINTR): Define.
94873         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
94874         (INT_MAX): Provide fallback.
94875         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
94876
94877         * lib/safe-read.h (SAFE_READ_ERROR): Define.
94878
94879 2002-12-02  Bruno Haible  <bruno@clisp.org>
94880
94881         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
94882         Define, taken from safe-read.c.
94883         (INT_MAX): Provide fallback.
94884         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
94885         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
94886
94887         * lib/safe-read.c (EINTR): Remove definition.
94888         (safe_read): Don't use EINTR if it is absent.
94889
94890 2002-12-01  Jim Meyering  <jim@meyering.net>
94891
94892         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
94893         zero.
94894         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
94895
94896 2002-11-27  Paul Eggert  <eggert@twinsun.com>
94897
94898         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
94899         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
94900         with `if (! (value < limit)) abort ();', for readability.
94901
94902 2002-11-26  Karl Berry  <karl@gnu.org>
94903
94904         * lib/strdup.c: copy from libc again, with jim's ok.
94905         * lib/.cppi-disable: re-add strdup.c
94906
94907 2002-11-25  Karl Berry  <karl@gnu.org>
94908
94909         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
94910         instead of "strtol.c".
94911
94912 2002-11-25  Karl Berry  <karl@gnu.org>
94913
94914         * config/install-sh: update from automake for variable quoting, $0 in
94915         error msgs, etc.
94916
94917         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
94918         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
94919         entry.
94920
94921 2002-11-25  Jim Meyering  <jim@meyering.net>
94922
94923         * lib/mktime.c: Sync from libc, now that it has the latest fix.
94924
94925 2002-11-24  Karl Berry  <karl@gnu.org>
94926
94927         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
94928         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
94929
94930 2002-11-24  Jim Meyering  <jim@meyering.net>
94931
94932         Update from coreutils:
94933
94934         * lib/mktime.c: Merge in changes from libc.
94935
94936         Avoid a link-time failure on some Linux systems.
94937         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
94938         (otherwise).
94939         (__mon_yday): Declare with the STATIC attribute.
94940         (__mktime_internal): Likewise.
94941         Based on a report from Greg Schafer.
94942
94943 2002-11-23  Jim Meyering  <jim@meyering.net>
94944
94945         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
94946         Use `unsigned', not `int', as type of index.
94947
94948         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
94949
94950         * lib/fsusage.c: Remove unneeded parentheses around operands of
94951         `defined'.
94952
94953 2002-11-22  Paul Eggert  <eggert@twinsun.com>
94954
94955         * lib/quotearg.h: Allow multiple inclusion by surrounding with
94956         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
94957         so that we can be included first.
94958         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
94959         * lib/quotearg.c: Include quotearg.h immediately after config.h.
94960         No need to include stddef.h or sys/types.h any more.
94961         Surround local include files with "", not "<>".
94962         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
94963         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
94964         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
94965         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
94966         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
94967         (ISPRINT): Remove; no longer needed now that we assume C89.
94968
94969         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
94970         Preserve errno.
94971
94972         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
94973         quotearg_char): Use SIZE_MAX rather than
94974         (size_t) -1 when we are talking about "infinity".
94975
94976         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
94977
94978 2002-11-22  Paul Eggert  <eggert@twinsun.com>
94979
94980         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
94981         hint that one should use `if (! x) abort ();' rather than `assert
94982         (x);', and anyway it's one less thing to worry about configuring.
94983         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
94984         hash_rehash, hash_insert): Use abort rather than assert.
94985
94986 2002-11-22  Bruno Haible  <bruno@clisp.org>
94987
94988         * lib/safe-read.h: Assume C89. Add comments.
94989         (safe_read): Change return type to size_t.
94990         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
94991         byte counts > SSIZE_MAX correctly.
94992         * lib/safe-write.h: New file.
94993         * lib/safe-write.c: New file.
94994         * lib/full-read.h: New file.
94995         * lib/full-read.c: New file.
94996         * lib/full-write.h: Assume C89. Add comments.
94997         * lib/full-write.c: Include safe-write.h.
94998         (full_write): Rewritten to use safe_write.
94999         Suggested by Jim Meyering and Paul Eggert.
95000
95001 2002-11-21  Jim Meyering  <jim@meyering.net>
95002
95003         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
95004
95005         Merge in changes from the coreutils.
95006
95007         2002-09-25  Paul Eggert  <eggert@twinsun.com>
95008         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
95009         <stdint.h>.
95010         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
95011         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
95012         int.  Work more efficiently if X is the same width as uintmax_t.
95013         Do not compare X to -1, to avoid bogus compiler warning.
95014         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
95015         Don't assume that f_frsize and f_bsize are the same type.
95016
95017         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
95018         warning on FreeBSD.
95019
95020         * lib/makepath.c (make_path): Restore umask *before* creating the final
95021         component.
95022         (make_path): Minor reformatting.
95023
95024         * lib/xmalloc.c: Adjust to work with new autoconf macros,
95025         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
95026         HAVE_MALLOC/HAVE_REALLOC.
95027
95028         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
95029         dummy ones.  At least on GNU/Linux systems, `auto' means something
95030         else.
95031         From Michael Stone.
95032
95033 2002-11-21  Bruno Haible  <bruno@clisp.org>
95034
95035         Remove case insensitive option matching.
95036         * lib/argmatch.h (argcasematch): Remove declaration.
95037         (ARGCASEMATCH): Remove macro.
95038         (__xargmatch_internal): Remove case_sensitive argument.
95039         (XARGMATCH): Update.
95040         (XARGCASEMATCH): Remove macro.
95041         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
95042         case_sensitive argument.
95043         (argcasematch): Remove function.
95044         (__xargmatch_internal): Remove case_sensitive argument.
95045         (main): Use XARGMATCH instead of XARGCASEMATCH.
95046
95047         * lib/xmalloc.c: Change compile-time error message. Add comment about
95048         required autoconf version.
95049
95050 2002-11-20  Paul Eggert  <eggert@twinsun.com>
95051
95052         Merge argmatch cleanups from Bison.  Assume C89.
95053
95054         * lib/argmatch.c: Include config.h here, not in argmatch.h.
95055         Include stdlib.h, for EXIT_FAILURE.
95056         Always include <string.h>, since we assume C89.
95057         (EXIT_FAILURE): Remove pre-C89 bug workaround.
95058         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
95059         Include <stddef.h> instead, since it's all we need for size_t.
95060         (PARAMS): Remove.  All uses removed.
95061         (ARRAY_CARDINALITY): Do not bother to #undef.
95062         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
95063         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
95064         Remove unnecessary parentheses.
95065         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
95066         Insert necessary parentheses.
95067         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
95068         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
95069
95070 2002-11-19  Bruno Haible  <bruno@clisp.org>
95071
95072         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
95073         * lib/mbswidth.h: Include <stddef.h>, for size_t.
95074
95075         * lib/mbswidth.h (PARAMS): Remove macro.
95076         (mbswidth, mbsnwidth): Use ANSI C function declarations.
95077         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
95078
95079         * lib/gcd.h (PARAMS): Remove macro.
95080         (gcd): Use ANSI C function declarations.
95081         * lib/gcd.c (gcd): Likewise.
95082
95083 2002-11-15  Bruno Haible  <bruno@clisp.org>
95084
95085         * lib/strcspn.c: Include <stddef.h>.
95086         (strcspn): Use ANSI C function declaration. Change return type to
95087         size_t. Use NULL.
95088         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
95089         (strpbrk): Use NULL.
95090         * lib/strpbrk.h (PARAMS): Remove macro.
95091         (strpbrk): Use ANSI C function declaration.
95092         * lib/strstr.c: Don't include <sys/types.h>.
95093         * lib/strstr.h (PARAMS): Remove macro.
95094         (strstr): Use ANSI C function declarations.
95095
95096 2002-11-14  Karl Berry  <karl@gnu.org>
95097
95098         * config/mkinstalldirs: `do' on separate line, instead of
95099         `for var; do'.
95100
95101 2002-11-06  Bruno Haible  <bruno@clisp.org>
95102
95103         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
95104         * lib/gcd.c (gcd): Likewise.
95105
95106 2002-11-05  Bruno Haible  <bruno@clisp.org>
95107
95108         * lib/gcd.h: New file, from gettext-0.11.5.
95109         * lib/gcd.c: New file, from gettext-0.11.5.
95110
95111 2002-11-05  Bruno Haible  <bruno@clisp.org>
95112
95113         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
95114         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
95115         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
95116         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
95117
95118         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
95119         <libintl.h>.
95120         * lib/makepath.c: Include gettext.h instead of <locale.h> and
95121         <libintl.h>.
95122
95123         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
95124         * lib/human.c: Include gettext.h instead of <libintl.h>.
95125         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
95126         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
95127         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
95128         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
95129         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
95130         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
95131         (textdomain): Remove definition.
95132         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
95133
95134         * lib/long-options.c: Remove include of <libintl.h> and definition of
95135         _.
95136         * lib/same.c: Remove include of <libintl.h> and definition of _.
95137
95138 2002-11-04  Owen Taylor  <otaylor@redhat.com>
95139
95140         * lib/config.charset: A few additions for Solaris.
95141
95142 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
95143
95144         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
95145         * lib/localcharset.c (locale_charset): Declare as extern "C".
95146
95147 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
95148
95149         * lib/config.charset: msdos in uk_UA uses CP1125.
95150
95151 2002-11-04  Bruno Haible  <bruno@clisp.org>
95152
95153         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
95154         * lib/strcase.h: New file, from GNU gettext-0.11.5.
95155         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
95156         * lib/strstr.h: New file, from GNU gettext-0.11.5.
95157         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
95158
95159 2002-11-04  Bruno Haible  <bruno@clisp.org>
95160
95161         * lib/localcharset.c (locale_charset): Don't return an empty string.
95162
95163 2002-11-04  Bruno Haible  <bruno@clisp.org>
95164
95165         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
95166         aliases.
95167
95168 2002-11-04  Bruno Haible  <bruno@clisp.org>
95169
95170         * lib/config.charset: Update for newest glibc. Add canonical names
95171         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
95172
95173 2002-11-04  Bruno Haible  <bruno@clisp.org>
95174
95175         * lib/config.charset: Add support for NetBSD.
95176
95177 2002-11-04  Bruno Haible  <bruno@clisp.org>
95178
95179         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
95180
95181 2002-11-01  Bruno Haible  <bruno@clisp.org>
95182
95183         * configure.in: Add AC_CONFIG_AUX_DIR call.
95184         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
95185         test/Makefile.
95186         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
95187
95188 2002-09-28  Karl Berry  <karl@gnu.org>
95189
95190         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
95191         installed automake until the next release, since changes have been
95192         made.
95193
95194 2002-09-25  Karl Berry  <karl@gnu.org>
95195
95196         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
95197         * lib/getopt*: copy from libc/posix.
95198         * lib/gettext.h: copy from gettext.
95199         * lib/.cppi-disable: add strdup.c, gettext.h.
95200
95201 2002-09-25  Karl Berry  <karl@gnu.org>
95202
95203         * config/srclist.txt: enable gettext.h check.
95204         * config/config.{guess,sub}: update from prep.
95205         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
95206                 from automake 1.6.3.
95207         See srclist*.
95208
95209 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
95210
95211         * regex.c (PATFETCH): Remove the translating fetch.
95212         (PATFETCH_RAW): Rename to PATFETCH.
95213         (set_image_of_range): New fun.
95214         (SET_RANGE_TABLE_WORK_AREA): Use it.
95215         (regex_compile): Don't translate the pattern chars so eagerly.
95216         Only do it when inserting an `exactn' bytecode or when handling
95217         a char-range.
95218         (mutually_exclusive_p): Avoid empty statement.
95219
95220 2002-07-06  Jim Meyering  <meyering@lucent.com>
95221
95222         * m4/README: Don't mention Makefile.am.in.
95223         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
95224
95225 2002-07-01  Jim Meyering  <meyering@lucent.com>
95226
95227         * lib/c-stack.c: Include sys/time.h.
95228         From Volker Borchert.
95229
95230 2002-06-26  Paul Eggert  <eggert@twinsun.com>
95231
95232         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
95233
95234 2002-06-26  Paul Eggert  <eggert@twinsun.com>
95235
95236         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
95237         New macro.  Use it uniformly instead of
95238         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
95239         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
95240         reported by Vin Shelton.
95241
95242 2002-06-22  Paul Eggert  <eggert@twinsun.com>
95243
95244         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
95245         Do not assume SA_SIGINFO behavior.
95246         Bug reported by Jim Meyering on NetBSD 1.5.2.
95247
95248 2002-06-22  Jim Meyering  <meyering@lucent.com>
95249
95250         * m4/c-stack.m4: New file, from diffutils-2.8.2.
95251         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
95252
95253         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
95254         now that configure.ac uses AC_GNU_SOURCE.
95255         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
95256         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
95257
95258         Update to latest tools.  Suggestions from Paul Eggert.
95259         * m4/stdbool.m4: New file, from diffutils-2.8.2.
95260         * m4/gnu-source.m4: Update from diffutils-2.8.2.
95261         * m4/fnmatch.m4: Likewise.
95262         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
95263         to AC_HEADER_STDBOOL
95264
95265 2002-06-22  Jim Meyering  <meyering@lucent.com>
95266
95267         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
95268         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
95269
95270 2002-06-22  Jim Meyering  <meyering@lucent.com>
95271
95272         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
95273
95274         * lib/exitfail.c, exitfail.h: Likewise.
95275         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
95276
95277         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
95278         of fnmatch.h.
95279         (EXTRA_DIST): Add fnmatch_loop.c.
95280         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
95281
95282         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
95283         * lib/fnmatch.c: Update from diffutils-2.8.2.
95284         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
95285         * lib/fnmatch.h: Remove file.
95286
95287 2002-06-21  Jim Meyering  <meyering@lucent.com>
95288
95289         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
95290         * m4/mbrtowc.m4: Likewise.
95291
95292         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
95293         * m4/mbswidth.m4: Reflect name change:
95294         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
95295         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
95296
95297         * m4/lib-link.m4: Update from gettext-0.11.2.
95298         * m4/gettext.m4: Likewise.
95299
95300         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
95301         From Alfred M. Szmidt.
95302
95303 2002-06-18  Paul Eggert  <eggert@twinsun.com>
95304
95305         * lib/file-type.h: Report an error if neither S_ISREG nor
95306         S_IFREG is defined, instead of using a test specific to glibc
95307         2.2.  This should be safe, since POSIX requires S_ISREG and
95308         Unix Version 7 had S_IFREG.  We don't need to check for
95309         <sys/types.h> since we don't use any symbols that it defines.
95310
95311 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
95312
95313         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
95314         $@-t, so that each temporary file name is unique and valid in the first
95315         8 characters, for operation under DOS.
95316
95317 2002-06-15  Paul Eggert  <eggert@twinsun.com>
95318
95319         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
95320
95321 2002-06-15  Jim Meyering  <meyering@lucent.com>
95322
95323         Work even with DJGPP 2.03, which lacks support for symlinks.
95324         From Richard Dawe.
95325         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
95326         is defined.
95327         * lib/lchown.c (S_ISLNK): Likewise.
95328
95329 2002-06-15  Jim Meyering  <meyering@lucent.com>
95330
95331         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
95332         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
95333         have been included before this file.
95334
95335 2002-06-14  Jim Meyering  <meyering@lucent.com>
95336
95337         * lib/file-type.h: Use the version from diffutils-2.8.2.
95338         * lib/file-type.c: Likewise.
95339
95340 2002-06-07  Jim Meyering  <meyering@lucent.com>
95341
95342         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
95343         They're needed at least for NetBSD 1.5.2.
95344         ($statxfs_includes): Include those same headers.
95345         ($statxfs_includes): Include sys/vfs.h if available.
95346         ($statxfs_includes): Likewise for sys/statvfs.h.
95347         Check for the following members in both structs statfs and statvfs:
95348         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
95349
95350 2002-06-01  Jim Meyering  <meyering@lucent.com>
95351
95352         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
95353         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
95354
95355 2002-05-28  Jim Meyering  <meyering@lucent.com>
95356
95357         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
95358         Reported by Volker Borchert.
95359
95360 2002-05-27  Jim Meyering  <meyering@lucent.com>
95361
95362         Fix a problem seen only on nonconforming systems whereby ls.c's
95363         use of localtime, and then of gettimeofday would cause trouble:
95364         the localtime call used to initialize rpl_gettimeofday's save
95365         mechanism would clobber ls's current local time information so
95366         that in any long listing the first file would always be listed
95367         with date 1970-01-01.  Analysis by Volker Borchert.
95368
95369         * lib/gettimeofday.c (localtime): Undefine.
95370         (rpl_localtime): New function.
95371
95372 2002-05-27  Jim Meyering  <meyering@lucent.com>
95373
95374         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
95375         localtime.
95376
95377         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
95378         use the replacement function; it wouldn't resolve at link time.
95379         Reported by Volker Borchert.
95380
95381 2002-05-22  Jim Meyering  <meyering@lucent.com>
95382
95383         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
95384         file-type.h.
95385         * lib/file-type.h: New file.
95386         * lib/file-type.c (file_type): New file/function.  Extracted from
95387         diffutils.
95388
95389 2002-04-30  Jim Meyering  <meyering@lucent.com>
95390
95391         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
95392
95393 2002-04-29  Paul Eggert  <eggert@twinsun.com>
95394
95395         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
95396
95397 2002-04-29  Paul Eggert  <eggert@twinsun.com>
95398
95399         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
95400         Do not check for alloca.h (no longer used) or stdbool.h (was never
95401         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
95402
95403 2002-04-29  Paul Eggert  <eggert@twinsun.com>
95404
95405         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
95406
95407 2002-04-29  Jim Meyering  <meyering@lucent.com>
95408
95409         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
95410         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
95411         Use AC_FUNC_STRNLEN here instead.
95412
95413         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
95414         With autoconf-2.53a, it's part of AC_PROG_CC.
95415
95416 2002-04-28  Paul Eggert  <eggert@twinsun.com>
95417
95418         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
95419         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
95420
95421 2002-04-28  Paul Eggert  <eggert@twinsun.com>
95422
95423         * lib/sig2str.h, lib/sig2str.c: New files.
95424         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
95425
95426 2002-04-28  Paul Eggert  <eggert@twinsun.com>
95427
95428         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
95429         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
95430         of 127, since 64 is the largest conceivable number for ancient
95431         nonstandard hosts.
95432         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
95433
95434 2002-04-28  Jim Meyering  <meyering@lucent.com>
95435
95436         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
95437
95438 2002-04-24  Jim Meyering  <meyering@lucent.com>
95439
95440         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
95441         (jm_PREREQ): Use it.
95442
95443         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
95444         mach/mach.h fcntl.h.
95445         Check for this function: setlocale.
95446
95447 2002-04-24  Jim Meyering  <meyering@lucent.com>
95448
95449         * lib/gettext.h: New file, from Gettext.
95450         * lib/Makefile.am (INCLUDES): Remove -I../intl.
95451         (libfetish_a_SOURCES): Add gettext.h.
95452
95453 2002-04-16  Jim Meyering  <meyering@lucent.com>
95454
95455         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
95456         ut_pid, ut_id, ut_exit.
95457
95458 2002-04-16  Jim Meyering  <meyering@lucent.com>
95459
95460         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
95461         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
95462         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
95463
95464 2002-04-12  Jim Meyering  <meyering@lucent.com>
95465
95466         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
95467         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
95468         existence of the getmntinfo function.  Needed for Darwin 5.3.
95469
95470         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
95471         This is necessary at least on Darwin 5.3.
95472
95473         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
95474         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
95475         strnlen.o in the library, and that makes some versions of ranlib
95476         object.
95477
95478 2002-04-12  Jim Meyering  <meyering@lucent.com>
95479
95480         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
95481
95482 2002-04-09  Jim Meyering  <meyering@lucent.com>
95483
95484         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
95485         to be more precise.  Rather than saying we're checking whether the
95486         function `works', say what we're testing.
95487         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
95488         Reported by Bruno Haible.
95489
95490 2002-03-10  Jim Meyering  <meyering@lucent.com>
95491
95492         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
95493         Suggestion from Santiago Vila.
95494
95495 2002-03-08  Jim Meyering  <meyering@lucent.com>
95496
95497         * lib/rename.c: Mention that this wrapper is needed also on
95498         mips-dec-ultrix4.4 systems.
95499
95500 2002-03-02  Jim Meyering  <meyering@lucent.com>
95501
95502         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
95503         not HAVE_CLOCK_SETTIME.
95504
95505 2002-02-27  Paul Eggert  <eggert@twinsun.com>
95506
95507         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
95508         Check for clock_settime.
95509
95510 2002-02-27  Paul Eggert  <eggert@twinsun.com>
95511
95512         * lib/nanosleep.h: Rename to....
95513         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
95514
95515         * lib/gettime.c: New file.
95516         * lib/settime.c: New file.
95517         * lib/stime.c: Remove.
95518
95519         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
95520         timespec.h.  Remove nanosleep.h.
95521
95522 2002-02-25  Paul Eggert  <eggert@twinsun.com>
95523
95524         * m4/acl.m4: New file.
95525         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
95526         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
95527
95528 2002-02-25  Paul Eggert  <eggert@twinsun.com>
95529
95530         * lib/acl.c, lib/acl.h: New files.
95531         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
95532
95533 2002-02-24  Jim Meyering  <meyering@lucent.com>
95534
95535         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
95536         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
95537         cause trouble.  Reported by Nelson Beebe.
95538
95539 2002-02-23  Paul Eggert  <eggert@twinsun.com>
95540
95541         * lib/path-concat.c (xpath_concat): Reorder code to pacify
95542         compilers that don't know that xalloc_die never returns.
95543
95544 2002-02-20  Jim Meyering  <meyering@lucent.com>
95545
95546         * lib/getdate.c: Regenerate using bison-1.33.
95547
95548 2002-02-17  Jim Meyering  <meyering@lucent.com>
95549
95550         * config/config.guess (main): Don't use `head -1'; it's no longer
95551         portable. Use `sed 1q' instead.
95552
95553 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
95554
95555         * m4/codeset.m4: Upgrade to gettext-0.11.
95556         * m4/gettext.m4: Upgrade to gettext-0.11.
95557         * m4/glibc21.m4: Upgrade to gettext-0.11.
95558         * m4/iconv.m4: Upgrade to gettext-0.11.
95559         * m4/isc-posix.m4: Upgrade to gettext-0.11.
95560         * m4/lcmessage.m4: Upgrade to gettext-0.11.
95561         * m4/lib-ld.m4: New file, from gettext-0.11.
95562         * m4/lib-link.m4: New file, from gettext-0.11.
95563         * m4/lib-prefix.m4: New file, from gettext-0.11.
95564         * m4/progtest.m4: Upgrade to gettext-0.11.
95565
95566 2002-02-15  Paul Eggert  <eggert@twinsun.com>
95567
95568         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
95569         (jm_PREREQ): Use it.
95570
95571 2002-02-15  Paul Eggert  <eggert@twinsun.com>
95572
95573         * lib/posixver.c, lib/posixver.h: New files.
95574         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
95575
95576 2002-02-02  Paul Eggert  <eggert@twinsun.com>
95577             Bruno Haible  <bruno@clisp.org>
95578
95579         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
95580         (fwrite_success_callback): New declaration.
95581         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
95582         print_unicode_char. Call failure callback instead of error.
95583         (fwrite_success_callback): New function.
95584         (exit_failure_callback): New function.
95585         (fallback_failure_callback): New function.
95586         (print_unicode_char): Call unicode_to_mb.
95587
95588 2002-01-26  Jim Meyering  <meyering@lucent.com>
95589
95590         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
95591         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
95592
95593 2002-01-26  Jim Meyering  <meyering@lucent.com>
95594
95595         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
95596
95597 2002-01-22  Paul Eggert  <eggert@twinsun.com>
95598
95599         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
95600
95601 2002-01-22  Jim Meyering  <meyering@lucent.com>
95602
95603         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
95604         Otherwise, some versions of automake would omit the rule that makes
95605         Makefile from Makefile.in.
95606
95607 2002-01-21  Paul Eggert  <eggert@twinsun.com>
95608
95609         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
95610         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
95611         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
95612         (memcoll): Set errno to zero if there is no error.
95613
95614         * lib/quotearg.c (quotearg_buffer_restyled):
95615         Fix bug with quoting buffers containing NUL when backslashing escapes.
95616         This bug was exposed by the other changes in this patch.
95617         (quotearg_n_options): New arg ARGSIZE.
95618         All callers changed.
95619         (quoting_options_from_style): New function.
95620         (quotearg_n_style): Use it.
95621         (quotearg_n_style_mem): New function.
95622
95623         * lib/quotearg.h (quotearg_n_style_mem): New function.
95624
95625 2002-01-19  Jim Meyering  <meyering@lucent.com>
95626
95627         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
95628         Remove useless quotes: DF_PROG="df".
95629         * m4/strnlen.m4: New file.
95630
95631 2002-01-16  Paul Eggert  <eggert@twinsun.com>
95632
95633         * lib/backupfile.c (ISDIGIT): Comment fix.
95634         * lib/getdate.y (ISDIGIT): Likewise.
95635         * lib/posixtm.c (ISDIGIT, year): Likewise.
95636         * lib/strverscmp.c (ISDIGIT): Likewise.
95637         * lib/userspec.c (ISDIGIT): Likewise.
95638
95639 2002-01-16  Jim Meyering  <meyering@lucent.com>
95640
95641         * lib/getdate.y: Add three semicolons, each just before a closing
95642         brace. Bison (as of version 1.31) no longer papers over that mistake.
95643
95644 2002-01-05  Jim Meyering  <meyering@lucent.com>
95645
95646         * lib/version-etc.c (version_etc_copyright): Update copyright year.
95647
95648 2001-12-19  Paul Eggert  <eggert@twinsun.com>
95649
95650         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
95651         not silently exit merely because the output buffer happens to
95652         have nothing pending.
95653
95654 2001-12-18  Paul Eggert  <eggert@twinsun.com>
95655
95656         See the big note in ../ChangeLog.
95657         * lib/human.c (suffixes): Prefer K to k for 1024.
95658         (generate_suffix_backwards): New function.
95659         (human_readable_inexact): Use it.
95660         * lib/xstrtol.c (__xstrtol): If there is no number but there
95661         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
95662         Accept 'K' as well as 'k'.
95663
95664 2001-12-15  Jim Meyering  <meyering@lucent.com>
95665
95666         * lib/regex.h (__restrict_arr): Update from libc.
95667
95668         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
95669         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
95670         (STREQ): Define.
95671
95672 2001-12-14  Jim Meyering  <meyering@lucent.com>
95673
95674         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
95675         Suggestion from Bruno Haible.
95676
95677 2001-12-10  Jim Meyering  <meyering@lucent.com>
95678
95679         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
95680         xrealloc, Instead, include "xalloc.h".
95681         (initbuffer): Don't cast xmalloc return value to char*.
95682         (readline): Reword comment.
95683         Don't cast xrealloc return value to char*
95684         Return NULL, not 0.
95685
95686 2001-12-09  Jim Meyering  <meyering@lucent.com>
95687
95688         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
95689         about `signed and unsigned type in conditional expression'.
95690         * lib/posixtm.c (posix_time_parse): Likewise.
95691
95692         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
95693
95694         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
95695         to avoid a pedantic warning.
95696
95697         * lib/getstr.c: Don't include assert.h.
95698         (getstr): Remove warning-evoking assertions.
95699         Return -1 if offset parameter is out of bounds.
95700         Change the type of a local from int to size_t.
95701
95702         * lib/strftime.c (my_strftime_localtime_r): Include this function
95703         definition in the `#if ! HAVE_TM_GMTOFF' block.
95704
95705         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
95706         Include xalloc.h instead.
95707
95708 2001-12-02  Jim Meyering  <meyering@lucent.com>
95709
95710         * lib/tempname.c: Don't declare getenv, thus reverting the change of
95711         2001-11-18.  It's no longer necessary, now that stdlib.h is always
95712         included.
95713
95714         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
95715         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
95716
95717 2001-11-30  Akim Demaille  <akim@epita.fr>
95718
95719         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
95720         before being defined.
95721
95722 2001-11-27  Paul Eggert  <eggert@twinsun.com>
95723
95724         * lib/quotearg.h (quotearg_n, quotearg_n_style):
95725         First arg is int, not unsigned.
95726         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
95727         (SIZE_MAX, UINT_MAX): New macros.
95728         (quotearg_n_options): Abort if N is negative.
95729         Avoid overflow check on hosts where size_t is 64 bits and int
95730         is 32 bits, as overflow is impossible there.
95731         Fix off-by-one typo that caused unnecessary reallocation.
95732
95733 2001-11-27  Jim Meyering  <meyering@lucent.com>
95734
95735         * lib/tempname.c: Merge with version from libc.
95736         * lib/regex.c: Likewise.
95737
95738         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
95739         systems for which STDC_HEADERS is 0, it was not included, resulting in
95740         a warning about an integer-to-pointer conversion problem with getenv.
95741         Reported by Volker Borchert.
95742
95743 2001-11-26  Jim Meyering  <meyering@lucent.com>
95744
95745         * lib/gtod.h: Remove file.
95746         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
95747         * lib/gettimeofday.c: Don't include gtod.h.
95748         (GTOD_init): Remove function.
95749         (rpl_gettimeofday): Do its job here instead, rather than aborting.
95750         Suggestion from Volker Borchert.
95751
95752 2001-11-23  Jim Meyering  <meyering@lucent.com>
95753
95754         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
95755         it.
95756         * lib/hash.c (struct hash_table): Define it here instead.
95757
95758 2001-11-22  Jim Meyering  <meyering@lucent.com>
95759
95760         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
95761
95762 2001-11-20  Jim Meyering  <meyering@lucent.com>
95763
95764         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
95765         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
95766
95767 2001-11-19  Jim Meyering  <meyering@lucent.com>
95768
95769         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
95770         directory.  Use "conftestXXXXXX" as the template.
95771         Suggestion from Paul Eggert.
95772
95773         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
95774         immediately, so the test doesn't mistakenly hit the max-open-files
95775         limit.
95776
95777 2001-11-18  Paul Eggert  <eggert@twinsun.com>
95778
95779         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
95780         (TEMPORARIES): New macro.
95781         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
95782         removes an artificial limitation (e.g. HP-UX 10.20, where
95783         TMP_MAX is 17576).
95784
95785 2001-11-18  Jim Meyering  <meyering@lucent.com>
95786
95787         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
95788
95789 2001-11-18  Jim Meyering  <meyering@lucent.com>
95790
95791         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
95792         on SunOS 4.
95793
95794         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
95795         files will be created before anything else.
95796
95797 2001-11-17  Paul Eggert  <eggert@twinsun.com>
95798
95799         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
95800         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
95801
95802 2001-11-17  Jim Meyering  <meyering@lucent.com>
95803
95804         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
95805         Prompted by a report from Bob Proulx.
95806
95807         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
95808         Instead, require UTILS_FUNC_MKSTEMP.
95809
95810 2001-11-17  Jim Meyering  <meyering@lucent.com>
95811
95812         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
95813         Now, that's done as part of AC_FUNC_STRTOD.
95814
95815 2001-11-17  Jim Meyering  <meyering@lucent.com>
95816
95817         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
95818         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
95819         rather than group writable.  Patch by Juan F. Codagnone.
95820
95821         * lib/readtokens.c: Remove explicit declarations of xmalloc and
95822         xrealloc, Instead, include "xalloc.h".
95823
95824         * lib/mountlist.c: Include unlocked-io.h after all system headers.
95825         Remove explicit declarations of xmalloc, xrealloc,
95826         and xstrdup.  Instead, include "xalloc.h".
95827
95828         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
95829         unlocked-io.h.
95830         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
95831         Likewise.
95832         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
95833
95834         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
95835         Reported by Padraig Brady.
95836
95837         * lib/mkstemp.c: #undef mkstemp.
95838         Include config.h.
95839         (rpl_mkstemp): Rename from mkstemp.
95840         Protoize.
95841
95842 2001-11-16  Jim Meyering  <meyering@lucent.com>
95843
95844         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
95845         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
95846         determine the amount of total physical memory, use pstat_getstatic.
95847         HPUX-11 doesn't define _SC_PHYS_PAGES.
95848         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
95849         If sysconf couldn't be used to determine the amount of available
95850         physical memory, use both pstat_getstatic and pstat_getdynamic.
95851         Based on a patch from Bob Proulx.
95852
95853 2001-11-10  Jim Meyering  <meyering@lucent.com>
95854
95855         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
95856         (jm_PREREQ): Use it.
95857
95858 2001-11-09  Jim Meyering  <meyering@lucent.com>
95859
95860         * m4/jm-macros.m4: Require autoconf-2.52f.
95861         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
95862         Use these AC_-prefixed names, not the AM_-prefixed ones.
95863
95864         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
95865
95866 2001-11-05  Jim Meyering  <meyering@lucent.com>
95867
95868         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
95869
95870 2001-11-04  Jim Meyering  <meyering@lucent.com>
95871
95872         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
95873         $DEFS.
95874
95875 2001-11-03  Jim Meyering  <meyering@lucent.com>
95876
95877         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
95878         of AC_DEFUN.
95879
95880         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
95881         know the name of the variable in the macro definition.
95882
95883 2001-11-03  Jim Meyering  <meyering@lucent.com>
95884
95885         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
95886         in argmatch_to_argument call.
95887
95888         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
95889         argument.
95890
95891         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
95892         e.g., a fault due to an attempt to free a NULL pointer.
95893
95894 2001-11-01  Jim Meyering  <meyering@lucent.com>
95895
95896         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
95897         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
95898
95899 2001-11-01  Jim Meyering  <meyering@lucent.com>
95900
95901         * lib/dirfd.c, lib/dirfd.h: New files.
95902         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
95903
95904         * lib/hash.c (hash_print) [TESTING]: Clean up.
95905
95906 2001-10-22  Paul Eggert  <eggert@twinsun.com>
95907
95908         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
95909         to avoid a warning if -Wall.
95910
95911 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
95912
95913         * README: New file
95914         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
95915         (per RMS's instructions, this is now the canonical source)
95916         * lgpl/, gpl/: New directories.
95917
95918 2001-10-21  Paul Eggert  <eggert@twinsun.com>
95919
95920         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
95921
95922 2001-10-21  Jim Meyering  <meyering@lucent.com>
95923
95924         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
95925         this code would end up calling gettext even in packages built
95926         with --disable-nls.
95927         * lib/getopt.c (_): Likewise.
95928         * lib/regex.c (_): Likewise.
95929
95930 2001-10-20  Paul Eggert  <eggert@twinsun.com>
95931
95932         * m4/error.m4 (jm_PREREQ_ERROR):
95933         Do not invoke AC_CHECK_FUNCS with strerror_r, as
95934         AC_FUNC_STRERROR_R does that.
95935         Check for strerror declaration.
95936
95937         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
95938         are supposed to have them these days.
95939         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
95940         Merge changes from latest Autoconf CVS.
95941         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
95942         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
95943         POSIX decided to standardize on the int flavor of strerror_r.
95944
95945 2001-10-20  Paul Eggert  <eggert@twinsun.com>
95946
95947         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
95948         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
95949         Use strerror_r that is only a macro, even if it is not a function.
95950         (strerror): Check for HAVE_DECL_STRERROR before declaring.
95951         (private_strerror): Use prototypes, not old-style function definition.
95952         (print_errno_message): New function.
95953         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
95954         char*-flavored one.
95955         (error_tail, error, error_at_line): Use it.
95956
95957 2001-10-11  Jim Meyering  <meyering@lucent.com>
95958
95959         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
95960         and quote_n (1, ... to avoid clobbering a buffer.
95961
95962 2001-10-05  Jim Meyering  <meyering@lucent.com>
95963
95964         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
95965         hash-pjw.h.
95966         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
95967         * lib/hash-pjw.h: New file.
95968
95969 2001-09-30  Jim Meyering  <meyering@lucent.com>
95970
95971         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
95972         `struct fsstat' has the `f_fstypename' member.
95973         Use that to define FS_TYPE, which is now used to make
95974         the getfsstat link test tighter.
95975
95976 2001-09-30  Jim Meyering  <meyering@lucent.com>
95977
95978         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
95979         Include <sys/ucred.h>, for Apple Darwin.
95980         Include sys/mount.h and sys/fs_types.h only if available.
95981         (FS_TYPE): Define.
95982         (read_filesystem_list): Use FS_TYPE.
95983
95984 2001-09-29  Paul Eggert  <eggert@twinsun.com>
95985
95986         * lib/exclude.c (excluded_filename): 0 -> false, since it's
95987         a boolean context.
95988
95989 2001-09-29  Jim Meyering  <meyering@lucent.com>
95990
95991         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
95992         [one-argument getmntent function]): Include stdio.h before mntent.h.
95993         SunOS 4.1.x needs it for the declaration of `FILE'.
95994         Patch by Volker Borchert.
95995
95996         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
95997         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
95998         sys/fs_types.h, and make the link-test for getfsstat guard #include
95999         directives with appropriate #if HAVE_*_H tests so that we can
96000         detect getfsstat on Apple Darwin1.3.7 systems.
96001         Reported by Nelson Beebe.
96002         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
96003
96004 2001-09-28  Paul Eggert  <eggert@twinsun.com>
96005
96006         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
96007         #defines strtoimax.  Also treat the other strto* functions
96008         like strtoimax.
96009
96010         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
96011         Check for strtoul and strtoumax,
96012         as those declarations are made even in the signed case.
96013         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
96014         Likewise, for strtol and strtoimax.
96015
96016 2001-09-28  Paul Eggert  <eggert@twinsun.com>
96017
96018         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
96019         #defines strtoimax.  Also treat the other strto* functions
96020         like strtoimax.
96021
96022         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
96023         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
96024         (strtoimax, strtoumax): Do not declare if already defined as a macro.
96025
96026 2001-09-26  Jim Meyering  <meyering@lucent.com>
96027
96028         Most macros in unlocked-io.h had the wrong number of arguments.
96029         * lib/gen-uio: New script.
96030         (USE_UNLOCKED_IO): Define to 1 if not already defined.
96031         * lib/unlocked-io.hin: Remove file.
96032         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
96033         rather than trying to embed it here.
96034         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
96035         Reported by Padraig Brady.
96036
96037 2001-09-25  Volker Borchert  <bt@teknon.de>
96038
96039         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
96040         `result'.
96041
96042 2001-09-24  Jim Meyering  <meyering@lucent.com>
96043
96044         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
96045
96046 2001-09-23  Jim Meyering  <meyering@lucent.com>
96047
96048         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
96049         instead of the mere test for existence of mntent.h.  The latter
96050         would get a false-positive on AIX 3.4 systems.
96051         In the outer getmntent if-block, don't die if neither of the getmntent
96052         tests succeeds.  Instead, just fall through and continue with the
96053         remaining tests.
96054
96055 2001-09-23  Jim Meyering  <meyering@lucent.com>
96056
96057         * lib/mountlist.c: Remove useless parentheses in #if directives.
96058         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
96059         the deprecated MOUNTED symbol is no longer defined in mntent.h.
96060
96061 2001-09-22  Jim Meyering  <meyering@lucent.com>
96062
96063         * m4/gettext.m4: New file.  From gettext.
96064         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
96065         * m4/progtest.m4: Likewise
96066         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
96067         * m4/glibc21.m4: Likewise.
96068
96069         * m4/libintl.m4: Remove.  No longer used.
96070
96071 2001-09-22  Jim Meyering  <meyering@lucent.com>
96072
96073         * lib/localcharset.c: Update from latest gettext.
96074         * lib/config.charset: Likewise.
96075
96076 2001-09-20  Jim Meyering  <meyering@lucent.com>
96077
96078         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
96079         strtoimax.
96080         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
96081         strtoumax.
96082
96083 2001-09-20  Jim Meyering  <meyering@lucent.com>
96084
96085         * lib/xstrtol.c (strtoimax): Guard declaration with
96086         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
96087         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
96088         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
96089         (strtoumax): Likewise, for completeness (it wasn't necessary).
96090
96091 2001-09-17  Paul Eggert  <eggert@twinsun.com>
96092
96093         * lib/strtoimax.c (HAVE_LONG_LONG):
96094         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
96095         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
96096         to work around bug in IBM C compiler.
96097
96098 2001-09-17  Jim Meyering  <meyering@lucent.com>
96099
96100         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
96101         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
96102         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
96103         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
96104         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
96105         whenever the right hand side need not be expanded by the shell.
96106
96107 2001-09-16  Paul Eggert  <eggert@twinsun.com>
96108
96109         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
96110         library.  It's not correct, as some older glibcs are buggy.
96111         fnmatch wasn't fixed until glibc 2.2.
96112
96113         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
96114         special shell magic here.
96115
96116 2001-09-16  Jim Meyering  <meyering@lucent.com>
96117
96118         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
96119         * m4/jm-macros.m4: Require it.
96120
96121 2001-09-16  Jim Meyering  <meyering@lucent.com>
96122
96123         * lib/mkdir.c: New file.
96124
96125 2001-09-15  Jim Meyering  <meyering@lucent.com>
96126
96127         * m4/jm-macros.m4: Check for help2man.
96128
96129 2001-09-11  Jim Meyering  <meyering@lucent.com>
96130
96131         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
96132         The body, by Paul Eggert, was moved here from configure.in.
96133         * m4/jm-macros.m4: Require UTILS_HOST_OS.
96134
96135 2001-09-04  Paul Eggert  <eggert@twinsun.com>
96136
96137         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
96138         (jm_PREREQ): Use it.
96139
96140 2001-09-04  Paul Eggert  <eggert@twinsun.com>
96141
96142         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
96143         Use ssize_t, not int, to store result of readlink.
96144         Check for ssize_t overflow as well as size_t overflow,
96145         as POSIX says the result of readlink is implementation-defined
96146         when ssize_t overflows.
96147         Remove unnecessary cast to char*.
96148         Use free+malloc instead of realloc, as the storage doesn't need
96149         to be preserved and it's clearer and can be more efficient that way.
96150         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
96151         * lib/xreadlink.h (xreadlink): Update prototype.
96152
96153 2001-09-04  Paul Eggert  <eggert@twinsun.com>
96154
96155         * lib/xgetcwd.c: Revert some of the previous change; intead,
96156         fix the HAVE_GETCWD_NULL code to behave more like the
96157         !HAVE_GETCWD_NULL code used to.
96158
96159         Include "xalloc.h".
96160         (xgetcwd): Do not return NULL when memory is exhausted; instead,
96161         invoke xalloc_die.
96162
96163 2001-09-03  Paul Eggert  <eggert@twinsun.com>
96164
96165         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
96166         sys/param.h, as pathmax.h includes them.
96167
96168 2001-09-03  Paul Eggert  <eggert@twinsun.com>
96169
96170         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
96171         (jm_PREREQ_XGETCWD): New macro.
96172
96173         * m4/getcwd.m4: New file.
96174
96175 2001-09-03  Paul Eggert  <eggert@twinsun.com>
96176
96177         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
96178         like the HAVE_GETCWD_NULL code.
96179         Include pathmax.h if not HAVE_GETCWD.
96180         Do not include xalloc.h.
96181         (INITIAL_BUFFER_SIZE): New symbol.
96182         Do not use xmalloc / xrealloc, since the caller is responsible for
96183         handling errors.  Preserve errno around `free' during failure.
96184         Do not overrun buffer when using getwd.
96185
96186 2001-09-03  Paul Eggert  <eggert@twinsun.com>
96187
96188         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
96189         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
96190         getcwd (NULL, 0).
96191
96192 2001-09-03  Paul Eggert  <eggert@twinsun.com>
96193
96194         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
96195         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
96196         spotted by Jim Meyering.
96197
96198 2001-09-03  Jim Meyering  <meyering@lucent.com>
96199
96200         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
96201         failure.
96202
96203 2001-09-02  Jim Meyering  <meyering@lucent.com>
96204
96205         * lib/error.c: Update from GNU libc.
96206
96207 2001-09-01  Jim Meyering  <meyering@lucent.com>
96208
96209         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
96210         Used by df.
96211
96212 2001-09-01  Jim Meyering  <meyering@lucent.com>
96213
96214         * lib/xreadlink.c: New file.
96215         * lib/xreadlink.h: New file.
96216         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
96217         xreadlink.h.
96218
96219         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
96220         doesn't conflict with sparc Solaris 7's definition in
96221         /usr/include/sys/int_types.h.
96222
96223         * lib/exclude.c: Use `""', not `<>' to #include non-system header
96224         files.
96225         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
96226         and strncasecmp as r-values.  Unixware didn't have declarations.
96227
96228 2001-08-31  Paul Eggert  <eggert@twinsun.com>
96229
96230         * lib/xstrtol.h: Add copyright notice.
96231         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
96232         LONGINT_INVALID_SUFFIX_CHAR.
96233
96234 2001-08-31  Paul Eggert  <eggert@twinsun.com>
96235
96236         * lib/xstrtol.c (strtoimax): New decl.
96237
96238 2001-08-31  Paul Eggert  <eggert@twinsun.com>
96239
96240         * lib/xgetcwd.c: Don't include pathmax.h.
96241         Include stdlib.h and unistd.h if available.
96242         Include xalloc.h.
96243         (xmalloc, xstrdup, free): Remove decls.
96244         (xgetcwd): Don't assume sizes fit in unsigned.
96245         Check for overflow when computing sizes.
96246         Simplify reallocation code.
96247
96248 2001-08-31  Paul Eggert  <eggert@twinsun.com>
96249
96250         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
96251         a directory's st_size can have an arbitrary value, so the old
96252         usage could waste an arbitrary amount of memory.  All uses
96253         changed.
96254         * lib/savedir.h: Update prototype.
96255
96256 2001-08-31  Paul Eggert  <eggert@twinsun.com>
96257
96258         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
96259
96260         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
96261         old strtoimax.c.
96262
96263         Also, make the following further changes to make this file's
96264         configuration more similar to that of strtol.c:
96265         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
96266         (strtoumax, uintmax_t, strtoull, strtol): Remove.
96267         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
96268         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
96269         changed to signed values.
96270
96271         And make the following changes as well:
96272         Fix copyright notice, as 1999 was missing.
96273         (verify): New macro.
96274         (strtoimax): Check sizes at compile-time, not run-time.
96275         Prefer strtol to strtoll if both work.
96276         (main): Remove; it was not that useful and was a pain to maintain.
96277
96278         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
96279
96280 2001-08-31  Jim Meyering  <meyering@lucent.com>
96281
96282         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
96283         Use an initial, malloc'd, buffer of length 128 rather than
96284         a statically allocated one of length 1024.
96285
96286 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96287
96288         Simplify code, partly by assuming autoconf 2.52 semantics.
96289
96290         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
96291
96292         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
96293         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
96294         All uses removed.
96295         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
96296         Move AC_REQUIRE to next-to-top level, to avoid confusion.
96297         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
96298         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
96299         jm_AC_HEADER_INTTYPES_H.
96300         * m4/jm-macros.m4 (jm_MACROS): Likewise.
96301
96302         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
96303
96304         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
96305         Quote first arg of AC_DEFUN.
96306         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
96307         since they are needed to parse the include file even if we need
96308         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
96309         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
96310         but with opposite signedness.
96311
96312 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96313
96314         Merge 'exclude' changes from tar 1.13.22.
96315         This fixes one or two unlikely storage allocation overflow bugs,
96316         but doesn't change user-visible behavior otherwise.
96317
96318 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96319
96320         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
96321         (jm_PREREQ_EXCLUDE): New macro.
96322
96323 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96324
96325         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
96326         tm to be declared.
96327
96328 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96329
96330         * lib/hash.c: Remove '2001' from copyright notice.
96331
96332 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96333
96334         * lib/full-write.h: New file.
96335         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
96336         * lib/full-write.c: Correct credits, as cccp.c no longer
96337         exists and anyway it was so heavily changed from the old cccp
96338         code as to be unrecognizable.  Include full-write.h.
96339         (full_write): Return size_t, with short writes meaning failure.
96340         All callers changed.  This fixes a bug with large buffers
96341         on 64-bit hosts.
96342         * lib/utime.c: Include full-write.h.
96343
96344 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96345
96346         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
96347         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
96348         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
96349         Include if available.
96350         (<xalloc.h>): Include
96351         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
96352         (verify): New macro.  Use it to verify that EXCLUDE macros do not
96353         collide with FNM macros.
96354         (struct patopts): New struct.
96355         (struct exclude): Use it, as exclude patterns now come with options.
96356         (new_exclude): Support above changes.
96357         (new_exclude, add_exclude_file):
96358         Initial size must now be a power of two to simplify overflow checking.
96359         (free_exclude, fnmatch_no_wildcards): New function.
96360         (excluded_filename): No longer requires options arg, as the options
96361         are determined by add_exclude.  Now returns bool, not int.
96362         (excluded_filename, add_exclude):
96363         Add support for the fancy new exclusion options.
96364         (add_exclude, add_exclude_file): Now takes int options arg.
96365         Check for arithmetic overflow when computing sizes.
96366         (add_exclude_file): xrealloc might modify errno, so don't
96367         realloc until after errno might be used.
96368
96369         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
96370         New macros.
96371         (free_exclude): New decl.
96372         (add_exclude, add_exclude_file): Now takes int options arg.
96373         (excluded_filename): No longer requires options arg, as the options
96374         are determined by add_exclude.  Now returns bool, not int.
96375
96376 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96377
96378         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
96379
96380 2001-08-27  Jim Meyering  <meyering@lucent.com>
96381
96382         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
96383
96384         * lib/version-etc.c (N_): Remove definition.
96385         Revert most of last change.
96386         Instead, simply don't mark the `Copyright...' string for translation.
96387         Based on advice from Paul Eggert.
96388
96389         * lib/strtoxmax.c: Tweak comment.
96390
96391 2001-08-26  Jim Meyering  <meyering@lucent.com>
96392
96393         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
96394
96395         * m4/xstrtoimax.m4: New file.
96396         * m4/xstrtoumax.m4: Add comments explaining why we
96397         AC_REPLACE_FUNCS(strtol).
96398
96399 2001-08-26  Jim Meyering  <meyering@lucent.com>
96400
96401         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
96402         of copyright with `%s' so translators don't get an untranslated
96403         message in 2002.
96404         (COPYRIGHT_YEAR): Define.
96405         (version_etc): Use fprintf rather than fputs.
96406         Suggestion from Ulrich Drepper.
96407
96408         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
96409
96410         * lib/strtoll.c: New file, from GNU libc.
96411         * lib/xstrtoimax.c: New file.
96412
96413         * lib/xstrtol.h: Add xstrtoimax.
96414         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
96415         * lib/strtoimax.c: New file.  Likewise, but first define
96416         STRTOUXMAX_SIGNED.
96417
96418         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
96419         ...
96420         * lib/strtoxmax.c: ... then renamed to this.
96421
96422 2001-08-18  Paul Eggert  <eggert@twinsun.com>
96423
96424         * m4/inttypes.m4: Add AC_PREREQ(2.13).
96425         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
96426         (jm_AC_TYPE_INTMAX_T): New macro.
96427         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
96428
96429         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
96430
96431         * m4/longlong.m4: Renamed from ulonglong.m4.
96432         * m4/inttypes.m4: Renamed from inttypes_h.m4.
96433         * m4/uintmax_t.m4: Removed.
96434
96435 2001-08-13  Paul Eggert  <eggert@twinsun.com>
96436
96437         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
96438         Port to Solaris 8, where 'sed' requires a space after the 'r'
96439         command, and where sh dislikes "$/".  Clean up the spacing a bit.
96440         Redirect output to $tmp just once.
96441
96442 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
96443
96444         * lib/addext.c (<errno.h>): Include.
96445         (errno): Declare if not defined.
96446         (addext): Work correctly when pathconf returns -1 and leaves
96447         errno alone because there is no limit.  Also, work even if
96448         pathconf returns a value greater than SIZE_MAX.
96449
96450 2001-08-12  Jim Meyering  <meyering@lucent.com>
96451
96452         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
96453         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
96454         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
96455         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
96456         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
96457         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
96458         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
96459         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
96460         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
96461         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
96462         utime.m4, utimes.m4, xstrtoumax.m4:
96463         Quote the first argument in each use of AC_DEFUN.
96464
96465 2001-08-12  Jim Meyering  <meyering@lucent.com>
96466
96467         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
96468         Simply `return getcwd (NULL, 0);'.
96469         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
96470         Use 1300 as initial value for length, not PATH_MAX.
96471
96472         * lib/pathmax.h: Clean up cpp syntax.
96473
96474 2001-08-12  Jim Meyering  <meyering@lucent.com>
96475
96476         * lib/gettimeofday.c: New file.
96477         * lib/gtod.h: New file.
96478         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
96479
96480 2001-08-05  Jim Meyering  <meyering@lucent.com>
96481
96482         * m4/jm-macros.m4: Require autoconf-2.52.
96483
96484 2001-08-04  Jim Meyering  <meyering@lucent.com>
96485
96486         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
96487         stmt, to get in sync with glibc.
96488
96489 2001-08-03  Paul Eggert  <eggert@twinsun.com>
96490
96491         The following changes are from gettext 0.10.39 as maintained by
96492         Bruno Haible.
96493
96494         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
96495         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
96496         with inverted sense.  All uses changed.
96497
96498         * lib/mbswidth.c: Don't include <limits.h>.
96499         Include <stdlib.h> and <string.h> unconditionally.
96500         (iswcntrl, mbsinit, ISCNTRL): New macros.
96501         (mbsnwidth): Use K&R style function declarations.
96502         Don't bother checking for MB_LEN_MAX == 1, since the compiler
96503         can optimize it when MB_CUR_MAX == 1.
96504         The width of control characters is zero, not 1.
96505
96506 2001-08-03  Paul Eggert  <eggert@twinsun.com>
96507
96508         The following changes are from gettext 0.10.39 as maintained by
96509         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
96510
96511         * m4/codeset.m4: Upgrade to serial AM1.
96512         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
96513         all uses changed.  Quote first arg of AC_DEFUN.
96514         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
96515
96516         * m4/iconv.m4: Upgrade to serial AM2.
96517         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
96518         Add --with-libconv-prefix.
96519         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
96520         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
96521         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
96522         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
96523         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
96524
96525         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
96526         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
96527         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
96528         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
96529         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
96530         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
96531         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
96532         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
96533         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
96534
96535         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
96536         string.h any more.
96537
96538         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
96539         not the default value.
96540
96541         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
96542         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
96543         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
96544         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
96545         Also check for iswcntrl, used for wcwidth fallback.
96546         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
96547         to Autoconf 2.13.
96548
96549 2001-08-03  Jim Meyering  <meyering@lucent.com>
96550
96551         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
96552         as it was in the original.  Reported by Paul Eggert.
96553
96554 2001-07-16  Jim Meyering  <meyering@lucent.com>
96555
96556         * m4/gettimeofday.m4: New file.
96557         Prompted by a report from Bernhard Baehr.
96558
96559 2001-07-15  Jim Meyering  <meyering@lucent.com>
96560
96561         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
96562         stuff. Now it's in ../Makefile.cfg.
96563
96564 2001-07-15  Jim Meyering  <meyering@lucent.com>
96565
96566         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
96567         (BUILT_SOURCES): Add unlocked-io.h.
96568         (io_functions): Define.
96569         (unlocked-io.h): New rule.
96570         (DISTCLEANFILES): Add unlocked-io.h.
96571         (all-local): Depend on unlocked-io.h, to ensure it is created.
96572
96573         * lib/unlocked-io.hin: New file
96574
96575         * lib/regex.c: Update from glibc.
96576
96577 2001-07-05  Jim Meyering  <meyering@lucent.com>
96578
96579         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
96580         recommendation.
96581         (libfetish_a_SOURCES): Put all .h files here instead.
96582         Remove a thus-exposed (better checks in automake) duplicate and
96583         two unnecessary .h files.
96584
96585 2001-07-04  Jim Meyering  <meyering@lucent.com>
96586
96587         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
96588         that generates jm-glibc-io.m4 so that it doesn't trigger any make
96589         distcheck failure.
96590
96591 2001-07-02  Jim Meyering  <meyering@lucent.com>
96592
96593         The following changes were prompted by suggestions from Bruno Haible.
96594
96595         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
96596         is now generated.
96597         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
96598         definition of EXTRA_DIST.
96599         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
96600         ensure that the generated file is created/updated whenever the list
96601         of $(unlocked_functions) is changed.
96602         (jm-glibc-io.m4): New rule.
96603         (unlocked-io.h): New rule -- currently unused.
96604
96605 2001-06-24  Jim Meyering  <meyering@lucent.com>
96606
96607         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
96608         unmatched right bracket, rather than kludging it with an extra,
96609         falsely-matching quote in a comment.  Patch by Akim Demaille.
96610
96611 2001-06-11  Jim Meyering  <meyering@lucent.com>
96612
96613         * lib/regex.c: Update from GNU libc.
96614
96615 2001-05-27  Jim Meyering  <meyering@lucent.com>
96616
96617         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
96618         Check for ut_type in struct utmp.
96619
96620 2001-05-27  Jim Meyering  <meyering@lucent.com>
96621
96622         * lib/readutmp.h (UT_TYPE): Define.
96623
96624 2001-05-24  Jim Meyering  <meyering@lucent.com>
96625
96626         * lib/argmatch.c: Include "quote.h".
96627         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
96628         quote function.  Reported by Göran Uddeborg.
96629
96630 2001-05-22  Jim Meyering  <meyering@lucent.com>
96631
96632         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
96633         now that we use the package-supplied version unconditionally.
96634         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
96635
96636 2001-05-21  Jim Meyering  <meyering@lucent.com>
96637
96638         * m4/regex.m4: Change a couple backticks to single quotes to avoid
96639         shell syntax errors.
96640
96641 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
96642
96643         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
96644
96645 2001-05-20  Paul Eggert  <eggert@twinsun.com>
96646
96647         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
96648         Don't bother to check library strftime, since
96649         we'll be using our own my_strftime function anyway.
96650         Define my_strftime instead of strftime.
96651
96652 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
96653
96654         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
96655         which is not yet declared.
96656
96657 2001-05-15  Jim Meyering  <meyering@lucent.com>
96658
96659         * m4/regex.m4: Use proper quoting so brackets appear in the test
96660         program.
96661         Reported by, and with help from, Bruno Haible.
96662
96663 2001-05-13  Jim Meyering  <meyering@lucent.com>
96664
96665         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
96666         undefined.
96667
96668 2001-05-11  Paul Eggert  <eggert@twinsun.com>
96669
96670         dirname code cleanup.  base_name now behaves more compatibly
96671         with POSIX basename when given file names that have trailing
96672         slashes, and similarly for dir_name.  Add new primitives
96673         base_len and dir_len.  Put the directory-name-related decls
96674         into dirname.h.
96675
96676         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
96677         * lib/backupfile.c (base_name): Likewise.
96678         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
96679         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
96680         * lib/makepath.c (strip_trailing_slashes): Likewise.
96681         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
96682         ISSLASH): Likewise.
96683         * lib/rename.c (strip_trailing_slashes): Likewise.
96684         * lib/same.c (base_name): Likewise.
96685         * lib/stripslash.c (ISSLASH): Likewise.
96686
96687         * lib/addext.c: Include <dirname.h> after size_t is defined.
96688         * lib/backupfile.c: Likewise.
96689
96690         * lib/addext.c (addext): Use base_len to trim redundant
96691         trailing slashes instead of doing it ourselves.
96692         But do not trim the last slash if it is not redundant.
96693
96694         * lib/backupfile.c (find_backup_file_name,
96695         max_backup_version): Use base_len instead of rolling it ourselves.
96696         Handle the case of "" and (on DOS) "C:" correctly.
96697
96698         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
96699         needed. Include <string.h>, <dirname.h>.
96700         (base_name): Allow file names ending in slashes, other than names
96701         that are all slashes.  In this case, return the basename followed
96702         by the slashes.  This is more general, and can be used in places
96703         where the original base_name purposely had an assertion failure.
96704         (base_len): New function.
96705
96706         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
96707         Do not include <assert.h>; no longer needed.
96708         Include xalloc.h.
96709         (memrchr): Remove decl.
96710         (dir_name_r): Remove.
96711         (dir_len): Renamed from dirlen.  All callers changed.
96712         Rewrite in terms of base_name, for simplicity and consistency.
96713         (dir_name): Never return NULL.  All callers changed.
96714         Do not include <stdlib.h> in test program; no longer needed.
96715         return 0; is fine for test program.
96716
96717         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
96718         New macros.
96719         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
96720
96721         * lib/path-concat.c (path_concat): Use base_len to compute
96722         base length, not strlen; this means we cannot rely on memcpy
96723         to null-terminate.
96724
96725         * lib/same.c (STREQ): Remove.
96726         (same_name): Handle the case where the basename ends in trailing '/'.
96727
96728         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
96729         a slash was stripped.  Do not strip the last slash after a
96730         file system prefix.
96731
96732 2001-05-11  Paul Eggert  <eggert@twinsun.com>
96733
96734         * lib/Makefile.am (libfetish_a_SOURCES):
96735         Add strftime.c, since we now compile it on all hosts.
96736
96737         * lib/strftime.c (my_strftime):
96738         Define to nstrftime if emacs, but only if my_strftime is not defined.
96739         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
96740         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
96741         Add one more extra argument: a nanoseconds value.
96742         All uses changed.
96743         (ns): New macro.
96744         (my_strftime function): Add %N format.
96745         (emacs_strftimeu): Renamed from emacs_strftime,
96746         with extra ut argument.
96747
96748 2001-05-09  Paul Eggert  <eggert@twinsun.com>
96749
96750         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
96751
96752 2001-04-21  Jim Meyering  <meyering@lucent.com>
96753
96754         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
96755         doesn't interfere.
96756
96757 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
96758
96759         * m4/ftruncate.m4: Check for chsize.
96760         Link with ftruncate.o unconditionally if ftruncate is missing.
96761         This was required when cross-compiling to i586-mingw32msvc.
96762
96763 2001-04-08  Jim Meyering  <meyering@lucent.com>
96764
96765         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
96766         recomputed; that's necessary when the offset spans a DST transition.
96767         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
96768
96769 2001-04-02  Jim Meyering  <meyering@lucent.com>
96770
96771         * lib/regex.h, regex.c: Update from GNU libc.
96772
96773 2001-03-24  Jim Meyering  <meyering@lucent.com>
96774
96775         * m4/jm-macros.m4: Require autoconf-2.49d.
96776
96777 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
96778
96779         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
96780
96781 2001-03-19  Paul Eggert  <eggert@twinsun.com>
96782
96783         * lib/version-etc.c (version_etc_copyright): Update to 2001.
96784
96785 2001-03-17  Jim Meyering  <meyering@lucent.com>
96786
96787         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
96788         now that the version in autoconf is equivalent.
96789         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
96790
96791         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
96792         Suggestion from Akim Demaille.
96793
96794         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
96795         (jm_PREREQ_TEMPNAME): New function.
96796
96797 2001-03-16  Paul Eggert  <eggert@twinsun.com>
96798
96799         * lib/tempname.c (uint64_t): Define to uintmax_t if
96800         not defined, and if UINT64_MAX is not defined.
96801         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
96802         Reported by John David Anglin.
96803
96804 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
96805
96806         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
96807         resolve alias if codeset is empty.
96808         * lib/config.charset (BeOS): Use wildcard syntax.
96809
96810 2001-03-13  Jim Meyering  <meyering@lucent.com>
96811
96812         * lib/path-concat.c (path_concat)
96813         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
96814         concatenating e.g., `C:' and `foo'.
96815         From Bruno Haible.
96816
96817 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
96818
96819         * lib/localcharset.c (locale_charset): Don't use
96820         setlocale(LC_CTYPE,NULL). Don't return NULL.
96821         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
96822
96823 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
96824
96825         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
96826         support for DOS/DJGPP.
96827
96828 2001-03-01  Paul Eggert  <eggert@twinsun.com>
96829
96830         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
96831         lacks mkstemp.  Compile our own tempname.c if we compile our own
96832         mkstemp.c, as mkstemp relies on tempname.
96833
96834 2001-03-01  Jim Meyering  <meyering@lucent.com>
96835
96836         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
96837         AH_VERBATIM really does output its argument verbatim.
96838
96839 2001-02-28  Paul Eggert  <eggert@twinsun.com>
96840
96841         * lib/Makefile.am (libfetish_a_SOURCES):
96842         Add dup-safer.c, fopen-safer.c.
96843         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
96844
96845         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
96846         * lib/unistd-safer.h: New files.
96847
96848 2001-02-25  Paul Eggert  <eggert@twinsun.com>
96849
96850         The mkstemp replacement is taken from glibc 2.2.2, with some
96851         portability fixes for use outside glibc, as follows:
96852
96853         * lib/tempname.c (struct_stat64): New macro.
96854         (direxists, __gen_tempname): Use it.
96855         This avoids a portability problem with Solaris 8.
96856
96857         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
96858         (<stddef.h>, <stdint.h>, <string.h>):
96859         Include only if STDC_HEADERS || _LIBC.
96860         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
96861         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
96862         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
96863         (__set_errno): Define this macro if <errno.h> doesn't.
96864         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
96865         Define these macros if <stdio.h> doesn't.
96866         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
96867         Define these macros if <sys/stat.h>
96868         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
96869         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
96870         __xstat64): Define if not _LIBC.
96871         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
96872         (__gen_tempname): Invoke gettimeofday only if
96873         HAVE_GETTIMEOFDAY || _LIBC;
96874         otherwise, fall back on plain "time".
96875         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
96876
96877         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
96878
96879         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
96880
96881 2001-02-18  Paul Eggert  <eggert@twinsun.com>
96882
96883         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
96884
96885 2001-02-17  Paul Eggert  <eggert@twinsun.com>
96886
96887         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
96888         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
96889         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
96890         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
96891
96892 2001-02-17  Paul Eggert  <eggert@twinsun.com>
96893
96894         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
96895         Remove workaround macros for hosts that have mbrtowc but not
96896         mbstate_t, as we now insist on proper declarations for both
96897         before using mbrtowc.
96898
96899 2001-02-17  Jim Meyering  <meyering@lucent.com>
96900
96901         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
96902         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
96903         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
96904         UnixWare 7.1.1.
96905
96906         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
96907         rather than AC_CACHE_VAL.
96908
96909 2001-02-17  Jim Meyering  <meyering@lucent.com>
96910
96911         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
96912         around included file name.
96913
96914         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
96915
96916         * lib/strftime.c: Update from GNU libc (the only changes were to
96917         comments).
96918
96919 2001-02-17  Jim Meyering  <meyering@lucent.com>
96920
96921         * lib/regex.c: Update from libc.
96922
96923 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
96924
96925         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
96926         clash.
96927
96928 2001-02-16  Paul Eggert  <eggert@twinsun.com>
96929
96930         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
96931         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
96932         Reported by Mark Hounschell via Paul Eggert.
96933
96934 2001-02-07  Jim Meyering  <meyering@lucent.com>
96935
96936         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
96937
96938 2001-02-05  Jim Meyering  <meyering@lucent.com>
96939
96940         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
96941         it includes the patch required for `large file' support with at least
96942         HP-UX's 10.20 /bin/cc.
96943
96944 2001-02-03  Jim Meyering  <meyering@lucent.com>
96945
96946         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
96947         AS_IF, now that it works once again (mysteriously).
96948         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
96949
96950 2001-01-30  Jim Meyering  <meyering@lucent.com>
96951
96952         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
96953         * m4/chown.m4: Rename conftestchown to conftest.chown.
96954         * m4/rename.m4: s/conftestdir/conftest.d1/ and
96955         s/conftestdir2/conftest.d2/.
96956         * m4/utimes.m4: s/conftestdata/conftest.data/
96957         Inspired by Pavel Roskin's change in autoconf.
96958
96959 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
96960
96961         * lib/config.charset: Update for FreeBSD 4.2.
96962
96963 2001-01-27  Jim Meyering  <meyering@lucent.com>
96964
96965         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
96966         a use of AS_IF.
96967         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
96968
96969 2001-01-26  Jim Meyering  <meyering@lucent.com>
96970
96971         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
96972         quotearg.c includes it.
96973
96974 2001-01-26  Jim Meyering  <meyering@lucent.com>
96975
96976         * lib/quotearg.c: Include stddef.h.
96977         * lib/quote.c: Include stddef.h.
96978         Reported by Axel Kittenberger.
96979
96980         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
96981         line in double quotes so that it evokes a better diagnostic.
96982         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
96983         Reported by Axel Kittenberger.
96984
96985 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
96986
96987         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
96988         as if it was a `charset'.
96989
96990 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
96991
96992         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
96993         has const.
96994
96995 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
96996
96997         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
96998         to avoid a warning.  Add back 'const' to inptr.
96999
97000 2001-01-20  Jim Meyering  <meyering@lucent.com>
97001
97002         Be sure that headers are checked before used in code compiled
97003         for the type checks.
97004         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
97005         In place of that, invoke jm_CHECK_ALL_TYPES.
97006         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
97007         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
97008         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
97009         The check for ssize_t was mistakenly run before the test for unistd.h.
97010
97011         The configure-time check for stdbool.h was missing.
97012         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
97013         (jm_PREREQ_HASH): New function.
97014
97015 2001-01-17  Jim Meyering  <meyering@lucent.com>
97016
97017         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
97018         for autoconf-2.49c.
97019         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
97020
97021 2001-01-16  Jim Meyering  <meyering@lucent.com>
97022
97023         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
97024         From Bruno Haible.
97025
97026 2001-01-14  Jim Meyering  <meyering@lucent.com>
97027
97028         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
97029         foo and bar.  Create conftestdir/ in the script, not in the C code.
97030         Remove directories in the script, not in the C code.
97031         Remove conftestdir{,2} before trying to create the directory.
97032         Make the entire configure script fail if the mkdir fails.
97033
97034 2001-01-14  Jim Meyering  <meyering@lucent.com>
97035
97036         * lib/rename.c: New file.  From Volker Borchert.
97037         Include stdlib.h, string.h or strings.h, and xalloc.h.
97038         Use strip_trailing_slashes rather than open-coding it.
97039
97040 2001-01-03  Paul Eggert  <eggert@twinsun.com>
97041
97042         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
97043
97044 2001-01-03  Jim Meyering  <meyering@lucent.com>
97045
97046         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
97047         of local `inptr' to avoid warning with some system declarations of
97048         iconv.
97049
97050 2001-01-02  Volker Borchert  <bt@teknon.de>
97051
97052         * m4/rename.m4: New file.
97053         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
97054
97055 2001-01-01  Jim Meyering  <meyering@lucent.com>
97056
97057         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
97058         even on systems with utmpx.h.  It's necessary for the declaration of
97059         utmp's ut_user member.  Reported by Andreas Jaeger.
97060
97061         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
97062         available. They are required for the declarations of getgrgid and
97063         getpwuid resp.
97064         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
97065         Reported by Andreas Jaeger.
97066
97067 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
97068
97069         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
97070         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
97071         so `make install' also works in VPATH builds.
97072
97073 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
97074
97075         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
97076         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
97077         can be used in subdirectories.
97078
97079 2000-12-29  Paul Eggert  <eggert@twinsun.com>
97080
97081         * lib/modechange.c: Do not assume that mode_t uses the
97082         traditional octal encoding.  E.g. "chmod 1 FOO" should set
97083         the other-execute bit of FOO even if S_IXOTH != 1.
97084
97085         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
97086         WOTH, XOTH, ALLM): New macros.
97087         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
97088          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
97089         Use them.
97090         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
97091         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
97092         (mode_compile):
97093         No need to use uintmax_t; unsigned long is long enough.
97094         Don't bother to get suffix since we don't use it.
97095
97096 2000-12-26  Jim Meyering  <meyering@lucent.com>
97097
97098         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
97099         better with autoheader.
97100
97101 2000-12-24  Jim Meyering  <meyering@lucent.com>
97102
97103         * lib/hash.c (is_prime): Return explicit boolean values.
97104         (hash_get_first): Return NULL to appease Irix5.6's 89.
97105         Reported by Nelson Beebe.
97106
97107 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
97108
97109         * lib/localcharset.c (locale_charset): Add support for Win32.
97110
97111 2000-12-18  Paul Eggert  <eggert@twinsun.com>
97112
97113         * lib/physmem.h, lib/physmem.c: New files.
97114
97115         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
97116         (noinst_HEADERS): Add physmem.h.
97117
97118         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
97119         't' for compatibility with Solaris 8 sort.
97120
97121 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
97122
97123         * lib/config.charset: Add support for BeOS.
97124
97125 2000-12-17  Jim Meyering  <meyering@lucent.com>
97126
97127         * m4/dos.m4 (jm_AC_DOS): New file and macro.
97128         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
97129
97130 2000-12-16  Jim Meyering  <meyering@lucent.com>
97131
97132         This bug had a serious impact on chown: `chown N:M FILE' (for integer
97133         N and M) would have treated it like `chown N:N FILE'.
97134
97135         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
97136
97137 2000-12-16  Jim Meyering  <meyering@lucent.com>
97138
97139         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
97140         SHELLS_FILE to a file name that's useful on djgpp systems.
97141         Include stdlib.h.
97142         (ADDITIONAL_DEFAULT_SHELLS): Define.
97143         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
97144         Based mostly on a patch from Prashant TR.
97145
97146 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
97147
97148         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
97149         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
97150         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
97151
97152 2000-12-08  Andreas Schwab  <schwab@suse.de>
97153
97154         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
97155         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
97156
97157 2000-12-07  Jim Meyering  <meyering@lucent.com>
97158
97159         * lib/stripslash.c (ISSLASH): Define.
97160         (strip_trailing_slashes): Use ISSLASH rather than comparing against
97161         `/'.
97162         From Prashant TR.
97163
97164         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
97165         (dir_name_r): Declare this function as static.
97166         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
97167         manifest itself on a name containing a mix of slashes and
97168         backslashes.
97169         Make this function work with names starting with a DOS-style
97170         drive letter and colon prefix.
97171         (dir_name): Append `.' if necessary.
97172         Based mostly on patches from Prashant TR and Eli Zaretskii.
97173
97174         * lib/dirname.h (dir_name_r): Remove prototype.
97175
97176 2000-12-06  Paul Eggert  <eggert@twinsun.com>
97177
97178         * m4/off_t-format.m4: Remove this file.
97179         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
97180
97181 2000-12-06  Jim Meyering  <meyering@lucent.com>
97182
97183         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
97184         replacement strtoull, we may well need the replacement strtoul, too.
97185         Check for declarations of strtoul and strtoull.
97186         Check for strtol.  Mainly as a cue to cause automake to include
97187         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
97188         Check for limits.h -- strtol.c needs it.
97189
97190 2000-12-05  Jim Meyering  <meyering@lucent.com>
97191
97192         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
97193
97194 2000-12-04  Jim Meyering  <meyering@lucent.com>
97195
97196         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
97197         Also include memory.h, stdlib.h, unistd.h if appropriate.
97198         Reported by Andreas Jaeger (conflicting declaration of malloc).
97199
97200 2000-12-02  Jim Meyering  <meyering@lucent.com>
97201
97202         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
97203         * m4/jm-macros.m4 (jm_MACROS): require it.
97204
97205 2000-12-02  Jim Meyering  <meyering@lucent.com>
97206
97207         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
97208
97209 2000-12-01  Paul Eggert  <eggert@twinsun.com>
97210
97211         * lib/memrchr.c: Include <config.h> before any system include file.
97212
97213 2000-11-30  Jim Meyering  <meyering@lucent.com>
97214
97215         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
97216
97217 2000-11-30  Jim Meyering  <meyering@lucent.com>
97218
97219         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
97220
97221 2000-11-29  Paul Eggert  <eggert@twinsun.com>
97222
97223         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
97224
97225 2000-11-26  Jim Meyering  <meyering@lucent.com>
97226
97227         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
97228
97229 2000-11-22  Paul Eggert  <eggert@twinsun.com>
97230
97231         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
97232         size of (size_t) -1; it's not portable.
97233
97234 2000-11-17  Jim Meyering  <meyering@lucent.com>
97235
97236         * lib/strstr.c: Update from GNU libc.
97237
97238 2000-11-17  Akim Demaille  <akim@epita.fr>
97239
97240         * lib/obstack.h: Formatting changes.
97241         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
97242         prevent type checking.
97243         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
97244         cast the value to (void *): assigning a `foo *' to a `void *'
97245         variable is valid.
97246         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
97247
97248 2000-11-16  Jim Meyering  <meyering@lucent.com>
97249
97250         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
97251
97252 2000-11-11  Jim Meyering  <meyering@lucent.com>
97253
97254         * lib/error.c: Add a couple #includes, merging from GNU libc version.
97255
97256 2000-11-10  Jim Meyering  <meyering@lucent.com>
97257
97258         * lib/obstack.h: Update from GNU libc.
97259         * lib/obstack.c: Likewise.
97260
97261 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
97262
97263         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
97264
97265 2000-11-06  Paul Eggert  <eggert@twinsun.com>
97266
97267         * lib/getusershell.c (setusershell): Use rewind rather than
97268         fseek/fseeko, to avoid configuration hassles with fseeko.
97269         Don't bother opening SHELLS_FILE if shellstream is NULL;
97270         it's not necessary.
97271
97272 2000-11-05  Jim Meyering  <meyering@lucent.com>
97273
97274         * lib/makepath.h (make_dir): Declare.
97275         * lib/makepath.c (make_dir): Remove `static' attribute.
97276         Tweak a comment.
97277
97278 2000-11-04  Jim Meyering  <meyering@lucent.com>
97279
97280         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
97281
97282 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
97283
97284         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
97285         last one in a bucket, advance to the next bucket.
97286
97287 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
97288
97289         * lib/fnmatch.c: Do not comment out all the code if we are using
97290         the GNU C library, because in some cases we are replacing buggy
97291         code in the GNU C library itself.
97292
97293 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
97294
97295         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
97296         (regex_compile): Catch bogus \(\1\).
97297
97298 2000-10-30  Paul Eggert  <eggert@twinsun.com>
97299
97300         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
97301         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
97302         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
97303
97304 2000-10-30  Paul Eggert  <eggert@twinsun.com>
97305
97306         * lib/error.h, getline.h, modechange.h:
97307         Remove "2000" from Copyright line, as the file hasn't been
97308         changed this year other than in the copyright notice.
97309
97310         * lib/xalloc.h: Add "2000" to Copyright line, as this file
97311         was changed this year.
97312
97313 2000-10-29  Jim Meyering  <meyering@lucent.com>
97314
97315         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
97316         renaming.
97317         * m4/ls-mntd-fs.m4: Likewise
97318
97319 2000-10-29  Jim Meyering  <meyering@lucent.com>
97320
97321         * lib/xstat.in: Fix grammar in comment.
97322
97323 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
97324
97325         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
97326         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
97327         doesn't define __restrict_arr.
97328
97329 2000-10-28  Jim Meyering  <meyering@lucent.com>
97330
97331         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
97332         (jm_PREREQ_MEMCHR): New function.
97333
97334 2000-10-28  Jim Meyering  <meyering@lucent.com>
97335
97336         * lib/memchr.c: Update from libc.
97337         Adjust for portability:
97338         [HAVE_STDLIB_H]: Include stdlib.h.
97339         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
97340         Undef __memchr, too.
97341         [!weak_alias]: Define __memchr to memchr.
97342
97343         * lib/regex.c: Update from libc.
97344         * lib/regex.h: Likewise.
97345         * lib/getopt1.c: Likewise.
97346         * lib/memcmp.c: Likewise.
97347
97348         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
97349         Avoid using fseek, when possible -- it's broken by design.
97350         Patch by Ulrich Drepper.
97351
97352 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
97353
97354         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
97355         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
97356         Giving in to popular pressure to shut up the compiler with casts.
97357
97358 2000-10-26  Jim Meyering  <meyering@lucent.com>
97359
97360         * lib/strftime.c: Update from libc.
97361
97362 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
97363
97364         * regex.c: More `unsigned char' -> `re_char' changes.
97365         Also change several `int' into `re_wchar_t'.
97366         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
97367         (PUSH_FAILURE_POINTER): Don't cast any more.
97368         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
97369         We want GCC to complain, since this piece of code makes
97370         re_match non-reentrant, which *should* be fixed.
97371         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
97372         (EXTEND_BUFFER): Use RETALLOC.
97373         (SET_LIST_BIT): Don't cast.
97374         (re_wchar_t): New type.
97375         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
97376         that those two functions will always properly return.
97377         (IMMEDIATE_QUIT_CHECK): Cast to void.
97378         (analyse_first): Use recursion rather than an explicit stack.
97379         (re_compile_fastmap): Can't fail anymore.
97380         (re_search_2): Don't check re_compile_fastmap for failure.
97381         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
97382         Now also sets the new value (passed in a new argument).
97383         (re_match_2_internal): Use it.
97384         Also, use a new var `reg' of type size_t when looping through regs
97385         rather than reuse the inappropriate `mcnt'.
97386
97387 2000-10-25  Jim Meyering  <meyering@lucent.com>
97388
97389         * lib/obstack.c: Update from libc.
97390
97391 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
97392
97393         * regex.c (regex_compile): Change the way of handling a range from
97394         a char less than 256 to a char not less than 256.
97395
97396 2000-10-24  Andrew Innes  <andrewi@gnu.org>
97397
97398         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
97399         NT-Emacs only.
97400         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
97401         so that re_search functions only quit when callers expect them to.
97402
97403 2000-10-23  Jim Meyering  <meyering@lucent.com>
97404
97405         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
97406         wrong.  That set_locale call must not have any side effects.
97407         From Paul Eggert.
97408
97409 2000-10-22  Jim Meyering  <meyering@lucent.com>
97410
97411         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
97412         [CYCLIC]: Remove now-unused definition.
97413
97414         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
97415         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
97416         Suggestion from Ulrich Drepper.
97417
97418 2000-10-21  Jim Meyering  <meyering@lucent.com>
97419
97420         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
97421         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
97422         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
97423
97424 2000-10-21  Jim Meyering  <meyering@lucent.com>
97425
97426         * lib/dirname.c (memrchr): Declare if necessary.
97427         (dir_name): Remove the restriction that there be no
97428         trailing slashes.  Now, this code skips past them, effectively
97429         ignoring them.
97430         [TEST_DIRNAME] (main): New unit tests.
97431
97432         * lib/memrchr.c: New file from GNU libc.
97433         Undef __memrchr, too.
97434         [!weak_alias]: Define __memrchr to memrchr.
97435         Guard weak_alias use with `#ifdef weak_alias'.
97436
97437 2000-10-21  Jim Meyering  <meyering@lucent.com>
97438
97439         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
97440         (dir_name): Use dir_name_r.
97441         * lib/dirname.h (dir_name_r): Declare it.
97442
97443 2000-10-17  Jim Meyering  <meyering@lucent.com>
97444
97445         * lib/quote.h (PARAMS): Define and use.
97446         Reported by Akim Demaille.
97447
97448         * lib/getopt.c: Update from libc.
97449
97450 2000-10-16  Jim Meyering  <meyering@lucent.com>
97451
97452         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
97453         setlocale.
97454         From Jan Fedak.
97455
97456 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
97457
97458         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
97459
97460 2000-09-25  Jim Meyering  <meyering@lucent.com>
97461
97462         * lib/md5.h (rol): Define (from GnuPG).
97463
97464         * lib/sha.c: Give credit (GnuPG) where due.
97465         (M): Use rol rather than open-coding it.
97466         Add a FIXME comment.
97467
97468 2000-09-21  Jim Meyering  <meyering@lucent.com>
97469
97470         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
97471         Reported by Michael Stone.
97472
97473 2000-09-20  Jim Meyering  <meyering@lucent.com>
97474
97475         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
97476         (noinst_HEADERS): Add sha.h.
97477         Based on code from Scott G. Miller and from GnuPG.
97478
97479 2000-09-18  Jim Meyering  <meyering@lucent.com>
97480
97481         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
97482         LIBS. Otherwise, everyone ends up linking with -lelf for some
97483         configurations.
97484         Reported by Mike Stone.
97485
97486 2000-09-15  Jim Meyering  <meyering@lucent.com>
97487
97488         * lib/regex.c: Update from libc.
97489
97490 2000-09-10  Jim Meyering  <meyering@lucent.com>
97491
97492         * lib/getopt.c (_getopt_internal): Update from glibc.
97493
97494 2000-09-09  Jim Meyering  <meyering@lucent.com>
97495
97496         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
97497         think it should be used as a general replacement for isascii.
97498         * lib/fnmatch.c: Likewise.
97499         * lib/mbswidth.c: Likewise
97500         * lib/regex.c: Likewise.
97501
97502         Don't use atoi.
97503         * lib/userspec.c: Include sys/param.h and limits.h.
97504         Include xstrtol.h.
97505         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
97506         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
97507         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
97508         UID, GID.  Check range.
97509
97510 2000-09-06  Jim Meyering  <meyering@lucent.com>
97511
97512         * lib/getopt.c (_getopt_internal): Update from glibc.
97513
97514 2000-08-30  Jim Meyering  <meyering@lucent.com>
97515
97516         * lib/strftime.c: Merge in changes from GNU libc.
97517
97518 2000-08-26  Jim Meyering  <meyering@lucent.com>
97519
97520         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
97521         * m4/fpending.m4: New file.
97522
97523 2000-08-26  Jim Meyering  <meyering@lucent.com>
97524
97525         * lib/closeout.c: Include "__fpending.h".
97526         (close_stdout_status): Return right away if there's nothing to flush.
97527
97528         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
97529         * lib/__fpending.c: New file.
97530         * lib/__fpending.h: New file.
97531
97532 2000-08-20  Jim Meyering  <meyering@lucent.com>
97533
97534         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
97535         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
97536         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
97537
97538 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
97539
97540         Improve fileutils installation on systems where running
97541         programs (like install) can't be unlinked.
97542         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
97543         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
97544
97545 2000-08-07  Paul Eggert  <eggert@twinsun.com>
97546
97547         Standardize on "memory exhausted" instead of "Memory exhausted"
97548         or "virtual memory exhausted".
97549         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
97550         "virtual memory exhausted".
97551         * lib/same.c (same_name): Invoke xalloc_die instead of printing
97552         our own message.
97553         * lib/userspec.c (parse_user_spec): Likewise.
97554         * lib/bumpalloc.h: comment fix
97555         * lib/same.c, userspec.c: Include xalloc.h.
97556
97557         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
97558         not char *const and pointing to a constant array.
97559         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
97560         (xrealloc): Comment fix.
97561
97562         * lib/userspec.c (parse_user_spec):
97563         Don't translate a message until just before returning,
97564         to avoid unnecessary translation.
97565
97566 2000-08-07  Jim Meyering  <meyering@lucent.com>
97567
97568         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
97569         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
97570         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
97571         getgroups.c, gethostname.c, getopt.h, group-member.c,
97572         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
97573         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
97574         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
97575         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
97576         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
97577         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
97578         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
97579         yesno.c: Back out Copyright date changes for each file with no change
97580         this year.  This eases coordination with other programs using the same
97581         source code modules.  From Paul Eggert.
97582
97583 2000-08-06  Paul Eggert  <eggert@twinsun.com>
97584
97585         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
97586         not char, for compatibility with glibc 2.1.3 strftime.c.
97587
97588 2000-08-03  Greg McGary  <greg@mcgary.org>
97589
97590         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
97591         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
97592         (EXTEND_BUFFER): Use them.
97593
97594 2000-08-01  Jim Meyering  <meyering@lucent.com>
97595
97596         * lib/dirname.c (ISSLASH): Define.
97597         (BACKSLASH_IS_PATH_SEPARATOR): Define.
97598         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
97599         both `\' and `/' may be use as path separators.
97600         Based on a patch from Prashant TR.
97601
97602 2000-07-31  Paul Eggert  <eggert@twinsun.com>
97603
97604         * lib/quotearg.c (quotearg_n_options): Don't make the initial
97605         slot vector a constant, since it might get modified.
97606
97607 2000-07-31  Jim Meyering  <meyering@lucent.com>
97608
97609         * lib/xmalloc.c: Use `virtual memory exhausted', not
97610         `Memory exhausted'.
97611         * lib/obstack.c (print_and_abort): Likewise.
97612
97613 2000-07-30  Paul Eggert  <eggert@twinsun.com>
97614
97615         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
97616         buffer, so that the caller can always quote one small
97617         component of a "memory exhausted" message in slot 0.
97618         From a suggestion by Jim Meyering.
97619
97620 2000-07-30  Jim Meyering  <meyering@lucent.com>
97621
97622         * lib/makepath.c (make_path): Quote the other instance, too.
97623
97624         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
97625         (STATIC_BUF_SIZE): Define.
97626         (quotearg_n_options): Use only statically allocated storage when
97627         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
97628         than STATIC_BUF_SIZE.
97629
97630 2000-07-29  Jim Meyering  <meyering@lucent.com>
97631
97632         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
97633         * lib/dirname.c (dir_name): Likewise.
97634
97635         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
97636         `/'.
97637
97638         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
97639         (dir_name): Assert that there are no trailing slashes.
97640
97641 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
97642
97643         * lib/mbswidth.h (mbswidth): Add a flags argument.
97644         (mbswidth): New declaration.
97645         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
97646         * lib/mbswidth.c (mbswidth): Add a flags argument.
97647         (mbsnwidth): New function.
97648
97649 2000-07-24  Jim Meyering  <meyering@lucent.com>
97650
97651         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
97652
97653 2000-07-23  Paul Eggert  <eggert@twinsun.com>
97654
97655         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
97656
97657 2000-07-23  Paul Eggert  <eggert@twinsun.com>
97658
97659         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
97660         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
97661         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
97662         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
97663         invoke multibyte primitives.
97664
97665 2000-07-23  Paul Eggert  <eggert@twinsun.com>
97666
97667         * lib/quotearg.c:
97668         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
97669         so that mbstate_t is always defined.
97670
97671         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
97672         be 1 in at least one GCC installation, and this configuration
97673         error is likely to be common.  Ignoring MB_LEN_MAX hurts
97674         performance on hosts that have mbrtowc but have only unibyte
97675         locales, but I assume these hosts are rare.
97676
97677 2000-07-23  Paul Eggert  <eggert@twinsun.com>
97678
97679         * lib/mbswidth.c (_XOPEN_SOURCE):
97680         Don't define; this causes problems on Solaris 7.
97681         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
97682
97683 2000-07-23  Jim Meyering  <meyering@lucent.com>
97684
97685         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
97686         too: getgrgid, getpwuid, getuid.
97687
97688 2000-07-23  Jim Meyering  <meyering@lucent.com>
97689
97690         * lib/basename.c (base_name): Add an assertion.
97691
97692 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
97693
97694         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
97695         shadow its mbsinit function.
97696
97697 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
97698
97699         * lib/mbswidth.h: New file.
97700         * lib/mbswidth.c: New file.
97701         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
97702         (noinst_HEADERS): Add mbswidth.h.
97703
97704 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
97705
97706         * lib/config.charset: Add support for FreeBSD. Improve support for
97707         HP-UX and IRIX 6.
97708
97709 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
97710
97711         * m4/mbswidth.m4: New file.
97712         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
97713
97714 2000-07-15  Jim Meyering  <meyering@lucent.com>
97715
97716         * lib/makepath.c: Include quote.h.
97717         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
97718         corresponding argument in a `quote (...)' call.
97719         Give better diagnostics.
97720
97721         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
97722         (noinst_HEADERS): Add quote.h.
97723
97724         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
97725         from tar's src/misc.c.
97726         * lib/quote.h: New file.  Prototypes for same.
97727
97728 2000-07-14  Paul Eggert  <eggert@twinsun.com>
97729
97730         From a suggestion by Bruno Haible.
97731         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
97732         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
97733         to decide whether to define the BeOS workaround macro;
97734         this adjusts to the change to AC_MBSTATE_T.
97735
97736 2000-07-14  Jim Meyering  <meyering@lucent.com>
97737
97738         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
97739         jm_AC_TYPE_UINTMAX_T.
97740
97741 2000-07-13  Paul Eggert  <eggert@twinsun.com>
97742
97743         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
97744
97745         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
97746         quotearg_buffer_restyled): Add support for
97747         clocale_quoting_style.  Undo previous change to
97748         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
97749         and "{RIGHT QUOTATION MARK}" msgids.
97750
97751 2000-07-10  Paul Eggert  <eggert@twinsun.com>
97752
97753         From a suggestion by Bruno Haible.
97754         * m4/mbstate_t.m4 (AC_MBSTATE_T):
97755         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
97756         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
97757         and mbstate_t, to a single-part test that simply defines mbstate_t.
97758         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
97759         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
97760
97761 2000-07-10  Jim Meyering  <meyering@lucent.com>
97762
97763         * m4/strerror_r.m4: Mirror the correction made in autoconf.
97764
97765         * m4/gnu-source.m4: Output to confdefs.h directly.
97766         Suggestion from Akim Demaille.
97767
97768 2000-07-09  Paul Eggert  <eggert@twinsun.com>
97769
97770         The old behavior of quoting `like this' doesn't look good with
97771         newer, ISO-style fonts.  See:
97772         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
97773
97774         Instead, quote "like this" by default.  Let the translator
97775         tailor the locale-specific quoting behavior by providing
97776         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
97777
97778         * lib/quotearg.c (N_): New macro.
97779         (gettext_default): New function.
97780         (quotearg_buffer_restyled): Use
97781         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
97782         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
97783
97784 2000-07-09  Jim Meyering  <meyering@lucent.com>
97785
97786         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
97787         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
97788
97789         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
97790         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
97791
97792 2000-07-09  Jim Meyering  <meyering@lucent.com>
97793
97794         * lib/Most files: Update copyright dates to include 2000.
97795
97796 2000-07-08  Jim Meyering  <meyering@lucent.com>
97797
97798         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
97799         if not defined.
97800         (xgethostname): Remove now-unnecessary #ifdef.
97801         Move declaration of `err' into loop where it's used.
97802
97803 2000-07-05  Paul Eggert  <eggert@twinsun.com>
97804         and Bruno Haible  <haible@clisp.cons.org>
97805
97806         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
97807         only if the test for an object-type mbstate_t fails.  This
97808         prevents us from mistakenly reporting that mbstate_t is a
97809         system object type after we "#define mbstate_t int" to work
97810         around its lack.
97811
97812 2000-07-05  Paul Eggert  <eggert@twinsun.com>
97813         and Bruno Haible  <haible@clisp.cons.org>
97814
97815         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
97816
97817 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
97818
97819         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
97820         to strerror_r.
97821         Include <ctype.h> for use of isalpha.
97822
97823 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
97824
97825         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
97826         by allocating a larger buffer. Test the gethostname return value for
97827         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
97828         returns an error and ENAMETOOLONG isn't defined.
97829
97830 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
97831
97832         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
97833         dimension.
97834
97835 2000-07-04  Jim Meyering  <meyering@lucent.com>
97836
97837         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
97838         of the deprecated AC_CHECKING.
97839
97840 2000-07-04  Jim Meyering  <meyering@lucent.com>
97841
97842         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
97843         Reported by Bruno Haible.
97844
97845 2000-07-04  Jim Meyering  <meyering@lucent.com>
97846
97847         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
97848         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
97849         lacks mbrtowc.
97850
97851 2000-07-03  Paul Eggert  <eggert@twinsun.com>
97852
97853         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
97854         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
97855
97856 2000-07-03  Paul Eggert  <eggert@twinsun.com>
97857         and Bruno Haible  <haible@clisp.cons.org>
97858
97859         * lib/quotearg.c (mbrtowc):
97860         Assign to *pwc, and return 1 only if result is nonzero.
97861         (iswprint): Use ISPRINT when substituting our own mbrtowc.
97862
97863 2000-07-03  Jim Meyering  <meyering@lucent.com>
97864
97865         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
97866
97867 2000-07-03  Jim Meyering  <meyering@lucent.com>
97868
97869         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
97870         This is necessary to get a definition of e.g., UTMP_FILE on
97871         HP-UX 10.20.
97872         From Bob Proulx.
97873
97874 2000-07-02  Jim Meyering  <meyering@lucent.com>
97875
97876         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
97877
97878         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
97879         AC_LIBOBJ(function_name).
97880         * m4/chown.m4: Likewise.
97881         * m4/fnmatch.m4: Likewise.
97882         * m4/ftruncate.m4: Likewise.
97883         * m4/getgroups.m4: Likewise.
97884         * m4/getline.m4: Likewise.
97885         * m4/group-member.m4: Likewise.
97886         * m4/jm-macros.m4: Likewise.
97887         * m4/lstat.m4: Likewise.
97888         * m4/malloc.m4: Likewise.
97889         * m4/memcmp.m4: Likewise.
97890         * m4/nanosleep.m4: Likewise.
97891         * m4/putenv.m4: Likewise.
97892         * m4/realloc.m4: Likewise.
97893         * m4/regex.m4: Likewise.
97894         * m4/stat.m4: Likewise.
97895         * m4/strftime.m4: Likewise.
97896
97897 2000-07-02  Jim Meyering  <meyering@lucent.com>
97898
97899         * lib/quotearg.c (mbstate_t): Don't define here.
97900
97901 2000-07-02  Jim Meyering  <meyering@lucent.com>
97902
97903         * lib/nanosleep.c (SIGCONT): Define if not already defined.
97904
97905 2000-07-01  Jim Meyering  <meyering@lucent.com>
97906
97907         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
97908
97909 2000-07-01  Jim Meyering  <meyering@lucent.com>
97910
97911         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
97912         problem.
97913
97914 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
97915
97916         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
97917         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
97918
97919 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
97920
97921         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
97922         per change in ../m4/ls-mntd-fs.m4.
97923         (read_filesystem_list): Ignore symbolic links.
97924
97925 2000-06-29  Jim Meyering  <meyering@lucent.com>
97926
97927         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
97928         for declaration of strcmp.
97929
97930         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
97931
97932         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
97933         Avoid warning by casting result to `char *' to remove `const'.
97934
97935 2000-06-28  Jim Meyering  <meyering@lucent.com>
97936
97937         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
97938         included by quotearg.c, for which we perform this test.  From
97939         Bruno Haible.
97940
97941 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
97942
97943         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
97944         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
97945         <utmpx.h> exists, put readutmp.o into LIBOBJS.
97946
97947 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
97948
97949         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
97950
97951 2000-06-26  Paul Eggert  <eggert@twinsun.com>
97952
97953         savedir now sets errno on failure and invokes xmalloc to get memory.
97954         Fix a couple of other minor bugs while we're at it.
97955
97956         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
97957         (NAMLEN): Remove macro.
97958         (malloc, realloc): Remove decls.
97959         (stpcpy): Likewise.
97960         ("xalloc.h"): Include.
97961         (NAME_SIZE_DEFAULT): New macro.
97962         (savedir): Use xmalloc / xrealloc to allocate memory.
97963         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
97964         Skip "" directory entries.
97965         Use strlen to calculate directory entry length, since the old method
97966         is rarely used these days and isn't worth supporting.
97967         Don't use a pointer after freeing it.
97968         Check for integer overflow when calculating allocation size.
97969         Use memcpy to copy entries, instead of stpcpy.
97970         Set errno properly when returning NULL.
97971         Check for readdir error.
97972
97973 2000-06-26  Jim Meyering  <meyering@lucent.com>
97974
97975         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
97976
97977 2000-06-25  Jim Meyering  <meyering@lucent.com>
97978
97979         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
97980         Linux header bug when _XOPEN_SOURCE is defined to 500.
97981
97982 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
97983
97984         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
97985         deficiency.
97986
97987 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
97988
97989         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
97990         Include xalloc.h.
97991         Don't include <stdlib.h>.  Don't declare malloc, realloc.
97992
97993 2000-06-24  Jim Meyering  <meyering@lucent.com>
97994
97995         * m4/strerror_r.m4: Revive this file -- to try out an experimental
97996         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
97997         for which strerror does return char*, but which lacks a conveniently
97998         accessible declaration of the function.  If the compile-test says
97999         strerror_r doesn't work, then resort to a `run'-test that works on
98000         BeOS and segfaults on DEC Unix.
98001
98002 2000-06-24  Jim Meyering  <meyering@lucent.com>
98003
98004         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
98005
98006 2000-06-23  Paul Eggert  <eggert@twinsun.com>
98007
98008         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
98009         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
98010
98011 2000-06-23  Paul Eggert  <eggert@twinsun.com>
98012
98013         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
98014         (mbrtowc, mbstate_t): Define substitutes if
98015         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
98016         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
98017         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
98018
98019 2000-06-23  Jim Meyering  <meyering@lucent.com>
98020
98021         * m4/afs.m4: Add missing AC_MSG_RESULT.
98022         Reported by Bruno Haible.
98023
98024         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
98025         Suggestion from Bruno Haible.
98026
98027 2000-06-23  Jim Meyering  <meyering@lucent.com>
98028
98029         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
98030
98031 2000-06-21  Jim Meyering  <meyering@lucent.com>
98032
98033         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
98034
98035 2000-06-21  Jim Meyering  <meyering@lucent.com>
98036
98037         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
98038         (noinst_HEADERS): Add getstr.h.
98039
98040         * lib/getline.c (getstr): Move into a separate file.
98041         * lib/getstr.c (getstr): New file, extracted from getline.c, with
98042         the following changes: new parameter, delim2; both delim[12]
98043         parameters have type `int', not `char'.  The latter would lose
98044         with 8-bit delimiters.
98045         * lib/getstr.h: New file.
98046
98047 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
98048
98049         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
98050         than 1024, return a memory chunk of least possible size, instead
98051         of size PATH_MAX + 2. In the loop, increment the size proportionally.
98052         Use free/xmalloc instead of xrealloc to avoid copying for very long
98053         paths.
98054
98055 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
98056
98057         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
98058         the empty string.
98059
98060 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
98061
98062         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
98063         address, not strdup.  Include <stdlib.h> and don't declare free().
98064
98065 2000-06-19  Jim Meyering  <meyering@lucent.com>
98066
98067         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
98068
98069 2000-06-18  Jim Meyering  <meyering@lucent.com>
98070
98071         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
98072
98073         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
98074         `checking whether...' message to be consistent with that of the
98075         lstat test.
98076
98077 2000-06-18  Jim Meyering  <meyering@lucent.com>
98078
98079         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
98080         Besides, these days every porting target provides a mkdir function.
98081
98082         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
98083         needed. (this snippet comes from src/system.h).
98084
98085 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
98086
98087         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
98088
98089 2000-06-15  Paul Eggert  <eggert@twinsun.com>
98090
98091         * lib/human.c (adjust_value): New function.
98092         (human_readable_inexact): Apply rounding style even when
98093         printing approximate values.
98094
98095 2000-06-14  Paul Eggert  <eggert@twinsun.com>
98096
98097         * lib/human.c (human_readable_inexact): Allow an input block
98098         size that is not a multiple of the output block size, and vice versa.
98099         Reported by Piergiorgio Sartor.
98100
98101 2000-06-14  Paul Eggert  <eggert@twinsun.com>
98102
98103         * lib/getdate.y (get_date): Apply relative times after time
98104         zone indicator, not before.  Reported by Todd A. Jacobs.
98105
98106 2000-06-13  Jim Meyering  <meyering@lucent.com>
98107
98108         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
98109
98110         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
98111
98112 2000-06-12  Paul Eggert  <eggert@twinsun.com>
98113
98114         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
98115
98116 2000-06-12  Jim Meyering  <meyering@lucent.com>
98117
98118         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
98119         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
98120         optional argument.
98121         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
98122         the optional argument, `lib'.
98123
98124 2000-06-08  Jim Meyering  <meyering@lucent.com>
98125
98126         * m4/largefile.m4: Remove file (now that it's part of autoconf).
98127
98128 2000-06-04  Paul Eggert  <eggert@twinsun.com>
98129
98130         Rewrite largefile configuration so that we don't need to run
98131         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
98132         AC_CANONICAL_HOST in configure.in -- jmm]
98133
98134         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
98135         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
98136         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
98137         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
98138         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
98139         All uses changed.
98140         Instead of inspecting the output of getconf, try to compile the
98141         test program without and with the macro definition.
98142         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
98143         for getconf.  Instead, check for the needed flags by compiling
98144         test programs.
98145
98146 2000-06-04  Paul Eggert  <eggert@twinsun.com>
98147
98148         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
98149
98150 2000-06-04  Jim Meyering  <meyering@lucent.com>
98151
98152         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
98153         SunOS 4.1.4 for which gid_t is an unsigned type.
98154
98155 2000-06-03  Jim Meyering  <meyering@lucent.com>
98156
98157         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
98158         now that autoconf requires that.
98159
98160         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
98161         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
98162         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
98163
98164 2000-06-03  Jim Meyering  <meyering@lucent.com>
98165
98166         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
98167
98168 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
98169
98170         * m4/glibc21.m4: New file.
98171         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
98172
98173 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
98174
98175         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
98176         newer, don't install charset.alias.
98177         * lib/config.charset: Change the Linux/glibc rules so they become empty
98178         on glibc-2.1 or newer.
98179
98180 2000-06-02  Jim Meyering  <meyering@lucent.com>
98181
98182         * lib/mountlist.c: Back out last change.  Instead, do this...
98183         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
98184         me_dummy member using the same `ignore'-testing code.
98185         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
98186         fs_type strings.
98187         From Mark D. Roth.
98188
98189 2000-05-29  Jim Meyering  <meyering@lucent.com>
98190
98191         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
98192         mounts with the `ignore' attribute.  Based on a patch from
98193         Mark D. Roth.
98194
98195 2000-05-28  Jim Meyering  <meyering@lucent.com>
98196
98197         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
98198         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
98199         * m4/stat.m4: Likewise.
98200         * m4/lstat.m4: Likewise.
98201         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
98202
98203         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
98204         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
98205
98206 2000-05-26  Jim Meyering  <meyering@lucent.com>
98207
98208         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
98209
98210 2000-05-24  Jim Meyering  <meyering@lucent.com>
98211
98212         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
98213         autoconf requires that.
98214         * m4/lib-check.m4: Likewise.
98215         * m4/jm-macros.m4: Likewise.
98216         * m4/strftime.m4: Likewise.
98217
98218         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
98219         AC_CHECK_DECLS, now that autoconf requires that.
98220
98221 2000-05-22  Jim Meyering  <meyering@lucent.com>
98222
98223         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
98224         * m4/lstat.m4: Likewise.
98225
98226 2000-05-22  Jim Meyering  <meyering@lucent.com>
98227
98228         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
98229
98230 2000-05-20  Jim Meyering  <meyering@lucent.com>
98231
98232         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
98233         (jm_PREREQ): Use it.
98234
98235 2000-05-18  Jim Meyering  <meyering@lucent.com>
98236
98237         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
98238         back, too, since it may have been modified by allocate_entry.
98239         (hash_delete): Rewrite to use neither the assignment operator
98240         nor the comma operator in an if-expression.
98241
98242 2000-05-15  Paul Eggert  <eggert@twinsun.com>
98243
98244         * lib/closeout.c:
98245         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
98246         Remove; no longer needed.
98247         "quotearg.h": Add include.
98248         (file_name): Do not bother to explicitly initialize to NULL; it's less
98249         efficient on some hosts.
98250         (close_stdout_status): Remove test as to whether stdout was already
98251         closed; it breaks for the case "echo x | sort >&-".
98252         Quote file name colons.
98253         Do not assume that _("write error") lacks format strings.
98254
98255 2000-05-15  Jim Meyering  <meyering@lucent.com>
98256
98257         * lib/version-etc.c (version_etc_copyright): Update the copyright
98258         string used in all --version output.
98259
98260 2000-05-14  Jim Meyering  <meyering@lucent.com>
98261
98262         * lib/closeout.c (close_stdout_set_file_name): New function.
98263         (close_stdout_status): Use new file-scoped global.
98264         Return right away if fstat says the stdout file descriptor is invalid.
98265         * lib/closeout.h (close_stdout_set_file_name): Declare.
98266
98267 2000-05-10  Jim Meyering  <meyering@lucent.com>
98268
98269         * lib/closeout.c [default_exit_status]: New file-scoped variable.
98270         (close_stdout_set_status): New function.
98271         * lib/closeout.h (close_stdout_set_status): Declare.
98272
98273 2000-05-09  Jim Meyering  <meyering@lucent.com>
98274
98275         * m4/gettext.m4: Rename this...
98276         * m4/libintl.m4: ...to this.
98277
98278 2000-05-08  Jim Meyering  <meyering@lucent.com>
98279
98280         * lib/long-options.c: Don't include closeout.h.
98281         (parse_long_options): Don't call close_stdout for --version.
98282
98283 2000-05-06  Paul Eggert  <eggert@twinsun.com>
98284
98285         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
98286         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
98287         2.1.3 bug.  This avoids a clash when files like regex.c define
98288         _GNU_SOURCE.
98289
98290 2000-05-06  Jim Meyering  <meyering@lucent.com>
98291
98292         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
98293         (AC_REPLACE_FUNCS): Add strnlen.
98294
98295         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
98296         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
98297
98298         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
98299         AC_SEARCH_LIBS call for nanosleep.
98300         (LIB_NANOSLEEP): Set and AC_SUBST.
98301
98302 2000-05-06  Jim Meyering  <meyering@lucent.com>
98303
98304         * lib/strnlen.c: Undefine __strnlen and strnlen.
98305         [!weak_alias]: Define __strnlen to strnlen.
98306
98307         * lib/atexit.c: New file, from libiberty.
98308
98309 2000-05-06  Jim Meyering  <meyering@lucent.com>
98310
98311         * lib/closeout.c (close_stdout_status): Also check for errors on the
98312         stderr stream.
98313
98314 2000-05-05  Jim Meyering  <meyering@lucent.com>
98315
98316         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
98317         AC_SEARCH_LIBS call for clock_gettime.
98318         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
98319
98320         * m4/search-libs.m4: Update from autoconf.
98321
98322         su doesn't work on Solaris 2.6.
98323         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
98324         <shadow.h>.  Reported by Dragos Harabor.
98325
98326 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
98327
98328         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
98329         memcpy instead of xmalloc, xrealloc, path_concat.
98330         (locale_charset): Treat empty environment variables as absent.
98331         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
98332
98333 2000-05-04  Jim Meyering  <meyering@lucent.com>
98334
98335         * lib/getopt.c: Update from glibc.
98336         * lib/obstack.c: Likewise.
98337         * lib/obstack.h: Likewise.
98338         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
98339         file
98340
98341         * lib/regex.h: Likewise.
98342         * lib/strndup.c: Likewise.
98343         * lib/strnlen.c: New file, from glibc.
98344
98345 2000-05-03  Jim Meyering  <meyering@lucent.com>
98346
98347         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
98348
98349 2000-05-02  Paul Eggert  <eggert@twinsun.com>
98350
98351         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
98352         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
98353         compile-time test, rather than inspecting host and OS, to
98354         decide whether to define _LARGEFILE_SOURCE.
98355
98356 2000-05-01  Jim Meyering  <meyering@lucent.com>
98357
98358         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
98359
98360         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
98361         Based on a patch from Bruno Haible.
98362
98363 2000-05-01  Jim Meyering  <meyering@lucent.com>
98364
98365         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
98366
98367 2000-04-29  Jim Meyering  <meyering@lucent.com>
98368
98369         * lib/path-concat.c: Declare strdup only if it's not defined.
98370         * lib/canon-host.c: Likewise.
98371
98372 2000-04-28  Jim Meyering  <meyering@lucent.com>
98373
98374         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
98375         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
98376         is included first, then limits.h is included by locale.h by libintl.h.
98377         From John David Anglin.
98378
98379 2000-04-25  Jim Meyering  <meyering@lucent.com>
98380
98381         * lib/makepath.c (S_IRWXUGO): Define.
98382         (make_path): Always perform explicit chmod if MODE specifies any
98383         of the `special' permission bits.  Prompted by a bug report against
98384         install from Mate Wierdl and Joost van Baal.
98385
98386 2000-04-18  Jim Meyering  <meyering@lucent.com>
98387
98388         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
98389         (jm_PREREQ): Use it.
98390
98391 2000-04-18  Jim Meyering  <meyering@lucent.com>
98392
98393         * lib/README: New file.
98394
98395         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
98396         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
98397
98398 2000-04-17  Jim Meyering  <meyering@lucent.com>
98399
98400         Get it right :-)
98401         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
98402         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
98403         Suggestion from Akim Demaille.
98404
98405 2000-04-17  Jim Meyering  <meyering@lucent.com>
98406
98407         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
98408         the definition of it to rpl_strftime also defined-away the system's
98409         declaration.
98410
98411 2000-04-15  Jim Meyering  <meyering@lucent.com>
98412
98413         Use `C' to denote so-called `contiguous' files, the same way
98414         that tar does.
98415         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
98416         (ftypelet): Use S_ISCTG.
98417         From Michael Deutschmann.
98418
98419 2000-04-14  Jim Meyering  <meyering@lucent.com>
98420
98421         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
98422         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
98423         clobbered.
98424
98425 2000-04-14  Jim Meyering  <meyering@lucent.com>
98426
98427         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
98428
98429 2000-04-13  Jim Meyering  <meyering@lucent.com>
98430
98431         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
98432         AH_VERBATIM to insert required #ifndef into config.h.in.
98433         Suggestion from Akim Demaille.
98434
98435 2000-04-12  Jim Meyering  <meyering@lucent.com>
98436
98437         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
98438         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
98439         Christian Krackowizer.
98440
98441         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
98442         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
98443         (AC_SYS_LARGEFILE): Require.
98444         (AM_C_PROTOTYPES): Require.
98445
98446 2000-04-08  Jim Meyering  <meyering@lucent.com>
98447
98448         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
98449         names don't conflict.  Reported by Eli Zaretskii.
98450
98451 2000-04-07  Jim Meyering  <meyering@lucent.com>
98452
98453         * lib/putenv.c: Move inclusion of errno.h so it follows that of
98454         sys/types.h, to work around system header problems on AIX 3.2.5.
98455         From Bruno Haible.
98456
98457 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
98458
98459         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
98460         bug.  Deal with the different error behavior of Irix iconv.
98461
98462 2000-04-05  Paul Eggert  <eggert@twinsun.com>
98463
98464         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
98465         IRIX if the installer said otherwise.
98466
98467 2000-04-05  Jim Meyering  <meyering@lucent.com>
98468
98469         Portability tweaks required for ultrix4.3.
98470         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
98471         (jm_CHECK_DECLS): Add getutent to the list of functions.
98472         (_jm_DECL_HEADERS): Add utmpx.h.
98473         From John David Anglin.
98474
98475         * m4/strftime.m4: Back out the 2000-04-02 change.
98476         Instead of that change, simply undefine putenv in the test program.
98477
98478 2000-04-05  Jim Meyering  <meyering@lucent.com>
98479
98480         Portability tweaks required for ultrix4.3.
98481         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
98482         getutent.
98483         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
98484         * lib/canon-host.c: Declare strdup.
98485         * lib/path-concat.c: Likewise.
98486         From John David Anglin.
98487
98488 2000-04-04  Jim Meyering  <meyering@lucent.com>
98489
98490         Be more DOS 8.3-friendly.
98491         * lib/ref-add.sin: Renamed from ref-add.sed.in.
98492         * lib/ref-del.sin: Renamed from ref-del.sed.in.
98493         * lib/Makefile.am: Reflect renaming.
98494         Reported by Eli Zaretskii.
98495
98496         Use a temporary file name that won't clash with `charset.alias'
98497         in the DOS 8.3 name space.
98498         * lib/Makefile.am (charset_tmp): Define.
98499         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
98500         (uninstall-local): Likewise.
98501         Reported by Eli Zaretskii.
98502
98503 2000-04-03  Jim Meyering  <meyering@lucent.com>
98504
98505         * m4/gettext.m4: Fix typo in comment.
98506
98507         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
98508         textutils/configure.in).  Suggestion from Paul Eggert.
98509         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
98510
98511 2000-04-02  Paul Eggert  <eggert@twinsun.com>
98512
98513         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
98514         variable in the shell rather than using putenv, which isn't
98515         portable.  This avoids the configure-time inter-test dependency
98516         on the potentially-renamed putenv function.
98517
98518 2000-03-30  Paul Eggert  <eggert@twinsun.com>
98519
98520         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
98521         before checking struct stat.st_blksize, so that
98522         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
98523
98524 2000-03-29  Paul Eggert  <eggert@twinsun.com>
98525
98526         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
98527         since strftime.c uses HAVE_STRFTIME to decide whether to use
98528         the underlying strftime.
98529
98530 2000-03-29  Paul Eggert  <eggert@twinsun.com>
98531
98532         * lib/time/strftime.c (my_strftime): Make sure we call the system
98533         strftime, not ourselves, when invoking the underlying strftime.
98534
98535 2000-03-24  Jim Meyering  <meyering@lucent.com>
98536
98537         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
98538         (charset_alias): Define.
98539         (install-exec-local): Factor out common code.
98540         (uninstall-local): Split lines longer than 80.
98541         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
98542         (SUFFIXES): Define.
98543         (.sed.in.sed): New rule.  Don't redirect directly to $@.
98544         (CLEANFILES): Add ref-add.sed and ref-del.sed.
98545
98546 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
98547
98548         * lib/config.charset: Output a line containing "Packages using this
98549         file".
98550         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
98551         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
98552         ref-del.sed): New rules.
98553
98554 2000-03-17  Jim Meyering  <meyering@lucent.com>
98555
98556         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
98557         Otherwise, include <strings.h>
98558
98559 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
98560
98561         * lib/unicodeio.c (utf8_wctomb): New function.
98562         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
98563         format instead of in UCS-4 with platform dependent endianness.
98564
98565 2000-03-10  Jim Meyering  <meyering@lucent.com>
98566
98567         * m4/lib-check.m4: Look for getspnam in -lgen, too.
98568         From Marco Franzen.
98569
98570 2000-03-07  Paul Eggert  <eggert@twinsun.com>
98571
98572         * lib/savedir.c (savedir): Work even if directory size is
98573         negative; this can happen with some screwy NFS configurations.
98574
98575 2000-03-06  Jim Meyering  <meyering@lucent.com>
98576
98577         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
98578         if it's NULL (because we ran out of memory).  From Bruno Haible.
98579
98580 2000-03-05  Jim Meyering  <meyering@lucent.com>
98581
98582         * lib/localcharset.c ("path-concat.h"): Include.
98583         (get_charset_aliases): Use path_concat instead of ANSI string
98584         concatenation.
98585
98586         * lib/unicodeio.h (PARAMS): Define.
98587         Use it to guard prototype.
98588
98589 2000-03-04  Jim Meyering  <meyering@lucent.com>
98590
98591         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
98592         for lib/localcharset.c.
98593
98594 2000-03-04  Jim Meyering  <meyering@lucent.com>
98595
98596         * lib/Makefile.am (install-exec-local): Create $(libdir) before
98597         installing into it.
98598         (uninstall-local): Uncomment this rule so `make distcheck' works
98599         once again.
98600
98601         * lib/unicodeio.c (<errno.h>): Include it.
98602         (errno): Declare if not defined.
98603
98604         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
98605
98606         * lib/config.charset: New version, incorporating remarks from a linux
98607         i18n mailing list.  From Bruno Haible.
98608
98609 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
98610
98611         * m4/codeset.m4: New file.
98612         * m4/iconv.m4: New file.
98613         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
98614
98615 2000-03-03  Jim Meyering  <meyering@lucent.com>
98616
98617         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
98618
98619 2000-03-02  Jim Meyering  <meyering@lucent.com>
98620
98621         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
98622         the messages come out on separate lines.
98623
98624         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
98625         rather than jm_CHECK_DECLARATIONS.
98626         * m4/decl.m4: Remove now-unused file.
98627
98628         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
98629         geteuid.
98630
98631 2000-03-02  Jim Meyering  <meyering@lucent.com>
98632
98633         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
98634
98635 2000-03-01  Jim Meyering  <meyering@lucent.com>
98636
98637         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
98638         * lib/unicodeio.c: Likewise.
98639
98640 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
98641
98642         * lib/config.charset: New file.
98643         * lib/localcharset.c: New file.
98644         * lib/unicodeio.h, lib/unicodeio.c: New files.
98645         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
98646         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
98647         (noinst_HEADERS): Add unicodeio.h.
98648         (all-local, install-exec-local, charset.alias): New targets.
98649
98650 2000-02-28  Paul Eggert  <eggert@twinsun.com>
98651
98652         * lib/quotearg.c (ALERT_CHAR): New macro.
98653         (quotearg_buffer_restyled): Use it.
98654
98655 2000-02-27  Jim Meyering  <meyering@lucent.com>
98656
98657         * m4/check-decl.m4: Add getenv to the list.
98658
98659 2000-02-27  Jim Meyering  <meyering@lucent.com>
98660
98661         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
98662         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
98663
98664         * lib/backupfile.c: Guard inclusion of stdlib.h with
98665         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
98666         Declare malloc if needed.
98667
98668         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
98669         `#ifndef HAVE_DECL..'
98670         now that autoconf always defines the HAVE_DECL_ symbols.
98671         * lib/human.c: Likewise.
98672         * lib/same.c: Likewise.
98673         * lib/strtoumax.c: Likewise.
98674
98675         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
98676         declaration check was not run.
98677         * lib/hash.c: Likewise.
98678         * lib/human.c: Likewise.
98679         * lib/same.c: Likewise.
98680         * lib/strtoumax.c: Likewise.
98681
98682         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
98683         `.', then first look up the entire `.'-containing string as a login
98684         name.
98685
98686 2000-02-23  Jim Meyering  <meyering@lucent.com>
98687
98688         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
98689         in place of my hack.
98690
98691 2000-02-18  Paul Eggert  <eggert@twinsun.com>
98692
98693         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
98694         (textint): New typedef.
98695         (parser_control): Member year changed from int to textint.
98696         All uses changed.
98697         (YYSTYPE): Removed; replaced by %union with int and textint members.
98698         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
98699         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
98700         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
98701         (tSNUMBER, tUNUMBER): Now of type <textintval>.
98702         (date, number, to_year): Use width of number in digits, not its value,
98703         to determine whether it's a 2-digit year, or a 2-digit time.
98704         (yylex): Store number of digits of numeric tokens.
98705         Reported by John Kendall.
98706
98707         (parser_control): Changed from struct parser_control to typedef (for
98708         consistency).  All uses changed.
98709
98710         (tID): Removed; not used.
98711         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
98712
98713 2000-02-14  Paul Eggert  <eggert@twinsun.com>
98714
98715         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
98716         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
98717
98718 2000-02-12  Jim Meyering  <meyering@lucent.com>
98719
98720         * lib/userspec.c (ISDIGIT): Define it.
98721         (isdigit): Remove definition.
98722         (is_number): Use ISDIGIT, not isdigit.
98723         <libintl.h>: Include.
98724         (_ and N_): Define.
98725         (parse_user_spec): Mark translatable strings.
98726
98727 2000-02-10  Jim Meyering  <meyering@lucent.com>
98728
98729         With these changes, nanosleep.[ch] are finally enough like the other
98730         lib/* replacement files to compile on a few more losing systems.
98731
98732         * lib/nanosleep.h: Don't include config.h.
98733         Remove prototype from declaration of nanosleep.
98734         (PARAMS): Remove now-unneeded definition.
98735         * lib/nanosleep.c: #undef nanosleep.
98736         (rpl_nanosleep): Rename from nanosleep.
98737
98738 2000-02-10  Jim Meyering  <meyering@lucent.com>
98739
98740         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
98741         gnu_nanosleep to rpl_nanosleep.
98742
98743 2000-02-09  Jim Meyering  <meyering@lucent.com>
98744
98745         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
98746         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
98747
98748 2000-02-08  Akim Demaille  <akim@epita.fr>
98749
98750         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
98751         `[' and `]' and remove uses of `changequote'.
98752         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
98753         (AC_SYS_LARGEFILE): Likewise.
98754         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
98755         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
98756         of changequote.
98757         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
98758         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
98759         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
98760         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
98761
98762 2000-02-05  Jim Meyering  <meyering@lucent.com>
98763
98764         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
98765         Remove explicit use of AC_HEADER_TIME.  It is required by
98766         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
98767         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
98768         in autoconf whereby the expansion of the latter ended up preceding
98769         the expansion of its prerequisite, AC_HEADER_TIME.
98770         Reported by Volker Borchert.
98771
98772 2000-02-03  Jim Meyering  <meyering@lucent.com>
98773
98774         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
98775
98776 2000-02-03  Jim Meyering  <meyering@lucent.com>
98777
98778         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
98779         rather than with `#if HAVE_UTMPNAME'.
98780
98781 2000-02-02  Jim Meyering  <meyering@lucent.com>
98782
98783         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
98784         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
98785         Reported by Eli Zaretskii.
98786
98787 2000-02-01  Jim Meyering  <meyering@lucent.com>
98788
98789         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
98790
98791 2000-01-31  Jim Meyering  <meyering@lucent.com>
98792
98793         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
98794         functions.  Add the time.h and sys/time.h headers along with the
98795         AC_REQUIRE'ment of AC_HEADER_TIME.
98796
98797 2000-01-31  Jim Meyering  <meyering@lucent.com>
98798
98799         * lib/nanosleep.h (nanosleep): Guard declaration with
98800         `#if ! HAVE_DECL_NANOSLEEP'.
98801         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
98802         the declaration in that vendor's sys/timers.h.
98803         Reported by Christian Krackowizer.
98804
98805         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
98806         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
98807         (ISPRINT): Likewise.
98808         Reported by Tom Tromey.
98809
98810 2000-01-30  Jim Meyering  <meyering@lucent.com>
98811
98812         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
98813
98814         * m4/prereq.m4 (utmp_includes): Define.
98815         Check for ut_user and ut_name members in both struct utmpx
98816         and struct utmp.
98817
98818 2000-01-30  Jim Meyering  <meyering@lucent.com>
98819
98820         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
98821         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
98822         header files where only utmpx.ut_user is declared.
98823
98824         * lib/readutmp.h (UT_USER): Define.
98825
98826 2000-01-29  Jim Meyering  <meyering@lucent.com>
98827
98828         * m4/lib-check.m4: New file containing library-related checks from
98829         fileutils and sh-utils (textutils had none).
98830
98831 2000-01-28  Jim Meyering  <meyering@lucent.com>
98832
98833         * m4/perl.m4: Change format of warning message to look more like that
98834         from the missing script.  Suggestion from François Pinard.
98835
98836 2000-01-25  Jim Meyering  <meyering@lucent.com>
98837
98838         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
98839         well as time.h in the compile check.
98840         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
98841         Fix typo in cross-compiling case: s/yes/no/.
98842
98843 2000-01-23  Jim Meyering  <meyering@lucent.com>
98844
98845         * m4/jm-macros.m4: Move df-related tests here from
98846         fileutils/configure.in
98847
98848         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
98849         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
98850
98851         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
98852         s/space/ac_fsusage_space/.
98853         (jm_FILE_SYSTEM_USAGE): Take two parameters.
98854
98855         * m4/ftruncate.m4: New file (derived from part of
98856         fileutils/configure.in).
98857         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
98858         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
98859
98860         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
98861         AC_SUBST these here, rather than just in sh-util/configure.in, so
98862         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
98863         all the same.
98864         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
98865         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
98866         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
98867         (AC_SUBST(POW_LIBM)): Likewise.
98868         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
98869
98870 2000-01-23  Jim Meyering  <meyering@lucent.com>
98871
98872         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
98873         obstack.c.
98874
98875 2000-01-22  Jim Meyering  <meyering@lucent.com>
98876
98877         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
98878
98879         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
98880
98881         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
98882         configure.in
98883         (AC_CHECK_HEADERS): Likewise for sh-utils.
98884         (AC_CHECK_HEADERS): Likewise for textutils.
98885         Merge the three lists of headers.
98886
98887         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
98888         from fileutils' configure.in.
98889
98890         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
98891         code. Moved tests into their own function (_jm_DECL_HEADERS) in
98892         check-decl.m4.
98893
98894         * m4/check-decl.m4: Use #if rather than #ifdef.
98895         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
98896         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
98897         (_jm_DECL_HEADERS): Define new function.
98898         (jm_CHECK_DECLARATIONS): Require it.
98899
98900 2000-01-22  Jim Meyering  <meyering@lucent.com>
98901
98902         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
98903         [! HAVE_DECL_STRTOULL]: Declare strtoull.
98904         Required for some AIX systems.  Reported by Christian Krackowizer.
98905         [TESTING] (main): New function.
98906
98907         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
98908         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
98909         letters.
98910
98911         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
98912         iswprint.
98913
98914         * lib/strverscmp.c (ISDIGIT): Define.
98915         (strverscmp): Use ISDIGIT, not isdigit.
98916
98917 2000-01-19  Jim Meyering  <meyering@lucent.com>
98918
98919         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
98920         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
98921         defines `struct timespec' in <sys/time.h>
98922
98923         * m4/c-bs-a.m4: Remove uses of changequote altogether.
98924         Thanks to Akim for explaining.
98925
98926 2000-01-17  Paul Eggert  <eggert@twinsun.com>
98927
98928         * lib/nanosleep.c (nanosleep):
98929         Don't use SA_INTERRUPT to decide whether to call sigaction, as
98930         POSIX.1 doesn't require SA_INTERRUPT and some systems
98931         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
98932         it's been part of POSIX.1 since day 1 (in 1988).
98933
98934 2000-01-17  Jim Meyering  <meyering@lucent.com>
98935
98936         * lib/interlock: Remove unused file.  Reported by François Pinard.
98937
98938 2000-01-16  Paul Eggert  <eggert@twinsun.com>
98939
98940         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
98941         alert, backslash, formfeed, and vertical tab unnecessarily in
98942         shell quoting style.
98943
98944 2000-01-16  Jim Meyering  <meyering@lucent.com>
98945
98946         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
98947         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
98948         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
98949         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
98950
98951 2000-01-16  Jim Meyering  <meyering@lucent.com>
98952
98953         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
98954         because the latter didn't work.
98955
98956 2000-01-15  Jim Meyering  <meyering@lucent.com>
98957
98958         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
98959         (AC_REPLACE_FUNCS): Add memcpy and memset.
98960         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
98961         Add strpbrk.
98962         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
98963
98964 2000-01-12  Jim Meyering  <meyering@lucent.com>
98965
98966         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
98967         (jm_PREREQ): Use it.
98968         (jm_PREREQ_READUTMP): New macro.
98969         (jm_PREREQ): Use it.
98970
98971 2000-01-11  Paul Eggert  <eggert@twinsun.com>
98972
98973         Quote multibyte characters correctly.
98974         * m4/c-bs-a.m4: New file.
98975         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
98976         (jm_PREREQ): Use it.
98977
98978 2000-01-11  Paul Eggert  <eggert@twinsun.com>
98979
98980         * m4/uintmax_t.m4: Port to autoconf 2.13.
98981
98982 2000-01-08  Jim Meyering  <meyering@ascend.com>
98983
98984         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
98985         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
98986
98987 2000-01-04  Jim Meyering  <meyering@ascend.com>
98988
98989         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
98990         jm_STRUCT_DIRENT_D_TYPE.
98991         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
98992         jm_STRUCT_DIRENT_D_INO.
98993         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
98994         jm_STRUCT_UTIMBUF.
98995         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
98996         renamings.
98997         * m4/utime.m4: Likewise.
98998
98999         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
99000         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
99001
99002 2000-01-03  Paul Eggert  <eggert@twinsun.com>
99003
99004         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
99005         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
99006
99007 2000-01-02  Jim Meyering  <meyering@ascend.com>
99008
99009         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
99010         remember if this is necessary.
99011
99012 1999-12-26  Jim Meyering  <meyering@ascend.com>
99013
99014         * m4/jm-macros.m4: Use it here.
99015         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
99016
99017 1999-12-23  Jim Meyering  <meyering@ascend.com>
99018
99019         * m4/jm-macros.m4: Check for clock_gettime (moved from
99020         fileutils/configure.in)
99021         Check for gettimeofday.
99022
99023 1999-12-20  Jim Meyering  <meyering@ascend.com>
99024
99025         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
99026         autoconf-2.14a-1999-12-20.
99027
99028 1999-12-19  Jim Meyering  <meyering@ascend.com>
99029
99030         * m4/lstat-slash.m4: New file.
99031         * m4/jm-macros.m4: Use the new macro:
99032         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
99033
99034 1999-12-07  Jim Meyering  <meyering@ascend.com>
99035
99036         * m4/perl.m4: Require that File::Compare be available, too.
99037         Too many systems seem to lack it.
99038
99039         * m4/strftime.m4: Add checks for most of the cpp macros tested in
99040         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
99041
99042 1999-11-18  Paul Eggert  <eggert@twinsun.com>
99043
99044         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
99045         problem with the QNX 4.25 shell, which doesn't propagate exit
99046         status of failed commands inside shell assignments.
99047
99048 1999-11-17  Jim Meyering  <meyering@ascend.com>
99049
99050         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
99051
99052 1999-11-07  Jim Meyering  <meyering@ascend.com>
99053
99054         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
99055
99056 1999-11-06  Jim Meyering  <meyering@ascend.com>
99057
99058         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
99059         * m4/jm-macros.m4 (jm_MACROS): Use it here.
99060
99061 1999-11-05  Jim Meyering  <meyering@ascend.com>
99062
99063         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
99064         configure.in of textutils, fileutils, and sh-utils into this one
99065         (shared between those packages) file.
99066         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
99067         AC_STRUCT_ST_BLKSIZE.
99068
99069 1999-11-03  Jim Meyering  <meyering@ascend.com>
99070
99071         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
99072         of AC_CHECK_TYPE checks includes unistd.h.
99073         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
99074         Suggestion from Akim Demaille.
99075
99076 1999-10-30  Jim Meyering  <meyering@ascend.com>
99077
99078         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
99079         m4-quoted string.
99080         * m4/ls-mntd-fs.m4: Likewise.
99081         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
99082         * m4/jm-winsz1.m4: Likewise.
99083
99084         * m4/const.m4: Remove file, since the fix made it into the experimental
99085         version of autoconf.
99086         * m4/mktime.m4: Likewise.
99087
99088         * m4/check-type.m4: Remove file, now that the latest version of
99089         AC_CHECK_TYPE takes a third arg to specify additional #includes.
99090
99091         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
99092         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
99093         AC_CHECK_TYPE.
99094
99095 1999-10-04  Jim Meyering  <meyering@ascend.com>
99096
99097         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
99098
99099 1999-09-22  Paul Eggert  <eggert@twinsun.com>
99100
99101         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
99102         2.95.1 bug with HP-UX 10.20.
99103
99104 1999-09-17  Jim Meyering  <meyering@ascend.com>
99105
99106         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
99107         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
99108         due to missing strdup (against sh-utils-2.0).
99109
99110 1999-08-29  Jim Meyering  <meyering@ascend.com>
99111
99112         * m4/jm-macros.m4: Require jm_BISON.
99113         * m4/bison.m4: New file.
99114
99115 1999-08-17  Paul Eggert  <eggert@twinsun.com>
99116
99117         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
99118         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
99119
99120 1999-08-05  Jim Meyering  <meyering@ascend.com>
99121
99122         * m4/getline.m4: Rename test file from conftestdata to conftest.data
99123         to avoid conflicts with `conftest' on 8+3 filesystems.
99124         Suggestion from Eli Zaretskii.
99125
99126 1999-08-04  Jim Meyering  <meyering@ascend.com>
99127
99128         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
99129         fileutils and sh-utils (textutils's getline test was inadequate).
99130         (AM_FUNC_GETLINE): Run this test.
99131         (AC_CHECK_FUNCS): Check for getdelim.
99132         Reported by Bob Proulx.
99133
99134 1999-08-02  Jim Meyering  <meyering@ascend.com>
99135
99136         * m4/jm-macros.m4: Add a comment.
99137
99138 1999-08-01  Paul Eggert  <eggert@twinsun.com>
99139
99140         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
99141         <inttypes.h> defines strtoumax as a macro (and not as a
99142         function).
99143
99144 1999-08-01  Paul Eggert  <eggert@twinsun.com>
99145
99146         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
99147         that we can shift, multiply and divide unsigned long long
99148         values; Ultrix cc can't do it.
99149
99150 1999-08-01  Paul Eggert  <eggert@twinsun.com>
99151
99152         * m4/mktime.m4: New file, which is a preview of what should appear
99153         in the next public autoconf release.
99154
99155 1999-08-01  Paul Eggert  <eggert@twinsun.com>
99156
99157         * m4/lfs.m4: Remove this file.
99158         * m4/largefile.m4: New file.  It contains the old contents of
99159         lfs.m4, except that all names with prefix AC_LFS have been
99160         changed to use the prefix AC_SYS_LARGEFILE instead, to be
99161         compatible with future autoconf versions.  Also, some minor m4
99162         quoting problems have been fixed.
99163
99164 1999-08-01  Paul Eggert  <eggert@twinsun.com>
99165
99166         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
99167         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
99168         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
99169         and simplify the shell code.
99170
99171 1999-08-01  Jim Meyering  <meyering@ascend.com>
99172
99173         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
99174         m4.
99175
99176 1999-07-20  Jim Meyering  <meyering@ascend.com>
99177
99178         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
99179
99180 1999-07-15  Jim Meyering  <meyering@ascend.com>
99181
99182         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
99183
99184 1999-05-22  Jim Meyering  <meyering@ascend.com>
99185
99186         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
99187
99188 1999-05-20  Jim Meyering  <meyering@ascend.com>
99189
99190         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
99191         Add a colon after each `then' in case $4 is empty.
99192
99193 1999-05-16  Jim Meyering  <meyering@ascend.com>
99194
99195         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
99196
99197 1999-05-10  Jim Meyering  <meyering@ascend.com>
99198
99199         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
99200
99201         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
99202         AC_FUNC_MKTIME.
99203
99204 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
99205
99206         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
99207
99208 1999-05-04  Paul Eggert  <eggert@twinsun.com>
99209
99210         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
99211         not CPPFLAGS, so that linking works correctly in IRIX.
99212
99213 1999-04-30  Paul Eggert  <eggert@twinsun.com>
99214
99215         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
99216
99217 1999-04-20  Paul Eggert  <eggert@twinsun.com>
99218
99219         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
99220         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
99221         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
99222         jm_AC_TYPE_UNSIGNED_LONG_LONG.
99223         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
99224
99225         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
99226
99227 1999-04-20  Jim Meyering  <meyering@ascend.com>
99228
99229         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
99230         AC_REPLACE xstroull if necessary.  From Paul Eggert.
99231         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
99232
99233 1999-04-18  Jim Meyering  <meyering@ascend.com>
99234
99235         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
99236         * m4/jm-macros.m4: Use it.
99237
99238 1999-04-06  Jim Meyering  <meyering@ascend.com>
99239
99240         * m4/strftime.m4: Remove test for %f.
99241
99242 1999-03-29  Jim Meyering  <meyering@ascend.com>
99243
99244         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
99245         superset of the AC_TYPE_* checks in the textutils, fileutils,
99246         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
99247         AC_TYPE_PID_T.
99248
99249 1999-03-28  Jim Meyering  <meyering@ascend.com>
99250
99251         * m4/jm-macros.m4: Define GNU_PACKAGE here.
99252         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
99253         replaced e.g., in the *.sh files of the sh-utils.
99254
99255 1999-03-20  Jim Meyering  <meyering@ascend.com>
99256
99257         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
99258         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
99259         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
99260
99261 1999-03-19  Jim Meyering  <meyering@ascend.com>
99262
99263         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
99264
99265 1999-03-12  Jim Meyering  <meyering@ascend.com>
99266
99267         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
99268
99269 1999-03-07  Jim Meyering  <meyering@ascend.com>
99270
99271         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
99272         declared.
99273
99274 1999-02-17  Jim Meyering  <meyering@ascend.com>
99275
99276         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
99277         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
99278
99279 1999-02-07  Jim Meyering  <meyering@ascend.com>
99280
99281         * m4/group-member.m4: New file -- extracted from sh-utils'
99282         configure.in.
99283
99284         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
99285         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
99286
99287 1999-02-06  Jim Meyering  <meyering@ascend.com>
99288
99289         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
99290         * m4/fnmatch.m4: Likewise.
99291         * m4/getgroups.m4: Likewise.
99292         * m4/lstat.m4: Likewise.
99293         * m4/malloc.m4: Likewise.
99294         * m4/putenv.m4: Likewise.
99295         * m4/realloc.m4: Likewise.
99296         * m4/regex.m4: Likewise.
99297         * m4/stat.m4: Likewise.
99298         * m4/strftime.m4: Likewise.
99299         Suggestion from Alain Magloire.
99300
99301         * m4/chown.m4: Use `.$ac_objext', not `.o'.
99302         * m4/fnmatch.m4: Likewise.
99303         * m4/getgroups.m4: Likewise.
99304         * m4/getline.m4: Likewise.
99305         * m4/lstat.m4: Likewise.
99306         * m4/malloc.m4: Likewise.
99307         * m4/memcmp.m4: Likewise.
99308         * m4/putenv.m4: Likewise.
99309         * m4/realloc.m4: Likewise.
99310         * m4/regex.m4: Likewise.
99311         * m4/stat.m4: Likewise.
99312         * m4/strftime.m4: Likewise.
99313         Suggestion from Alain Magloire.
99314
99315         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
99316         an argument.
99317
99318         * m4/regex.m4: Add a run-time Test for proper operation of
99319         re_compile_pattern.
99320
99321 1999-01-31  Jim Meyering  <meyering@ascend.com>
99322
99323         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
99324
99325 1999-01-30  Jim Meyering  <meyering@ascend.com>
99326
99327         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
99328
99329         * m4/jm-mktime.m4: Make this a wrapper around the official
99330         AM_FUNC_MKTIME rather than my private copy, now that the official one
99331         is up to date.
99332         * m4/mktime.m4: Remove file.
99333
99334         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
99335         * m4/uptime.m4: Likewise.
99336         * m4/uintmax_t.m4: Likewise.
99337
99338 1999-01-28  Jim Meyering  <meyering@ascend.com>
99339
99340         * m4/jm-macros.m4: Use jm_AFS.
99341         * m4/afs.m4: New file (from fileutils' configure.in).
99342
99343         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
99344         * m4/chown.m4: Likewise.
99345         * m4/d-ino.m4: Likewise.
99346         * m4/d-type.m4: Likewise.
99347         * m4/fnmatch.m4: Likewise.
99348         * m4/getgroups.m4: Likewise.
99349         * m4/gettext.m4: Likewise.
99350         * m4/jm-mktime.m4: Likewise.
99351         * m4/jm-winsz2.m4: Likewise.
99352         * m4/lcmessage.m4: Likewise.
99353         * m4/ls-mntd-fs.m4: Likewise.
99354         * m4/malloc.m4: Likewise.
99355         * m4/memcmp.m4: Likewise.
99356         * m4/putenv.m4: Likewise.
99357         * m4/realloc.m4: Likewise.
99358         * m4/st_mtim.m4: Likewise.
99359         * m4/strftime.m4: Likewise.
99360
99361 1999-01-16  Jim Meyering  <meyering@ascend.com>
99362
99363         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
99364         (ARGMATCH_DIE_DECL): Define.
99365
99366 1999-01-12  Jim Meyering  <meyering@ascend.com>
99367
99368         * m4/Makefile.am.in: Rewrite to avoid using fmt.
99369         Reported by Lars Hecking.
99370
99371 1999-01-10  Jim Meyering  <meyering@ascend.com>
99372
99373         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
99374         gross kludge.
99375         * m4/inttypes_h.m4: Likewise.
99376         * m4/lstat.m4: Likewise.
99377         * m4/malloc.m4: Likewise.
99378         * m4/readdir.m4: Likewise.
99379         * m4/realloc.m4: Likewise.
99380         * m4/st_dm_mode.m4: Likewise.
99381         * m4/stat.m4: Likewise.
99382         * m4/utimbuf.m4: Likewise.
99383         * m4/utimes.m4: Likewise.
99384
99385         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
99386         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
99387         comments in config.h.in are meaningful.
99388
99389         * m4/jm-macros.m4: Require autoconf-2.13 here.
99390
99391         * m4/regex.m4: By default, don't use the included regex.c on systems
99392         with glibc 2.  Suggestion from Uli Drepper.
99393
99394 1999-01-02  Jim Meyering  <meyering@ascend.com>
99395
99396         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
99397
99398 1998-12-18  Jim Meyering  <meyering@ascend.com>
99399
99400         * m4/Makefile.am.in (Makefile.am): Simplify rule.
99401         Based on a suggestion from Lars Hecking.
99402
99403 1998-11-16  Paul Eggert  <eggert@twinsun.com>
99404
99405         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
99406
99407 1998-11-16  Jim Meyering  <meyering@ascend.com>
99408
99409         * m4/lfs.m4: Double-quote the `uname...` expression.
99410
99411 1998-11-14  Jim Meyering  <meyering@ascend.com>
99412
99413         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
99414         * m4/stat.m4: Likewise.
99415
99416 1998-11-03  Jim Meyering  <meyering@ascend.com>
99417
99418         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
99419         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
99420
99421 1998-10-18  Jim Meyering  <meyering@ascend.com>
99422
99423         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
99424
99425 1998-10-17  Jim Meyering  <meyering@ascend.com>
99426
99427         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
99428         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
99429         calls for those previously hard-coded headers.  Instead, take a new
99430         parameter.
99431         (jm_CHECK_DECLARATIONS): Reflect interface change.
99432         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
99433         (jm_CHECK_DECL_LOCALTIME_R): New macro.
99434
99435         * m4/mktime.m4: Test for spring-forward gap before long-running test.
99436
99437 1998-10-14  Jim Meyering  <meyering@ascend.com>
99438
99439         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
99440         instead of "TZ=America/Vancouver".  From Paul Eggert.
99441
99442 1998-10-11  Jim Meyering  <meyering@ascend.com>
99443
99444         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
99445         This adds a test for a recently added compatibility fix for mktime.c.
99446         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
99447
99448 1998-09-27  Jim Meyering  <meyering@ascend.com>
99449
99450         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
99451
99452         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
99453         ../configure.in, including a change from Gordon Matzigkeit to allow
99454         cross-compiling for the Hurd.
99455
99456         * m4/glibc.m4: New file/macro to test for the GNU C Library
99457         versions 1 and 2.  From Gordon Matzigkeit.
99458         Indent.
99459
99460 1998-09-21  Jim Meyering  <meyering@ascend.com>
99461
99462         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
99463
99464 1998-08-18  Paul Eggert  <eggert@twinsun.com>
99465
99466         Port nanosecond-resolution times to UnixWare 2.1.2 and
99467         pedantic Solaris 2.6.
99468
99469         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
99470         AC_STRUCT_ST_MTIM.
99471         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
99472         Generate name of ns member, instead of just 1 or undef.
99473         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
99474
99475 1998-08-15  Jim Meyering  <meyering@ascend.com>
99476
99477         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
99478         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
99479         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
99480         instead of jm_TYPE_SSIZE_T.
99481
99482 1998-08-12  Jim Meyering  <meyering@ascend.com>
99483
99484         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
99485
99486 1998-08-02  Jim Meyering  <meyering@ascend.com>
99487
99488         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
99489         in acconfig.h manually.
99490
99491 1998-07-31  Paul Eggert  <eggert@twinsun.com>
99492
99493         * m4/st_mtim.m4: New file.
99494
99495 1998-07-28  Jim Meyering  <meyering@ascend.com>
99496
99497         * m4/utimes.m4: Undef stat.
99498
99499 1998-07-25  Jim Meyering  <meyering@ascend.com>
99500
99501         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
99502         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
99503
99504 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
99505
99506         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
99507         uid and gid actually remain unchanged.
99508
99509 1998-07-07  Jim Meyering  <meyering@ascend.com>
99510
99511         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
99512
99513 1998-07-04  Jim Meyering  <meyering@ascend.com>
99514
99515         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
99516         to prove that this macro can be used in packages without regex.c.
99517
99518 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
99519
99520         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
99521         is to be used.
99522
99523 1998-07-03  Jim Meyering  <meyering@ascend.com>
99524
99525         * m4/gettext.m4: Add -lintl if it's found to be necessary.
99526
99527         * m4/gettext.m4: New file -- from gettext-0.10.35.
99528         * m4/lcmessage.m4: Likewise.
99529         * m4/progtest.m4: Likewise.
99530
99531         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
99532         * m4/jm-macros.m4: Require the new macro.
99533
99534 1998-06-29  Jim Meyering  <meyering@ascend.com>
99535
99536         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
99537         for the definition of NGROUPS (used in a system header included
99538         by sys/mount.h).
99539
99540 1998-06-28  Jim Meyering  <meyering@ascend.com>
99541
99542         * m4/ls-mntd-fs.m4: New file.
99543         * m4/fstypename.m4: New file.
99544
99545         * m4/jm-macros.m4: Require the new macro.
99546         * m4/jm-glibc-io.m4: New file.
99547
99548 1998-05-19  Jim Meyering  <meyering@ascend.com>
99549
99550         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
99551         * m4/lchown.m4: New file.
99552
99553         * m4/Makefile.am.in: New file.
99554         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
99555
99556 1998-05-14  Jim Meyering  <meyering@ascend.com>
99557
99558         * m4/Makefile.am (EXTRA_DIST): Add them.
99559         * m4/jm-macros.m4: New file.
99560         * m4/utimbuf.m4: New file.
99561
99562 1998-05-12  Jim Meyering  <meyering@ascend.com>
99563
99564         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
99565
99566 1998-05-11  Jim Meyering  <meyering@ascend.com>
99567
99568         * m4/isc-posix.m4: New file.
99569
99570 1998-05-10  Jim Meyering  <meyering@ascend.com>
99571
99572         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
99573
99574 1998-05-09  Jim Meyering  <meyering@ascend.com>
99575
99576         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
99577         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
99578         with automake.
99579
99580         * m4/ssize_t.m4: New file.
99581         * m4/mktime.m4: Remove file -- the new automake has this now.
99582
99583 1998-04-26  Jim Meyering  <meyering@ascend.com>
99584
99585         * m4/assert.m4: New file.
99586         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
99587
99588 1998-04-05  Jim Meyering  <meyering@ascend.com>
99589
99590         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
99591         (jm_PREREQ): Use it here.
99592
99593 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
99594
99595         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
99596         in acconfig.h.
99597
99598 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
99599
99600         * m4/prereq.m4: New file.
99601         * m4/error.m4: New file.
99602         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
99603
99604 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
99605
99606         * m4/getline.m4: Don't set am_cv_func_working_getline before the
99607         cache-check for the same variable -- that defeated the purpose of
99608         the test; the test program was never run.  This was a problem only
99609         on systems with losing getline functions -- HP-UX 10.20 is one.
99610         Reported by Bjorn Helgaas.
99611
99612 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
99613
99614         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
99615
99616 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
99617
99618         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
99619
99620         * m4/const.m4: New file.  Use an initializer in this declaration
99621         typedef int charset[2]; const charset x;
99622         Reported by Bob Glickstein.
99623
99624 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
99625
99626         * m4/chown.m4: Fix reversed types on -1 args to chown.
99627         From Kaveh Ghazi.
99628
99629 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
99630
99631         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
99632         Add lseek and memchr.
99633
99634         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
99635         T.E.Dickey <dickey@clark.net> said that some older preprocessors
99636         have a 20-character limit on names.
99637
99638 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
99639
99640         * m4/inttypes_h.m4: New file.
99641         * m4/uintmax_t.m4: New file.
99642         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
99643
99644
99645         -----
99646
99647         Local Variables:
99648         coding: utf-8
99649         End:
99650
99651         Copyright (C) 1997-2013 Free Software Foundation, Inc.
99652
99653         Copying and distribution of this file, with or without
99654         modification, are permitted provided the copyright notice
99655         and this notice are preserved.